bitbucketを使用する際にSSLの警告が出るのを解消する
FreeBSDなどの一部のOSでは、bitbucketにあるMercurialのレポジトリをHTTPS経由で操作しようとすると警告が出る。
そのまま無視して使うことも可能だが、鬱陶しいので原因を解消する。
/home/mapi% hg clone https://mapi@bitbucket.org/mapi/poem
警告: bitbucket.org の証明書(fingerprint は 81:2b:08:90:dc:d3:71:ee:e0:7c:b4:75:ce:9b:6c:48:94:56:a1:fe)検証は省略 (設定ファイルの hostfingerprints ないし web.cacerts 設定を確認のこと)
HTTP 認証を要求しました
認証領域: Bitbucket.org HTTP
ユーザ: mapi
パスワード:
こんな警告がでる
ルート証明書を入れる
原因を要約すると「このサイトを身元を証明するルート証明書がありませんよ」ということなので、自分でルート証明書をインストールすれば良い。
Chromeなどでhttps://bitbucket.orgにアクセスして証明書情報を表示すると、Equifax Secure Certificate Authorityが上位の証明書と出る。
Equifax社の証明書は現在GeoTrustが管理しているのようなので、そちらより入手する。
http://www.geotrust.com/resources/root-certificates/index.html
Root 1 - Equifax Secure Certificate Authorityのところからダウンロードする。2種類のファイル形式で提供されているが、気にせず1番目のリンクからDLしたら使えた。
ダウンロードしたファイルはFreeBSDならば /usr/local/share/mercurial 以下に置くのが良さそう。
証明書のパーミッションは適切に設定する。書き込み権限を他人に与えないこと。
mkdir -m 755 -p /usr/local/share/mercurial/certs
cd /usr/local/share/mercurial/certs
fetch http://www.geotrust.com/resources/....
chmod 644 Equifax_Secure_Certificate_Authority.cer
以下を~/.hgrcあたりに追記する
[web]
cacerts = /usr/local/share/mercurial/certs/Equifax_Secure_Certificate_Authority.cer
以上の作業で警告がでなくなる