各種証明書
名詞 | 説明 |
---|---|
x.509 | 公開鍵証明書の標準形式です。 各X.509証明書には、公開鍵、識別情報、およびデジタル署名が含まれています。 |
pkcs1~pkcs12 | Public Key Cryptography Standard#12の略です。公開鍵証明書および秘密鍵をパスワードベースの対象鍵で保護し、安全に保存または転送するために使用されるファイル形式です。拡張子は*.pN,*.p12は鍵や証明書をひとつのファイルにまとめて取り扱うための形式 |
*.der | 証明書のバイナリ保存形式 |
*.pem | 証明書または鍵のbase64保存形式です。証明書または鍵を単独もしくはまとめて保存できます。 |
*.key | pem鍵の保存形式 |
*.cer *.crt | 2つとも証明書のことを指します。Linuxはcrt、Windowsはcer。保存形式はpemまたはderでもできます。 |
*.csr | 証明書署名リクエストのことです。証明書持ち主の情報が含まれています。例えば、ドメイン名、国、メールアドレスとか |
CSR
CSRの中身を表示する
openssl req -in my-request.csr -text -noout
補足ですが、*.pem拡張子の証明書署名リクエストもあります。
openssl req -text -noout -in csr.pem
.pemのCSRファイルを.csrファイルの変換は下記のコマンドで変換できます。
openssl req -in csr.pem -out cert.csr
CSRなのかファイルの中身を確認しましょう。
ファイルの頭部
-----BEGIN CERTIFICATE REQUEST-----
ファイルの末尾
-----END CERTIFICATE REQUEST-----
上記のファイルはCSRファイルを指します。
pem
PEMファイルは通常、拡張子付きで表示されます .crt, .pem, .cer, .key (秘密鍵の場合)が、異なる拡張子で表示される場合もあります。
PEM証明書ファイルの内容を表示する
証明書の場合はopenssl x509 コマンドを使います。
openssl x509 -in CERTIFICATE.pem -text -noout
DERエンコードされた証明書ファイルの内容を表示する
openssl x509 -inform der -CERTIFICATE.der -text -noout
PEM証明書をDERに変換する
openssl x509 -outform der -in CERTIFICATE.pem -out CERTIFICATE.der
DERエンコードされた証明書をPEMに変換する
openssl x509 -inform der -in CERTIFICATE.der -out CERTIFICATE.pem
秘密鍵と公開鍵
- RSA秘密鍵の生成
openssl genrsa コマンドを使うとRSAの秘密鍵を生成することができます。
openssl genrsa 1024 > private-key.pem
標準出力出力される鍵はPEMエンコードされているので、ファイル名も.pemとしています。
- RSA公開鍵の生成
RSAでは秘密鍵があればいつでも公開鍵を生成することができます。openssl rsa コマンドを使用して先ほど作成した秘密鍵を読み込ませ、-pubout で公開鍵を出力します。
openssl rsa -in private-key.pem -pubout -out public-key.pem
-outform オプションを指定していないので、PEMエンコードされた公開鍵が出力されます。
- 秘密鍵の中身を見る方法
openssl rsa -in private-key.pem -text -noout
上記は鍵ファイルがPEMエンコードされている場合でしたが、もしDERエンコードされている場合は -inform der というオプションを指定してください。
openssl rsa -in private-key.der -inform der -text -noout
- 公開鍵の中身を見る方法
openssl rsa -pubin -in public-key.pem -text -noout