■コマンド理解に役立つ前提知識
rsa |
RSA暗号 |
req |
CSRのためのコマンド |
x509 |
証明書の規格 |
■鍵作成系
秘密鍵を作成 |
openssl genrsa -暗号化ルール -out 秘密鍵.pem |
公開鍵を作成 |
openssl rsa -pubout -in 秘密鍵.pem -out 公開鍵.pem |
秘密鍵と公開鍵のセットを作成 |
openssl req -x509 -newkey rsa:2048 -keyout 秘密鍵.pem -out 公開鍵.pem -subj '/属性1=xxx/属性2=yyy' ※パス無しにするには-nodesをつける |
鍵のパスフレーズ解除 |
openssl rsa -in 鍵の名前.key -out 鍵の名前.key |
■証明書系
csrの作成 |
openssl req -new -days 日数 -key 秘密鍵.key -out CSR名.csr |
csrの確認 |
openssl req -in CSRの名前.csr -text |
crtの作成(※) |
openssl ca -in CSRの名前.csr -out CRTの名前.crt |
crtの確認 |
openssl x509 -in CRTの名前.crt -text |
ホスト名(ポート番号)に関連する証明書を表示。 |
openssl s_client -connect ホスト名:ポート番号 -showcerts |
(※)
通常は秘密鍵準備ー(情報入力)→CSR作成ー(署名)→CRT作成と段階を踏むが、
openssl req -newkey rsa:2048 -nodes -keyout 秘密鍵.key -x509 -days 365 -out 証明書名.crt
のようにx509オプションを追加すると、CSR作成を割愛することが出来る。
上記はCSRの署名を認証局に依頼せずに、自ら実施するオレオレ証明書作成時によく使われる。
■ファイル暗号化系(公開鍵 & smime使用)
暗号化 |
openssl smime -encrypt -aes256 -in secret.zip -binary -outform DEM -out secret.zip.crypt public_key.pem -stream |
複合化 |
openssl smime -decrypt -in secret.zip.crypt -binary -inform DEM -inkey private_ssl_key.pem -out decrypt.zip |
■秘密鍵の形式変換
pem=>der |
openssl rsa -in xxx.pem -out xxx.der -outform der |
der=>pem |
openssl rsa -in xxx.der -out xxx.pem |
※公開鍵の場合はrsaではなく、x509にすると良い。
最終更新:2022年02月11日 17:30