8

SOAPメッセージを含むSSL証明書をサーバーに送信しようとしていますが、cURLが証明書を受け入れるようにすることができただけで(OpenSSLを介して.pfxファイルを配置することで.pemファイルが吐き出されます)、「unable to set private」を返しませんkey file" (明らかに、秘密鍵はその 'バッグ属性' を保持する必要があります) ですが、現在、エキサイティングな新しいエラーが返されています:

SSL 証明書に問題があります。CA 証明書に問題がないことを確認してください。詳細: エラー: 14090086: SSL ルーチン: SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました

CA証明書を次のように設定しようとしました:

curl_setopt($soap_do, CURLOPT_CAINFO, $caFile);

しかし、これは、ルートまたは私が持っている中間 ca ファイルでは結果をもたらしません。

このチェックを無効にするには:

curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, 0);

新しい問題に私をもたらします:

エラー:14094412:SSL ルーチン:SSL3_READ_BYTES:sslv3 アラートの不正な証明書

これは何週間もの間私の悩みの種でした。新しいエラー メッセージは変更を意味しますが、それが進歩を意味するかどうかはわかりません。何が欠けているか/私が間違っているかについてのアドバイスや提案をいただければ幸いです。

4

2 に答える 2

1

sslv3 alert bad certificateCA 情報が欠落していることを意味します。パラメータを使用--cacertして CA 証明書を追加します。

unable to set private key file渡された証明書--certは、公開鍵が秘密鍵と一致しないことを意味します

于 2021-09-10T15:18:55.723 に答える