Opensslを使用した双方向の証明書認証を使用したいと考えています。
次のようにs_serverを開くと、クライアントは私のサーバーに接続できます。
openssl s_server -accept 12345 -cert our-cert.pem
(our-cert.pemは私たちの証明書です。)
これは正常に機能します。ただし、私の要件は次のとおりです。
私はこれを試しました:
openssl s_server -accept 12345 -cert our-cert.pem -CApath /etc/ssl/certs/
これにより、クライアントは接続できます。しかし、私の質問は次のとおりです。
CAをテストするには、次を使用します。
/usr/local/ssl/bin/openssl s_server -accept 7569 -cert /opt/GCTI/cert/Host1_cert.pem -CAfile /opt/GCTI/cert/ca_cert.pem -key /opt/GCTI/cert/Host1_priv_key.pem
-cert is the public key file for this Host
-key is the private key file for this Host
-CAfile is the CA file, needed for self signed certificate
-port is the port number to open up
これにより、指定された証明書を使用したTLS接続を受け入れるリッスンポート7569が開きます。
cAが有効でない場合、最後の行は次のようになります。
Verify return code: 21 (unable to verify the first certificate)
このサーバーに接続するには、完全なエンドツーエンドのテスト(実際には質問ではありません)
openssl s_client -showcerts -connect Host1:7569 -CAfile /opt/GCTI/cert/ca_cert.pem
host1を実際のホストに置き換えます。これにより、TLSサービスが有効であり、同じCAによって署名された証明書が実行されていることが確認されます。