[Develop] https://localhost とクライアント認証を両方を解決しました
こんにちは、@yasuです。
それでは、mkcertで作成した証明書でクライアント認証を確認してみます。
証明書の目的=サーバー認証の場合
証明書と秘密鍵を出力する。
- localhost.pem
- localhost-key.pem
mkcert localhost
pfxファイル生成に、CAの証明書が必要なので、エクスポートする。
- ca.cer
localhost.pemを確認する
openssl x509 -text -noout -in localhost.pem
証明書、秘密鍵、CA証明書で、pfxファイルを生成する
- localhost.pfx
openssl pkcs12 -export -out localhost.pfx -inkey localhost-key.pem -in localhost.pem -certfile ca.cer
証明書(pfxファイル)をインストール
証明書の目的は、サーバー認証と表示されている。
https://localhostは解決しているが、エラーが発生して、ページを表示できなかった。
証明書の目的=クライアント認証、サーバー認証の場合
mkcertコマンドで -clientオプションを指定して証明書を作成する。
localhost-client.pemを確認する
クライアント認証が追加されている。
pfxファイルを作成する
openssl pkcs12 -export -out localhost-client.pfx -inkey localhost-client-key.pem -in localhost-client.pem -certfile ca.cer
証明書(pfxファイル)をインストール
今度は、証明書の目的に、クライアント認証が追加されている。
nginx設定ファイルを編集する。
| ssl_certificate | localhost-client.pem | 証明書 |
| ssl_certificate_key | localhost-client-key.pem | 秘密鍵 |
| ssl_verify_client | on | クライアント認証要求 |
| ssl_client_certificate | ca.cer | CA証明書 |
nano /etc/nginx/sites-available/default
Edgeの場合