2.4. OpenSSL を使用した TLS クライアント証明書の秘密鍵と CSR の作成
認証局 (CA) からの有効な TLS 証明書がある場合にのみ、TLS 暗号化通信チャネルを使用できます。証明書を取得するには、最初にクライアントの秘密鍵と証明書署名要求 (CSR) を作成する必要があります。
手順
次の例のように、クライアントシステムで秘密鍵を生成します。
openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out <client-private.key>
$ openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out <client-private.key>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次の例のように、選択したテキストエディターを使用して、CSR の作成を簡素化する設定ファイルを準備します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow extendedKeyUsage = clientAuth
オプションは、証明書の使用を制限します。前に作成した秘密鍵を使用して CSR を作成します。
openssl req -key <client-private.key> -config <example_client.cnf> -new -out <client-cert.csr>
$ openssl req -key <client-private.key> -config <example_client.cnf> -new -out <client-cert.csr>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -config
オプションを省略すると、req
ユーティリティーは次のような追加情報の入力を求めます。You are about to be asked to enter information that will be incorporated into your certificate request. … Common Name (eg, your name or your server's hostname) []: <client.example.com> Email Address []: <client@example.com>
You are about to be asked to enter information that will be incorporated into your certificate request. … Common Name (eg, your name or your server's hostname) []: <client.example.com> Email Address []: <client@example.com>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- 署名のために選択した CA に CSR を送信します。または、信頼できるネットワーク内での内部使用シナリオでは、署名にプライベート CA を使用します。詳細は、OpenSSL でプライベート CA を使用して CSR の証明書を発行する セクションを参照してください。
検証
次の例のように、証明書の中で人間が判読できる部分が要件と一致することを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow