2016-03-22 11 views
0

私は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が動作しているかどうかはわかりません。私は何かを逃しているかもしれない?どんな入力も大きな助けになるでしょう。私の問題のため

おかげ

+0

はlibcurlのバグである可能性があります。 –

+0

fwiw:私はlibcurl 7.42バージョンを使用しています。それがバージョンアップの問題であれば不思議です。 – Swtsvn

+0

代わりにこれをカールライブラリのリストに入れたいかもしれません。機能(誤った固定キーを使用して)は、カールのテスト2035で検証されています。 –

答えて

0

ソリューション:私は7.42から7.48に私のカールライブラリをアップグレードする必要がありました。これにより、問題が修正され、間違った公開鍵が予想される正しいエラーコードが提供されました。

関連する問題