OpenSSLチートシート
OpenSSLコマンドのチートシート。証明書確認・生成・変換、鍵操作、SSL/TLS接続テスト、ハッシュ・署名、暗号化・復号をカテゴリ別に整理した実用的なリファレンスです
70 件のコマンド
x509 -text証明書の詳細情報を表示
openssl x509 -in cert.pem -text -nooutx509 -enddate証明書の有効期限を確認
openssl x509 -in cert.pem -enddate -nooutx509 -startdate証明書の開始日を確認
openssl x509 -in cert.pem -startdate -nooutx509 -ext SANSANs(サブジェクト代替名)を抽出
openssl x509 -in cert.pem -noout -ext subjectAltNamex509 -subject証明書のサブジェクトを表示
openssl x509 -in cert.pem -subject -nooutx509 -issuer証明書の発行者を表示
openssl x509 -in cert.pem -issuer -nooutx509 -serial証明書のシリアル番号を表示
openssl x509 -in cert.pem -serial -nooutx509 -fingerprint SHA256SHA256フィンガープリントを取得
openssl x509 -in cert.pem -fingerprint -sha256 -nooutx509 -fingerprint SHA1SHA1フィンガープリントを取得
openssl x509 -in cert.pem -fingerprint -sha1 -nooutverify証明書チェーンを検証
openssl verify -CAfile ca.pem cert.pemx509 -purpose証明書の用途を確認
openssl x509 -in cert.pem -purpose -nooutreq -x509 (self-signed)自己署名証明書を生成
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodesreq -new (CSR)CSR(証明書署名要求)を生成
openssl req -new -key key.pem -out request.csrx509 -x509toreq既存の証明書からCSRを作成
openssl x509 -x509toreq -in cert.pem -signkey key.pem -out request.csrreq -new -newkeyCSRと新しい鍵を同時に生成
openssl req -new -newkey rsa:4096 -nodes -keyout key.pem -out request.csrx509 -req (CA sign)CAでCSRに署名して証明書を発行
openssl x509 -req -in request.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -days 365req -x509 -addext SANSAN付き自己署名証明書を生成
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -addext "subjectAltName=DNS:example.com,DNS:*.example.com"req -x509 ECEC(楕円曲線)証明書を生成
openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:P-256 -keyout key.pem -out cert.pem -days 365 -nodespkcs12 -exportPKCS12ファイルを作成
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem -certfile ca.pemx509 PEM→DERPEM形式をDER形式に変換
openssl x509 -in cert.pem -outform DER -out cert.derx509 DER→PEMDER形式をPEM形式に変換
openssl x509 -in cert.der -inform DER -outform PEM -out cert.pempkcs12 PEM→PKCS12PEM形式をPKCS12形式に変換
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pempkcs12 PKCS12→PEMPKCS12形式をPEM形式に変換
openssl pkcs12 -in cert.pfx -out cert.pem -nodespkcs12 extract keyPKCS12から秘密鍵を抽出
openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodespkcs12 extract certPKCS12から証明書を抽出
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.pempkcs7 PKCS7→PEMPKCS7形式をPEM形式に変換
openssl pkcs7 -in cert.p7b -print_certs -out cert.pemcrl2pkcs7 PEM→PKCS7PEM形式をPKCS7形式に変換
openssl crl2pkcs7 -nocrl -certfile cert.pem -out cert.p7bgenrsaRSA秘密鍵を生成
openssl genrsa -out key.pem 4096ecparam P-256EC鍵(P-256)を生成
openssl ecparam -genkey -name prime256v1 -noout -out key.pemecparam P-384EC鍵(P-384)を生成
openssl ecparam -genkey -name secp384r1 -noout -out key.pemgenpkey Ed25519Ed25519鍵を生成
openssl genpkey -algorithm Ed25519 -out key.pemrsa -textRSA鍵の詳細を表示
openssl rsa -in key.pem -text -nooutec -textEC鍵の詳細を表示
openssl ec -in key.pem -text -nooutrsa -pubout公開鍵を抽出
openssl rsa -in key.pem -pubout -out pub.pemrsa (remove passphrase)パスフレーズを削除
openssl rsa -in encrypted.pem -out decrypted.pemrsa -aes256鍵にパスフレーズを追加
openssl rsa -in key.pem -aes256 -out encrypted.pemkey-cert match鍵と証明書の一致を確認
openssl x509 -in cert.pem -noout -modulus | openssl md5 && openssl rsa -in key.pem -noout -modulus | openssl md5req -text (CSR)CSRの詳細を確認
openssl req -in request.csr -text -noouts_clientSSL/TLS接続をテスト
openssl s_client -connect host:443s_client -showcerts証明書チェーンを表示
openssl s_client -connect host:443 -showcertss_client -tls1_2TLS 1.2で接続テスト
openssl s_client -connect host:443 -tls1_2s_client -tls1_3TLS 1.3で接続テスト
openssl s_client -connect host:443 -tls1_3s_client -cipher指定した暗号スイートで接続
openssl s_client -connect host:443 -cipher ECDHE-RSA-AES256-GCM-SHA384s_client -servernameSNIを指定して接続
openssl s_client -connect host:443 -servername example.coms_client STARTTLS SMTPSTARTTLS(SMTP)で接続
openssl s_client -connect mail:25 -starttls smtps_client STARTTLS IMAPSTARTTLS(IMAP)で接続
openssl s_client -connect mail:143 -starttls imaps_client STARTTLS FTPSTARTTLS(FTP)で接続
openssl s_client -connect ftp:21 -starttls ftps_client → x509サーバー証明書のみを取得して表示
openssl s_client -connect host:443 2>/dev/null | openssl x509 -text -noouts_client -statusOCSPステープリングを確認
openssl s_client -connect host:443 -statusdgst -sha256SHA256ダイジェストを計算
openssl dgst -sha256 file.txtdgst -sha512SHA512ダイジェストを計算
openssl dgst -sha512 file.txtdgst -md5MD5ダイジェストを計算
openssl dgst -md5 file.txtdgst -signファイルに署名
openssl dgst -sha256 -sign key.pem -out sig.bin file.txtdgst -verify署名を検証
openssl dgst -sha256 -verify pub.pem -signature sig.bin file.txtdgst -hmacHMAC-SHA256を計算
openssl dgst -sha256 -hmac "secret" file.txtlist -digest-algorithms利用可能なダイジェストアルゴリズムを一覧表示
openssl list -digest-algorithmsbase64Base64エンコード
openssl base64 -in file.bin -out file.b64enc -aes-256-cbcファイルをAES-256-CBCで暗号化
openssl enc -aes-256-cbc -salt -pbkdf2 -in plain.txt -out encrypted.binenc -d (decrypt)暗号化されたファイルを復号
openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out plain.txtenc -a (Base64)Base64出力で暗号化
openssl enc -aes-256-cbc -salt -pbkdf2 -a -in plain.txt -out encrypted.txtrand -hexランダムなHEXバイトを生成
openssl rand -hex 32rand -base64ランダムなBase64バイトを生成
openssl rand -base64 32rand (password)ランダムなパスワードを生成
openssl rand -base64 24list -cipher-algorithms利用可能な暗号アルゴリズムを一覧表示
openssl list -cipher-algorithmsverify (chain)中間証明書を含めて証明書を検証
openssl verify -CAfile ca.pem -untrusted intermediate.pem cert.pemcrl -textCRL(証明書失効リスト)を確認
openssl crl -in crl.pem -text -nooutspeed暗号処理の速度をテスト
openssl speed rsa2048speed -multiマルチスレッドで速度テスト
openssl speed -multi 4 aes-256-cbcversion -aOpenSSLのバージョン情報を表示
openssl version -aciphers -v利用可能な暗号スイートを一覧表示
openssl ciphers -v