- 追加された行はこの色です。
- 削除された行はこの色です。
#navi2(RaspberryPi/証明書,toc,prev,next)
----
#contents
----
* CA証明書作成 [#kc254dff]
事前に[[環境構築>RaspberryPi/証明書/環境構築]]を実施しておく必要があります。
ここでは、ルート認証局用のCA証明書作成方法を記載します。
中間認証局用 CA証明書作成については、[[証明書署名要求(CSR)作成と署名>RaspberryPi/証明書/証明書署名要求(CSR)作成と署名]]を参照ください。
* CA証明書作成 [#ba17c02e]
事前に [[RaspberryPi/証明書/環境構築]] を実施してください。
** ルート認証局用 CA証明書作成 [#w8b53465]
** 秘密鍵生成 [#g300a382]
openssl genrsa -sha256 -out private/privkey.pem 2048
次のコマンドを実行します。
&color(red){''★<>の部分は適宜変更のこと。''};
#
# 1. 設定
#
# CERT=rootca (固定)
#
# HASH=<ハッシュアルゴリズム>
# -sha1 : SHA-1
# -sha256 : SHA-2 ★推奨
# ※-md5 のような指定も可能であるが、通常指定しません。
#
# KEY=<
# DAYS=<証明書の有効期限日数>
#
# SUBJ=<識別情報>
# 識別情報には、次のような情報を指定する。
# /C=国/ST=都道府県/L=市町村/O=組織/OU=部門/CN=コモンネーム
#
CERT=rootca
HASH=-sha256
DAYS=720
SUBJ="/C=JP/O=<組織>/CN=<コモンネーム(例:XXX Root CA)>"
#
# 2. 秘密鍵と証明書を生成
openssl req -new \
-x509 \
-config ./openssl.cnf \
-out ca/${CERT}.pem \
-extensions cert_${CERT} \
-days ${DAYS} \
-keyout ca/private/cakey.pem \
-subj "${SUBJ}"
#
# 3. 秘密鍵の権限を自分しかアクセスできないように変更
chmod 600 ca/private/cakey.pem
#
# 4. der 形式ファイルの生成 (ブラウザ等に取り込むための形式)
openssl x509 -inform pem -in ca/${CERT}.pem -outform der -out ca/${CERT}.der
|INPUT | - |
|OUTPUT |private/privkey.pem |
**生成された証明書の確認 [#zbedddda]
次のコマンドで証明書の内容を確認できます。
openssl x509 -text -noout -in ca/${CERT}.pem
オプションの詳細については、下記コマンドで確認ください。
openssl genrsa --help
** 参考情報 [#qfc641fb]
***証明書のエンコード形式について [#m5616f0c]
拡張子 .pem, .der は証明書のエンコード形式を表します。
-DER (Distinguished Encoding Rules)
ASN.1 のバイナリエンコード方式の1つ。
.cer, .crt の拡張子となっている場合があります。
-PEM (Privacy Enhanced Mail)
BASE64にてエンコードした形式。
さまざまな種類の X.509 v3 ファイルに使用されます。
** CSR生成 [#ue978134]
openssl req -new -config conf/openssl.cnf \
-key private/privkey.pem \
-days 730 \
-sha256 \
"/C=JP/O=Ehobby/CN=Ehobby Root CA" \
-out request.csr
***証明書の種類について [#r20c2e82]
-CRT
証明書には、CRT拡張子が使用されます。証明書は、バイナリのDERまたはASCIIのPEMとしてエンコードできます。
-CER
CRTの代替形式。
-KEY
公開鍵と秘密鍵の両方のPKCS#8鍵に使用されます。
キーはバイナリDERまたはASCIIのPEMとしてエンコードできます。
|INPUT |private/privkey.pem |
|OUTPUT |request.csr |
オプションの詳細については、下記コマンドで確認ください。
openssl req --help
** 署名(自己署名) [#zac989fa]
openssl x509 -req -sha -extfile conf/openssl.cnf \
-extensions v3_ca \
-days 730 \
-out cacert.pem \
-in request.csr \
-signkey private/privkey.pem
openssl x509 -inform pem -in cacert.pem \
-outform der -out cacert.crt
|INPUT |private/privkey.pem, request.csr |
|OUTPUT |cacert.pem , cacert.crt |
オプションの詳細については、下記コマンドを確認ください。
openssl x509 --help
----
#navi2(RaspberryPi/証明書,toc,prev,next)