2011-09-16 7 views
8

私のコードはHTTPSサーバーにアクセスしようとしており、独自の証明書を持っています。たとえば、IPは「10.0.1.101」です。MacCキーチェーンで証明書のlibcurlを表示する方法

Safariにアクセスして「http://10.0.1.101」にアクセスしても問題ありません。私はこのURLに対して単純なcurl_easy_perform()を行い、HTTP URLからデータを取り出すことができます。クール。

「https://10.0.1.101」(はい、HTTPS)にアクセスしようとしましたが、Safariから証明書を受け取り、「信頼」オプションを与えてから、SafariからHTTPS URLへのアクセスはOK。

証明書がMac Keychainに追加されていますが、HTTPS URLでcurl_easy_perform()を試しても、CURLE_SSL_CACERTが返されます。 libcurlは既知のCA証明書でHTTPS証明書を認証できませんでした。

libcurlの証明書検査とMac Keychainの間のリンクは何ですか?リンクさえありますか? libcurlに証明書のMac Keychainを見せることは可能ですか?もしそうなら、どうですか?

+0

CURLOPT_CAINFOオプションを使用してキーチェーンファイルをポイントできますか? – radj

+1

端末に 'security'コマンドがあります。私はあなたがそのコマンドの出力を使って信頼関係を得ることができると思います。 (私は証明書や端末の専門家ではなく、スクリプトで試して、カールで動作します) –

+0

@Marcelo Alves、ありがとう。それは良い出発点のように見えますが、できる場合は、あなたがそれをやった段階を分かち合いますか? – radj

答えて

2

いいえ。 OpenSSLを使用するようにビルドされたlibcurlは、単一のPEMファイルまたはOpenSSL形式のCA証明書のディレクトリからCA証明書を読み込みます。

実装されているMacキーチェーンに特別な魔法はありません。

+2

本当ですか?さて、これは*奇妙な*です。マウンテンライオンを実行している私のマシンは、「うまく動作しています」と証明していますが、私のマシンはヨセミテを走っています。 – Michael

関連する問題