postman 纽曼:如何在纽曼请求中发送SSL证书

smdnsysy  于 2023-10-18  发布在  Postman
关注(0)|答案(3)|浏览(217)

我有一个curl命令,我想用纽曼作为一个集合运行:

curl -i -v \
 -H "X-FromAppId: APPLICATION" \
 -H "X-TransactionId: 22222222" \
 -H "Accept: application/json" \
 -H "Content-Type: application/json" \
 --cacert iis_cert_2018_07.pem \
 --key iis_cert_2018_07.pem \
 --cert iis_cert_2018_07.pem \
 -X GET https://iis-udev02.dev.test.com:8443/iis/v1/common/policies/343
 --insecure

我有一个执行GET请求的集合,它在Postman上工作得很好(在UI中配置了证书之后),但是当通过命令行运行集合时,我如何通知纽曼这些证书呢?
我试过:

newman run GETRequest.postman_collection.json  --ssl-client-cert iis_cert_2018_07.pem --ssl-client-passphrase iis_cert_2018_07.pem --insecure

但这不管用。
如何在纽曼请求中发送证书?

eqqqjvef

eqqqjvef1#

你在这里把密钥作为密码传递进去:--ssl-client-passphrase iis_cert_2018_07.pem,应该是--ssl-client-key iis_cert_2018_07.pem
试试看:

newman run GETRequest.postman_collection.json  --ssl-client-cert iis_cert_2018_07.pem --ssl-client-key iis_cert_2018_07.pem --insecure

假设密钥没有使用密码短语加密,并且其他一切都是正确的,这应该可以工作。
相关的纽曼文档在这里:https://www.npmjs.com/package/newman#ssl-client-certificates

xghobddn

xghobddn2#

如果你有加密的密钥,那么你可以使用下面的命令
纽曼运行GETRequest.postman_collection.json --ssl-client-cert iis_cert_2018_07.pem --ssl-client-key iis_cert_2018_07key.pem --ssl-client-passphrase密码

qv7cva1a

qv7cva1a3#

如果你有一个PFX证书,使用--ssl-client-cert将不起作用。
相反,您需要使用--ssl-client-cert-list来提供JSON配置,类似于您在Postman中设置它的方式。
保存类似下面的内容作为ssl-client-cert.json

[
    {
        "name": "xxx",
        "matches": ["https://yyy.com/*"],
        "pfx": {"src": "certifcate.pfx"},
        "passphrase": "mycertpassword"
    }
]

然后运行newman

newman run "xxx" --ssl-client-cert-list "ssl-client-cert.json"

相关问题