CygwinでHTTPSの自己署名証明書を信頼する
メモ。
ローカルに立てたサーバに対して git push
しようとして SSL certificate problem
になること有るよね。
$ git push --all testing
fatal: unable to access 'https://...': SSL certificate problem: self signed certificate
何故か世間では git config http.sslVerify false
せよという表記が多いけど、別に自己署名証明書を信頼するのは超簡単なのでそちらを勧める。
自己署名証明書を信頼する
これは trust
コマンド一発で完了する。
trust anchor certificate.cer
certificate.cer
は公開鍵ファイルで、nginxであれば ssl_certificate
オプションで指定しているファイルが相当する。中身は
-----BEGIN CERTIFICATE-----
MIIEqjCCApICCQDsBM+2LKS6/TANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDDAxz
dHJpcGUubG9jYWwwHhcNMTgwOTIyMTAzOTQyWhcNMjgwOTE5MTAzOTQyWjAXMRUw
EwYDVQQDDAxzdHJpcGUubG9jYWwwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
AoICAQDpMYXQ83m4DC4Fvw11Uqnawhm160CFW91yFYwD1TX84dQQ0CUUxlUDF9vb
のような内容のテキストファイルとなる。つまり、sshの authorized_keys
に足すくらい簡単にできる。
一度追加した自己署名証明書を削除するには:
trust anchor --remove certificate.cer
のように、オプション --remove
を使う。
trust
って何
trust
は Cygwinの p11-kit-trust
パッケージに含まれるツールで、通常は ca-certificate
(SSL証明書を含む) パッケージ経由でインストールされている。 https://cygwin.com/packages/summary/ca-certificates.html
$ cygcheck -f /usr/bin/trust
p11-kit-trust-0.23.15-1
この p11-kit
はGitHubにプロジェクト( https://github.com/p11-glue/p11-kit )があり、ドキュメントもそこからアクセスできる。 https://p11-glue.github.io/p11-glue/p11-kit/manual/trust.html
伝統的には、RedHat系のディストリビューションでは update-ca-trust
でこの手の処理を行っていたが、現在のCygwinではこの操作が p11-kit で行われるようになっている。
Author And Source
この問題について(CygwinでHTTPSの自己署名証明書を信頼する), 我々は、より多くの情報をここで見つけました https://qiita.com/okuoku/items/4bc3a62b27ba40f2d2fc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .