[Develop] https://localhost とクライアント認証を両方を解決しました

in #japanese3 years ago (edited)

image.png

こんにちは、@yasuです。

それでは、mkcertで作成した証明書でクライアント認証を確認してみます。

証明書の目的=サーバー認証の場合

証明書と秘密鍵を出力する。

  • localhost.pem
  • localhost-key.pem

mkcert localhost

image.png

pfxファイル生成に、CAの証明書が必要なので、エクスポートする。

  • ca.cer

image.png

image.png

image.png

localhost.pemを確認する

openssl x509 -text -noout -in localhost.pem

image.png

証明書、秘密鍵、CA証明書で、pfxファイルを生成する

  • localhost.pfx

openssl pkcs12 -export -out localhost.pfx -inkey localhost-key.pem -in localhost.pem -certfile ca.cer

image.png

image.png

証明書(pfxファイル)をインストール
証明書の目的は、サーバー認証と表示されている。
image.png

https://localhostは解決しているが、エラーが発生して、ページを表示できなかった。
image.png

証明書の目的=クライアント認証、サーバー認証の場合

mkcertコマンドで -clientオプションを指定して証明書を作成する。
image.png

localhost-client.pemを確認する
クライアント認証が追加されている。
image.png

pfxファイルを作成する

openssl pkcs12 -export -out localhost-client.pfx -inkey localhost-client-key.pem -in localhost-client.pem -certfile ca.cer

image.png

証明書(pfxファイル)をインストール
今度は、証明書の目的に、クライアント認証が追加されている。
image.png

nginx設定ファイルを編集する。

ssl_certificatelocalhost-client.pem証明書
ssl_certificate_keylocalhost-client-key.pem秘密鍵
ssl_verify_clientonクライアント認証要求
ssl_client_certificateca.cerCA証明書

nano /etc/nginx/sites-available/default

image.png

クライアント証明書の要求があり、ここで選択します。
image.png

無事、ページが表示できました。
image.png

Edgeの場合

image.png

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.080
BTC 61714.34
ETH 1618.58
USDT 1.00
SBD 0.40