私はCURLOPT_PINNEDPUBLICKEYを使用して証明書を固定しています。私はまた、CURLOPT_SSL_VERIFYPEERを1に設定し、CURLOPT_SSL_VERIFYHOSTをドキュメントで述べたように設定します。CURLOPT_PINNEDPUBLICKEYが有効でない
CURLOPT_PINNEDPUBLICKEYのcurl docsに記載されているように、宛先サーバーの証明書ファイルを取得し、sha256 base64文字列を作成しました。有効なsha文字列を "sha256 // sddgdSDFSQWbGGRFr9rugEih7jghJwjj0xqcvbo ="に設定するか、この文字列で少数の文字を変更し、それをPINNEDPUBLICKEYとして設定すると、curl呼び出しが成功します。無効なshaがCURLE_SSL_PINNEDPUBKEYNOTMATCHというエラーになることを期待していました。しかし、それはしませんでした。
クロムブラウザから証明書をファイルとファイルに保存し、curl opt PINNEDPUBLICKEYへのパスを指定しました。まだ有効なキーと無効なキーは、両方とも成功します。
無効な文字列はエラーになりませんか? PINNEDPUBLICKEYが動作しているかどうかはわかりません。私は何かを逃しているかもしれない?どんな入力も大きな助けになるでしょう。私の問題のため
おかげ
はlibcurlのバグである可能性があります。 –
fwiw:私はlibcurl 7.42バージョンを使用しています。それがバージョンアップの問題であれば不思議です。 – Swtsvn
代わりにこれをカールライブラリのリストに入れたいかもしれません。機能(誤った固定キーを使用して)は、カールのテスト2035で検証されています。 –