車輪の再発明でもいいじゃない

フリーランスエンジニアがいろいろ試したりすること

Ubuntu に独自認証局を信頼させる

最近は Mac で開発が主流となってきたせいか、環境構築って Mac 準拠が多いです。

Windows(WSL) 使いには肩身が狭い時代となってきましたね。 個人的にはこだわりないのでどっちでもいいのですが。むしろ Linux ノートとかでよくね?とか思います。

さて、今回は 表題の通りで、cacert.pem ファイルをもらったのでこいつを信頼させる必要があります。手順は以下の通り。Mac だと全部 GUI で すむのでその辺は楽ですね。

  1. pem から crt ファイルを生成する
  2. crt ファイルを特定の場所に配置し、config を書きかえる
  3. config を再読み込みさせる

さて、やっていきましょう。

1. pem から crt ファイルを生成する

$ openssl x509 -outform der -in cacert.pem -out cacert.crt

2. crt ファイルを特定の場所に配置し、config を書きかえる

$ sudo mkdir /usr/share/ca-certificates/project-X
$ sudo cp cacert.crt  /usr/share/ca-certificates/project-X/

/usr/share/ca-certificates/ には mozila のフォルダがありますが、こいつには手を出しません。

mozila の設定がすでに記載されているので、末尾に今回のものを追加しましょう。 /usr/share/ca-certificates/ からの相対パスで記載します。

$ sudo vim /etc/ca-certificates.conf

・・・省略・・・
mozilla/certSIGN_ROOT_CA.crt
mozilla/ePKI_Root_Certification_Authority.crt
mozilla/thawte_Primary_Root_CA.crt
mozilla/thawte_Primary_Root_CA_-_G2.crt
mozilla/thawte_Primary_Root_CA_-_G3.crt

# 以下を今回追加する
project-X/cacert.crt

3. config を再読み込みさせる

$ sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping cacert.pem,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

Adding debian:cacert.pem
done.
done.

1 added となっているので念のため追加した証明書にパスが張られているか確認します

$ ll /etc/ssl/certs/ | grep project
lrwxrwxrwx 1 root     48  7月 20 16:52 cacert.pem -> /usr/share/ca-certificates/project-X/cacert.crt*

以上です。楽しい開発ライフを