証明書に対しての操作
証明書の有効性を確認
1つのファイル内に中間証明書などを含む複数の証明書が含まれている場合。
同じファイル名が二回使われているが、これは証明書チェーンと検証したい証明書が同じファイルに存在するため。
openssl verify -CAfile cert.pem cert.pem
証明書の有効期限を表示
openssl x509 -enddate -noout -in cert.pem
証明書から鍵のビット長を表示
openssl x509 -in cert.pem -text -noout|grep bit
証明書の詳細情報を表示
openssl x509 -text -noout -in cert.pem
証明書から公開鍵を出力
openssl x509 -pubkey -noout -in cert.pem > pubkey.pem
秘密鍵に対しての操作
秘密鍵の作成
乱数ファイルの生成
head /dev/random > rand.dat
opensslのインストール
macではOpenSSLから派生したLibreSSLというものが標準で入っているが、オプション体系が微妙に異なる為、普通のopensslをインストールする。
brew install openssl
# パスを通す(使っているシェルに応じて適宜変更)
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
秘密鍵の生成
openssl genrsa -aes256 -rand rand.dat 2048 > key_with_pass.pem
パスフレーズを求められるのて適当に入力する。
-aes256
は暗号化アルゴリズム。必要に応じて -des3
などに適宜変更する。
2048
は鍵のビット長。必要に応じて適宜変更する。
鍵のパスワード解除
openssl rsa -in key_with_pass.pem -out key.pem
パスフレーズを求められるので上で入力したのと同じものを入力する。
秘密鍵の詳細情報を表示
openssl rsa -text -noout -in key.pem
秘密鍵から公開鍵を出力
openssl rsa -in key.pem -pubout > pubkey.pem
秘密鍵から鍵のビット長を表示
openssl rsa -text -noout -in key.pem | grep bit
CSRに対しての操作
CSRの作成
openssl req -new -key key.pem -out csr.txt
CSRの詳細情報を出力
openssl req -in csr.txt -text -noout
CSRから公開鍵を出力
openssl req -in csr.txt -noout -pubkey > pubkey.pem