トップページ > コンテンツ > コンピュータ関連その他 > UNIXコマンド > openssl

■コマンド理解に役立つ前提知識
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