我正在尝试使用.PEM证书进行身份验证时,从Node / Express服务器向电子商务提供商发出POST请求,该证书是我根据他们的指示使用openssl从.p12文件转换而来的。提供程序应该返回唯一的交易ID。
我尝试使用如下所示的“请求”模块,但每次都会收到“错误证书”错误。我尝试使用agentOptions,不使用agentOptions,检查.pem文件是否正确读取,等等。
Error: write EPROTO 140059546118016:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1407:SSL alert number 42
const options = {
url: "https://ecommerce.com:12345/some/route",
agentOptions: {
passphrase: process.env.MY_PASSPHRASE,
ca: fs.readFileSync("./ssl/certificate.pem")
},
rejectUnauthorized: false,
form: {
amount: 100,
currency: 981
}
};
await request.post(options, (err, res, body) => {
console.log({ err, res, body });
});
我是Node.js的新手,并且对SSL还是比较新的:(如果我没有正确解释或理解这一点,我深表歉意。任何帮助/指导将不胜感激。