40

curl を使用して、公開証明書ファイルを使用して https サイトからデータをダウンロードしています。

システムインフォメーション:

  • OS:フェドラ 14
  • カール:カール 7.30.0
  • openssl: OpenSSL 1.0.0a-fips

コマンドは、

curl -v "https://<ip:<port>" --cert "./cert.pem" --cacert "./cacert.pem" --cert-type PEM
* About to connect() to kng.com port 443 (#0)
*   Trying 11.19.37.123...
* Adding handle: conn: 0x8189e68
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x8189e68) send_pipe: 1, recv_pipe: 0
* Connected to fkng.com (11.19.37.123) port 443 (#0)
* unable to set private key file: './cert.pem' type PEM
* Closing connection 0
curl: (58) unable to set private key file: './cert.pem' type PEM

ファイルにすべての許可を与えましたが.pem、まだカールはエラーをスローしています。

4

5 に答える 5

29

使用したオプションに関する cURLドキュメントを読んだ後、証明書の秘密鍵が同じファイルにないようです。別のファイルにある場合は、 --key file を使用して言及し、パスフレーズを指定する必要があります。

そのため、cert.pem に (証明書と共に) 秘密鍵があることを確認するか、 --key オプションを使用して提供してください。

また、このドキュメントでは、このオプションは、秘密鍵と秘密証明書が連結された「証明書」ファイルを想定していることに注意してください。

それらはどのように連結されていますか?とても簡単です。それらを同じファイルに次々と入れます。

詳細については、こちらを参照してください。

私はこれがあなたを助けるかもしれないと信じています.

于 2013-05-18T18:54:22.587 に答える