このページでは、opensslを使ってクライアント認証に利用するためのクライアント証明書の作成方法について説明します。
まず、クライアント証明書を作成するために、クライアント秘密鍵を作成します。
$ openssl genrsa -aes256 -passout pass:password -out client.pem 2048 $ openssl rsa -passin pass:password -in client.pem -out clientnopass.pem
やり方はサーバ秘密鍵の作成の方法と一緒です。
1行目でパスワードが「password」の秘密鍵を作成し、そして続く2行目でその秘密鍵にかけられているパスワードを解除しています。
秘密鍵にパスワードをかけたままだと、ブラウザなどのクライアントがサーバにアクセスする際にパスワードを聞かれてしまうため、解除しておいたほうが便利です。
次に、先ほど生成したクライアント秘密鍵をもとに、サーバ証明書を認証局に発行してもらうためのCSR(Certificate Signing Request)を作成します。
$ openssl req -new -key clientnopass.pem -out client_csr.pem
最低限入力しなくてはいけないのは以下の情報です。
Country Name | 申請組織のある2文字国コード、日本なら「JP」 |
State or Province Name | 申請組織のある州または都道府県名、「Tokyo」など |
Locality Name | 申請組織のある市区町村名、「Minato-ku」など |
Organization Name | 申請組織名 |
Organizational Unit Name | 組織内の申請部門名 |
Common Name | サーバ証明書を利用するサーバのFQDN、 「www.kishiro.com」など |
Email Address | 申請者のEmailアドレス |
正規の証明書を入手する場合には、このCSRを認証局に送って、クライアント証明書を発行してもらいます。
正規の証明書ではなく、自己署名証明書を作る場合は、「自己署名証明書を生成する(openssl)」を確認してください。
上記の手順で作成した「clientnopass.pem」は、認証局に発行してもらったクライアント証明書と組み合わせて使うため、無くさないよう保管してください。
標準的なブラウザにクライアント証明書のインストールするには、クライアント証明書をp12形式に変更してやる必要があります。
以下のようにして、クライアント秘密鍵とクライアント証明書からp12形式のクライアント証明書を作成します。
$ openssl pkcs12 -export -inkey clientnopass.pem -in client_cert.pem -out client.p12
・「クライアント証明書のp12形式へのエクスポート」の用例に間違いがあったのを修正。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まだ評価がありません |
表示できるメッセージはありません。