ウェブサービスの開発をしていると、プログラムの中で HTTP で通信をするために cURL を使うことが多いと思います。
PHP からも cURL を使うための 便利なライブラリ があります。
普通の HTTP のリクエストを投げる場合は用意されたものをそのまま使えばいいのですが、HTTPS で通信を行いたい場合は、サイトによっては証明書が必要だったりします。
素のままの状態で、例えば https://mixi.jp/ にアクセスすると、次のようなエラーでアクセスすることができません。
% curl 'https://mixi.jp/'
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
cURL – Details on Server SSL Certificates によると、cURL には初期状態では証明書が入っていないようです。
Until 7.18.0, curl bundled a severely outdated ca bundle file that was installed by default. These days, the curl archives include no ca certs at all. You need to get them elsewhere.
なので、必要に応じて証明書を追加してやります。
上記の cURL のドキュメントによると、証明書を取得する方法はいくつかあるようなのですが、どれもうまくいかなかったので、試行錯誤の結果、うまくいった方法をここに書いておくことにします。
まず、お目当てのページに普通のウェブブラウザでアクセスします。ここでは Mac の Firefox を使うことにします。

ここで、右下にある鍵マークをダブルクリックして、Page Info の窓を出します。

Security タブに View Certificate というボタンがあるので、それをクリックし、詳細画面を出します。

Certificate Fields のどこかをクリックして選択しておいて、左下の Export ボタンをクリックします。

