我正在呼叫需要 HTTPS 基本身份驗證和認證的 API。該證書有一個密碼。這是我的config變數:
const cert = fs.readFileSync('path.pem');
const config = {
method: 'POST',
cert: cert,
passphrase: '...',
auth: 'user:pwd',
headers: {
'Content-Type': 'application/xml'
}
}
呼叫 時http.request(url, config, callback),我不斷拋出此錯誤(在物件'error'事件上http.request):
"errorMessage": "Error: Error: Error: write EPROTO 140627217733568:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1545:SSL alert number 40\n"
我也試過await讀取.pem檔案。一樣。
我只需要知道我是否正確插入了所有身份驗證。然后我可以知道那不是問題。
我是否正確輸入了 HTTPS 基本身份驗證和帶密碼的證書?
嘗試對 API 進行安全呼叫,預期結果正常,但出現 SSL 握手錯誤。
uj5u.com熱心網友回復:
將證書放在cert現場對于雙向 TLS 連接是不夠的。您應該有一個pem檔案,其中還包含一個私鑰。然后,您應該向您添加一個key選項config并傳遞pem包含私鑰的檔案的內容。我認為這應該足夠了,但是您可能需要調整一些其他設定才能使其正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/535531.html
上一篇:lower()在None上被呼叫
