- 追加された行はこの色です。
- 削除された行はこの色です。
#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)