#navi2(RaspberryPi/証明書,toc,prev,next) ---- #contents ---- * クライアント証明書作成 [#i9843829] 事前に [[RaspberryPi/証明書/環境構築]] を実施してください。 ★基本的にサーバー証明書の生成と同じですが、 最後に、クライアント証明書を利用するための、pkcs12 形式のファイルを生成します。 ** 秘密鍵生成 [#h5dd2b3d] openssl genrsa -sha256 -out private/privkey.pem 2048 |INPUT | - | |OUTPUT |private/privkey.pem | オプションの詳細については、下記コマンドで確認ください。 openssl genrsa --help ** CSR生成 [#c538fb1c] openssl req -new -config conf/openssl.cnf \ -key private/privkey.pem \ -days 730 \ -sha256 \ "/C=JP/O=Ehobby/CN=ehobby.jp" \ -out request.csr |INPUT |private/privkey.pem | |OUTPUT |request.csr | ※CNには、ドメイン名を指定します。 オプションの詳細については、下記コマンドで確認ください。 openssl req --help ** 署名(以下は、認証局での作業となります。) [#db680a30] +設定ファイルを生成する。 [[クライアント証明書署名のための設定ファイル>https://ehobby.jp/~kei-n/wiki/edit/index.php?RaspberryPi%2F%E8%A8%BC%E6%98%8E%E6%9B%B8%2F%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89#sa0edb4f]]を参照 +署名する openssl ca -config conf/openssl.cnf \ -extfile conf/openssl_client.cnf \ -extensions sign_client \ -md sha256 \ -policy policy_match \ -days 730 \ -out client.pem \ -infiles request.csr +DER形式ファイルを生成する。(PEM->DER) openssl x509 -inform pem -in client.pem \ -outform der -out client.crt |INPUT |request.csr | |OUTPUT |client.pem , client.crt | オプションの詳細については、下記コマンドを確認ください。 openssl ca --help ** pkcs12 ファイル生成 [#g18e68ee] openssl pkcs12 -export \ -in client.pem \ -inkey private/privkey.pem \ -out client.p12 \ -name "<任意の名前>" ** クライアント認証サーバー用ファイルの作成と設定 [#qab63a3d] +クライアント証明書に署名した認証局が、中間認証局の場合、上位認証局の証明書を連結したファイルを作成します。 cat rootca.pem ca.pem > chain.pem +Apacheの場合、以下の設定をします。 SSLCACertificateFile /var/lib/ssl/ca/chain.pem $ <- 認証局の証明書ファイル SSLCARevocationFile /var/lib/ca/crl/latestcrl.crl # <- CRLのファイルパス <Directory 【クライアント認証が必要なパス】> SSLRequreSSL SSLVerifyClient require SSLVerifyDepth 10 </Directory> ---- #navi2(RaspberryPi/証明書,toc,prev,next)