2
.p12
ファイルを使用してエンドポイントに安全に接続しようとしましたが、次のエラーが発生し続けます。P12証明書「データ不足」エラー
_tls_common.js:136
c.context.loadPKCS12(pfx);
^
Error: not enough data
at Error (native)
at Object.createSecureContext (_tls_common.js:136:17)
at Object.TLSSocket._init.ssl.onclienthello.ssl.oncertcb.exports.connect (_tls_wrap.js:1003:48)
at Agent.createConnection (https.js:80:22)
at Agent.createSocket (_http_agent.js:179:26)
at Agent.addRequest (_http_agent.js:141:10)
at new ClientRequest (_http_client.js:147:16)
at Object.exports.request (http.js:31:10)
at Object.exports.request (https.js:197:15)
at Request.start (D:\path_to_project\node_modules\request\request.js:747:30)
エラーを生成するコードはこれです:
request({
method: 'POST',
url: config.secureEndpoint.hostname + config.secureEndpoint.path,
body: XMLAPIResponse.body,
rejectUnauthorized: false,
strictSSL: false,
agentOptions: {
//pfx: pfx,
pfx: 'string_path_to_the_p12_key_file.p12',
passphrase: 'redacted_password'
}
}, function (error, response, body) {
console.log(response);
if (response.satusCode == 200) {
model.updateStatus(ID, 'done');
} else {
model.updateStatus(ID, 'error');
}
});
私はhttps.requestメソッドを使用して試してみたが、それは同じ結果が得られます。私はウェブを検索して解決策を探しましたが、私は空の手を挙げました。
PFX \ P12キーの問題は、私が第三者からキーを受け取ったことを考えると、遠くまでフェッチされない可能性があります。私が考えることができる唯一のことは、openSSLを使用してキーフォーマットを変換し、それが動作するかどうかを確認することです。どんな提案や助けも大歓迎です。