以下はやった時のメモになります。その時は以下のファイルがありました。
csr
(Certificate Signing Request) コモンネームや組織名が含まれているファイル-----BEGIN CERTIFICATE REQUEST-----
が含まれる
cer
,ca
,crt
デジタル証明書ファイル-----BEGIN CERTIFICATE-----
が含まれるルート証明書と中間CA証明書?(恐らく
cer
やca
)サーバー証明書?(恐らく
crt
)全部
certificate
の略?
rsa
秘密鍵ファイル-----BEGIN PRIVATE KEY-----
が含まれる
ファイルの確認
手元に有るファイルが上記以外の拡張子だった場合、以下の方法で確認することができます。
// Certificate Signing Request か?
openssl req -text -noout -in
// cer(crt?) か?
openssl x509 -text -noout -in
// rsa か?
openssl rsa -text -noout -in
結果が長々と出てきたり(Bash)echo $?
や(Fish)echo $status
で0
だったものが正です。
今回はcer(crt?)ファイルがすでに複数存在していたので、 証明書発行の為の Certificate Signing Request は扱わなくて良いようです。
結合
また複数存在しているcer(crt?)ファイルを 1 つのファイルに結合する必要がありますが、上記のopenssl x509
を実行した時にSubject:
の値がCN=自分のドメイン
となっているファイルをが先頭に来るようにします。(複数ある場合は、Issuer:
も見て次にその証明書が来るように結合しないと駄目?)
以下のような形で結合します。ただcat
で結合すると-----END CERTIFICATE----------BEGIN CERTIFICATE-----
のようになってしまうので、<(echo)
によって改行を挟んでいます。
また、権限は400
に設定します。
cat www.example.com.cer <(echo) ca.cer > result.crt
chmod 400 result.crt
# できたファイルに対しても確認をしておく
openssl x509 -text -noout -in result.crt
できたらサーバーに上げて更新します。