#navi2(RaspberryPi/証明書,toc,prev,next) ---- #contents ---- * CA証明書作成 [#ba17c02e] 事前に [[RaspberryPi/証明書/環境構築]] を実施してください。 次のコマンドを実行します。 &color(red){''★<>の部分は適宜変更のこと。''}; # # 1. 設定 # # SUBJ=<サブジェクト> # 次に記す必要な値を続けて指定します。 # /C=Country [国名] (日本の場合 JP) # /ST=State or Province [都道府県名] # /L=Locality [市町村名] # /O=Organization [組織名] # /OU=Organizational Unit [部門名] # /CN=Common Name [コモンネーム] # 例) "/C=JP/O=Ehobby/CN=Ehobby Root CA" # # DIR=<生成先ディレクトリ> # # DAYS=<証明書の有効日数> # # NEWKEY=<公開キー> # 次の何れかの指定が可能です。 # rsa:[bit数] # dsa:[file] # ca:[file] # 通常 rsa:2048 が使用されます。 # (default: rsa:2048) # # HASH=<署名ハッシュアルゴリズム> # 次の何れかの指定が可能です。 # sha256 (SHA2) [推奨] # sha1 (SHA1) # 他、openssh dgst -h にて表示されるハッシュを指定可能です。 # 通常、sha256 または sha1 が使用されます。 # (default: sha256) # SUBJ=<サブジェクト> DIR=ca DAYS=720 NEWKEY=rsa:2048 HASH=sha256 # # 2. 秘密鍵と証明書を生成 # ★パスフレーズを問われるので、入力してください。 # ★パスフレーズは、署名時に必要となるので忘れないようにしてください。 openssl req -new \ -x509 \ -config ./openssl.cnf \ -out ${DIR}/rootca.pem \ -keyout ${DIR}/private/cakey.pem \ -extensions cert_rootca \ -days ${DAYS} \ -newkey ${NEWKEY} \ -${HASH} \ -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)