gitがpemを嫌がる
背景
- 証明書認証が必要なgitリポジトリへ、dockerコンテナ内部からコマンドでgit cloneをしたかった
解決までの流れ
問題発生
git clone https://ほにゃらら
~
Unable to 証明書
Unable to ~エラーメッセージを吐いてcloneが成功しない!
証明書が参照できないと言っているため、署名済みまで含めてすべてgit globalでパスを指定
改めてチャレンジ
$ git config --local http.sslCert /hogehoge.cert.pem
$ git config --local http.sslKey /hogehoge.key.pem
$ git config --local http.sslCaInfo /hogehoge.cert.pem
参考:http://aki2o.hatenablog.jp/entry/2015/01/15/053351
設定を変更後、再チャレンジ
git clone https://ほにゃらら
~
Unable to 証明書
結果:無事死亡
まったく同じエラーを吐かれ原因もわからないのでググったところ、
以下ページにて、pem形式だと拒否されることがあることを知る
参考 : https://code-examples.net/en/q/13ff719
pem形式から普通のrsa形式へと変換!!
参考 : http://d.hatena.ne.jp/ozuma/20130510/1368114329
openssl rsa -in hogehoge.key.pem -text > hogehoge.key
さらにヘッダーとフッターを直書きで修正する。
-----BEGIN PRIVATE KEY-----
↓
-----BEGIN RSA PRIVATE KEY-----
-----END PRIVATE KEY-----
↓
-----END RSA PRIVATE KEY-----
結果:clone成功!!!
キーだけこの形式にしておけば後はpemでおkだった
学び
-
認証局とは、秘密鍵と証明書が発行者によって発行されたことを証明するやつ
-
オレオレ証明書は認証局を自分自身にして作ったのは俺だよ!って叫んで認めさせるやべえやつ
-
証明書は変換できるが、暗号化形式によっては面倒くさそう。
-
暗号化したkeyはずっと見てるとかわいく見えてくる
-
結局gitが何したいのかはおざなり
-
直書き修正が正しいのかは最後まで分からなかった、cloneできたからいいよね