証明書の保存形式を聞かれるので、X.509 Certificate with chain (PEM)を選択します。ここが重要です。
1つ上の X.509 Certificate (PEM) でよさそうですが、これだとうまくかないです。
ただの PEM だと証明書が1つしか入っていませんが、with chain の方だと3つ入っていて、これが何らかの意味があるみたいです。
証明書に適当な名前をつけて保存します。ここでは mixi.crt としておきます。
必要な証明書を入手したら、これを既存の証明書ファイルに追加してやります。
上記の cURL のドキュメントによると、cURL では証明書を一切持っていないと書いてありましたが、FreeBSD の ports や CentOS の rpm で入るパッケージにはいくつかの証明書が入っていました。
FreeBSD の cURL は、証明書を /usr/local/share/curl/curl-ca-bundle.crt から読み込んでいるので、ここに先ほどの mixi.crt を追加してやります。
# cat mixi.crt >> /usr/local/share/curl/curl-ca-bundle.crt
curl-ca-bundle.crt は root でないと書き込めないので、root 権限で作業するなり、一時的のパーミッションを変更するなりして作業をします。
curl-ca-bundle.crt の PATH は cRUL をコンパイルする時にオプションで指定できるようになっていて、システムによって PATH が違う場合があります。
FreeBSD では /usr/local/share/curl/curl-ca-bundle.crt に設定されていて curl の ports パッケージに含まれていましたが、CentOS では /usr/share/ssl/certs/ca-bundle.crt に設定されていて、curl ではなく openssl のパッケージに含まれていました。
curl-ca-bundle.crt の PATH がわからない時には、libcurl.so の中を直接覗いてやると、それらしい文字列が含まれています。
% strings /usr/local/lib/libcurl.so.4 | grep bundle
/usr/local/share/curl/curl-ca-bundle.crt
証明書を追加した後では、ちゃんとアクセスできるようになります。
以上、curl で https でアクセスするための証明書を追加する方法でした。
Posted in the Uncategorized category.
[...] cURL に HTTPS でアクセスできるように証明書を追
Posted on August 22nd, 2008.
[...]
Posted on August 24th, 2008.
Блог отличный. Надо бы Вам награду вручить за него или просто орден почета. :)
Posted on September 23rd, 2009.
Very nice site! [url=http://opxaiey.com/oyyrxyy/2.html]cheap cialis[/url]
Posted on September 24th, 2009.
Very nice site!
Posted on September 24th, 2009.
Меня это не беспокоит.
Posted on October 25th, 2009.
Интересно, развейте..! )
Posted on October 26th, 2009.
ни че се коментов
Posted on October 26th, 2009.
Конечно, никогда нельзя быть уверенным.
Posted on October 27th, 2009.
Ну и чё с ними делать… Меня достали на моём блоге я устала вычищать…
Posted on October 28th, 2009.
Ñîâðåìåííàÿ ÑÒÎ ýôôåêòèâíî è êà÷åñòâåííî âûïîëíÿåò ñâîè ôóíêöèè ïðè ïîìîùè ðàçëè÷íîãî âèäà îáîðóäîâàíèÿ…
àâòîðåìîíò…
Posted on January 17th, 2010.
çàðàáîòîê â èíòåðíåòå…
èíñòðóêòîð…
Posted on February 7th, 2010.
Ïÿòèçâåçäî÷íûå îòåëè Åãèïòà…
Åãèïåò – æåì÷óæèíà ìèðîâîé êóëüòóðû…
Posted on February 9th, 2010.
Âèäû âåíòèëÿöèîííîãî îáîðóäîâàíèÿ…
Ñèñòåìû âåíòèëÿöèè…
Posted on February 14th, 2010.
Ãîðîä Ñèäå ðàñïîëîæåí íà ïîëóîñòðîâå â 75 êì îò Àíòàëüè…
Îòåëè ãîðîäà Ñèäå…
Posted on February 16th, 2010.
Ãîà íàõîäèòñÿ íà çàïàäå Èíäèè…
Ìóçûêà, òàíöû, ïðèêëàäíîå è óñòíîå òâîð÷åñòâî ãëóáîêèìè êîðíÿìè óõîäÿò â äóøó Ãîà, à ðèòìû ïóëüñèðóþò â ñåðäöàõ åãî æèòåëåé…
Posted on February 17th, 2010.
Êëàññèôèêàöèÿ è íàçíà÷åíèå êàáåëåé…
Ýëåêòðîêàáåëè…
Posted on February 17th, 2010.
Îòåëè Àëàíèè…
Êóðîðòû Òóðöèè…
Posted on February 18th, 2010.
Ïèëîðàìû…
Áð¸âíîïèëüíûå äèñêîâûå ñòàíêè…
Posted on February 20th, 2010.
Ïàðèæ – ñòîëèöà Ôðàíöèè…
Ïðîâåäèòå îòïóñê âî Ôðàíöèè…
Posted on February 22nd, 2010.
Ïðàãà – Ãîðîä ñîòíè øïèëåé…
Ïðàãà – ñòîëèöà ×åõèè…
Posted on February 23rd, 2010.
Êàíàðñêèå îñòðîâà…
Âàëåíñèÿ…
Posted on February 24th, 2010.
Ãèäðàâëè÷åñêèå íàñîñû…
Íàñîñû è ãèäðàâëè÷åñêîå îáîðóäîâàíèå…
Posted on February 25th, 2010.
ïíåâìîàâòîìàòèêà…
Ïðîìûøëåííîå èñïîëüçîâàíèå ïíåâìàòèêè íà÷àëîñü áîëåå ñòà ëåò íàçàä…
Posted on February 26th, 2010.
Ìåêñèêà âîïëîùåíèå èäåàëüíîãî òóðèñòè÷åñêîãî íàïðàâëåíèÿ…
Ìåêñèêà ðàñïîëàãàåò ïî-íàñòîÿùåìó óíèêàëüíûìè âîçìîæíîñòÿìè äëÿ âñåõ âèäîâ òóðèçìà…
Posted on February 27th, 2010.
Ìåäèöèíñêèå èçäåëèÿ…
Ìåäèöèíñêàÿ òåõíèêà…
Posted on February 28th, 2010.
×åì òóðèñòîâ ïðèâëåêàåò Èñïàíèÿ…
5 äîâîäîâ çà îòäûõ â Èñïàíèè…
Posted on February 28th, 2010.
Îáùàÿ èíôîðìàöèÿ î Òóíèñå…
Äîñòîïðèìå÷àòåëüíîñòè Òóíèñà…
Posted on March 3rd, 2010.
Îáùàÿ èíôîðìàöèÿ î ×åðíîãîðèè…
Äîñòîïðèìå÷àòåëüíîñòè ×åðíîãîðèè…
Posted on March 3rd, 2010.
Êëàññèôèêàöèÿ ñòàíêîâ è îáîðóäîâàíèÿ ïî ìåòàëëó…
Ìåòàëëîðåæóùèé ñòàíîê…
Posted on March 5th, 2010.
Ïóòåøåñòâèå â Òàéëàíä…
Âåëèêîëåïíûé îòäûõ â Òàéëàíäå…
Posted on March 6th, 2010.
Óëüòðàçâóêîâîé íåðàçðóøàþùèé êîíòðîëü…
Óëüòðàçâóêîâûå ïðèáîðû…
Posted on March 7th, 2010.
Òàõåîìåòðû ýëåêòðîííûå…
Òåîäîëèòû ýëåêòðîííûå…
Posted on March 13th, 2010.
Êîìïüþòåðû äëÿ ìîíòàæà â ïàíåëè óïðàâëåíèÿ…
Îäíîïëàòíûå ïðîìûøëåííûå êîìïüþòåðû…
Posted on March 15th, 2010.
Ëó÷øèå ïëÿæè Þæíî-Êèòàéñêîãî ìîðÿ…
Âüåòíàì – ñòðàíà ñ äðåâíåéøåé èñòîðèåé è êóëüòóðîé…
Posted on March 16th, 2010.
Îáîðóäîâàíèå ìåëüíè÷íî-ýëåâàòîðíîå è êðóïÿíîå…
Îáîðóäîâàíèå äëÿ ìàñëîæèðîâîé ïðîìûøëåííîñòè…
Posted on March 17th, 2010.
Âûäóâíîå îáîðóäîâàíèå…
Ýòèêåòèðîâî÷íîå îáîðóäîâàíèå…
Posted on March 18th, 2010.
Èíôîðìàöèÿ î Êèòàå…
Èíôîðìàöèÿ î ßïîíèè…
Posted on March 19th, 2010.
Êðèò – ñàìûé áîëüøîé îñòðîâ Ãðåöèè…
Îñòðîâ Êðèò – ýòî äðàãîöåííàÿ ÷àñòü èñòèííî ãðå÷åñêîé çåìëè…
Posted on March 20th, 2010.
Âåñû ïðîñòîãî âçâåøèâàíèÿ…
Òîðãîâûå âåñû…
Posted on March 22nd, 2010.
Òîêàðíûå, ñâåðëèëüíûå, øëèôîâàëüíûå è çàòî÷íûå ñòàíêèü…
Îñîáåííîñòè òîêàðíûõ ñòàíêîâ ñ ×ÏÓ…
Posted on March 24th, 2010.
Îòåëè Àâñòðèè: Âåíà, Çààëüáàõ, Çàëüöáóðã, Çîëüäåí, Èøãëü…
Âåíà – ãîðîä ðîñêîøíûõ äâîðöîâ, âåëè÷åñòâåííûõ ïëîùàäåé, æèâîïèñíûõ óëî÷åê…
Posted on March 25th, 2010.
Îáîðóäîâàíèå äëÿ ìîíòàæà ñòàëüíûõ òðóá…
Èíñòðóìåíò äëÿ ïðåññ-ôèòèíãà…
Posted on March 26th, 2010.
Êîíòðîëüíî-èçìåðèòåëüíûå ïðèáîðû Yokogawa…
Àíàëèçàòîðû Yokogawa…
Posted on March 27th, 2010.
[...] 対応させたかったのですが、 cURL に HTTPS でアクセスできるように証明書を追加する [...]
Posted on May 28th, 2010.
Обсуждение…
Ссылаясь на автора публикации…
Posted on June 6th, 2010.
С…
.. начиная …..
Posted on June 12th, 2010.
PR…
принимая во вн……
Posted on June 30th, 2010.
PillSpot.org. Canadian Health&Care.Special Internet Prices.No prescription online pharmacy.Best quality drugs. High quality drugs. Buy drugs online…
Buy:Amoxicillin.Seroquel.Benicar.SleepWell.Nymphomax.Lipothin.Acomplia.Aricept.Cozaar.Lasix.Ventolin.Female Pink Viagra.Prozac.Female Cialis.Zocor.Buspar.Wellbutrin SR.Lipitor.Advair.Zetia….
Posted on July 3rd, 2010.
Ставка…
оклад ……
Posted on July 9th, 2010.
Проэкт…
хоз ……
Posted on July 13th, 2010.
Ланч…
экон ……
Posted on July 14th, 2010.
Ворд…
ариф ……
Posted on July 20th, 2010.
Leave a Reply
You must be logged in to post a comment.