#navi2(RaspberryPi/証明書,toc,prev,next) ---- #contents ---- * CA証明書作成 [#kc254dff] 事前に[[環境構築>RaspberryPi/証明書/環境構築]]を実施しておく必要があります。 ここでは、ルート認証局用のCA証明書作成方法を記載します。 中間認証局用 CA証明書作成については、[[証明書署名要求(CSR)作成と署名>RaspberryPi/証明書/証明書署名要求(CSR)作成と署名]]を参照ください。 ** ルート認証局用 CA証明書作成 [#w8b53465] 次のコマンドを実行します。 &color(red){''★<>の部分は適宜変更のこと。''}; # # 1. 設定 # # CERT=rootca (固定) # # HASH=<ハッシュアルゴリズム> # -newkey rsa:2048 : SHA-1 # -sha256 : SHA-2 ★推奨 # # 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 \ ${HASH} \ -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 **生成された証明書の確認 [#zbedddda] 次のコマンドで証明書の内容を確認できます。 openssl x509 -text -noout -in ca/${CERT}.pem ** 参考情報 [#qfc641fb] ***証明書のエンコード形式について [#m5616f0c] 拡張子 .pem, .der は証明書のエンコード形式を表します。 -DER (Distinguished Encoding Rules) ASN.1 のバイナリエンコード方式の1つ。 .cer, .crt の拡張子となっている場合があります。 -PEM (Privacy Enhanced Mail) BASE64にてエンコードした形式。 さまざまな種類の X.509 v3 ファイルに使用されます。 ***証明書の種類について [#r20c2e82] -CRT 証明書には、CRT拡張子が使用されます。証明書は、バイナリのDERまたはASCIIのPEMとしてエンコードできます。 -CER CRTの代替形式。 -KEY 公開鍵と秘密鍵の両方のPKCS#8鍵に使用されます。 キーはバイナリDERまたはASCIIのPEMとしてエンコードできます。 ---- #navi2(RaspberryPi/証明書,toc,prev,next)