# OpenSSL コマンド チートシート (PEM形式中心) ## 証明書の表示 ```bash openssl x509 -in cert.pem -text -noout ``` - -in cert.pem : 入力する証明書ファイルを指定(PEM形式) - -text : 証明書の詳細情報をテキスト形式で表示(Subject, Issuer, 有効期限, SANなど) - -noout : 証明書本体(Base64エンコード部分)を出力しない ## CSR (証明書署名要求) の内容確認 ``` openssl req -in request.csr -text -noout ``` ## 秘密鍵の内容確認 ``` openssl rsa -in private.key -check -noout ``` - -check : 秘密鍵の整合性を検証 ## サーバー証明書の確認 ``` openssl s_client -connect example.com:443 -servername example.com ``` - -connect host:port : 接続先ホストとポートを指定(HTTPSなら443) - -servername host : SNI (Server Name Indication) を指定。複数ドメインを持つサーバーで正しい証明書を取得するために必要 証明書部分だけ抽出して詳細表示: ``` openssl s_client -connect example.com:443 -servername example.com /dev/null | openssl x509 -text -noout ``` ## 秘密鍵とCSR作成 ``` openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr ``` - -new : 新しいCSRを作成 - -newkey rsa:2048 : 新しいRSA秘密鍵を生成(2048bit) - -nodes : 秘密鍵を暗号化せずに保存(パスフレーズなし) - -keyout server.key : 秘密鍵の出力先ファイル - -out server.csr : CSRの出力先ファイル ## 証明書の検証 ``` openssl verify -CAfile ca.pem cert.pem ``` - -CAfile ca.pem : 信頼するCA証明書を指定 ## 形式変換 (PEM中心) #### PEM → DER ``` openssl x509 -in cert.pem -outform der -out cert.der ``` - -outform der : 出力形式をDER (バイナリ) に指定 #### DER → PEM ``` openssl x509 -in cert.der -inform der -out cert.pem ``` - -inform der : 入力形式がDERであることを指定 ## PFX / PKCS#12 関連 - **PKCS#12**:秘密鍵・証明書・証明書チェーンを1つの暗号化コンテナにまとめる標準規格 - **PFX / P12**:PKCS#12形式のファイルの呼び名(Windows/IISでは `.pfx`、Linux/OpenSSLでは `.p12` が一般的) **※ PFX(PKCS#12)を扱うすべてのコマンドでは、PFX 作成時に設定されたパスワードが必要** #### PFX (PKCS#12) → PEM(まとめて出力) ``` openssl pkcs12 -in cert.pfx -out cert.pem -nodes ``` - -in cert.pfx : 入力ファイル(PKCS#12形式) - -nodes : 秘密鍵を暗号化せずに出力 #### PFX → 秘密鍵のみ ``` openssl pkcs12 -in cert.pfx -nocerts -out server.key ``` #### PFX → サーバー証明書のみ ``` openssl pkcs12 -in cert.pfx -clcerts -nokeys -out server.crt ``` #### PFX → 中間CA証明書(チェーン) ``` openssl pkcs12 -in cert.pfx -cacerts -nokeys -out chain.crt ``` #### 秘密鍵のパスワードを除去(Apache / Nginx用) ``` openssl rsa -in server.key -out server_nopass.key chmod 600 server_nopass.key ``` #### 個々のファイル → PFX を作成 ``` openssl pkcs12 -export \ -inkey server.key \ -in server.crt \ -certfile chain.crt \ -out cert.pfx ``` - 秘密鍵 + 証明書 + 中間CA を 1つの PFX にまとめる - 実行時に PFX 用パスワードを設定 #### PFX の内容確認(復号せず表示) ``` openssl pkcs12 -in cert.pfx -info -noout ``` - 使用暗号方式(TripleDES / AES256) - 証明書構成 - MAC iteration 回数 #### 鍵と証明書の一致確認 ``` openssl x509 -noout -modulus -in server.crt | openssl md5 openssl rsa -noout -modulus -in server_nopass.key | openssl md5 ``` - 両方のハッシュが一致すれば OK ## 自己署名証明書 ### ダミー証明書の作成(自己署名証明書を一度に生成) ``` openssl req -x509 -newkey rsa:2048 -nodes -keyout dummy.key -out dummy.crt -days 365 -subj "/CN=example.com" ``` - 秘密鍵と自己署名証明書を同時に生成 - -x509 : CSRではなく自己署名証明書を直接出力 - -days 365 : 有効期限を365日に設定 - -subj : 対話入力を省略してDNを指定(例: CN=example.com) ### 通常の3ステップの流れ ``` # (1) 秘密鍵を生成 openssl genrsa -out server.key 2048 # (2) CSRを生成 openssl req -new -key server.key -out server.csr -subj "/CN=example.com" # (3) CSRを秘密鍵で署名して自己署名証明書を作成 openssl x509 -req -in server.csr -signkey server.key -out server.crt -days 365 ```
2025/12/10
OpenSSL コマンド チートシート (PEM形式中心)
登録:
コメントの投稿 (Atom)
人気の投稿
-
## 作業前確認 [Amazon Linux 2023 リリースノート](https://docs.aws.amazon.com/ja_jp/linux/al2023/release-notes/relnotes.html) ### インスタンスのネットワーク設定 ``` ...
-
--- ## 地理構成・リージョン設計 | AWS | Azure | 説明 | |-----|-------|------| | - | ジオ | Azure独自の地理的分類単位 | | リージョン | リージョン | データセンター群の配置単位 | | - | リージョ...
-
[Security Hub の概念](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-concepts.html) ### 設定単位 リージョン ### 主なコンポーネント ``...
-
## 基本構文 ``` Test-NetConnection [-ComputerName] <string> [-Port <int>] [-InformationLevel <string>] [-TraceRoute] ``` ## ...
-
スイッチングハブの冗長化 リンクアグリゲーション(IEEE802.3ad) 機器間(スイッチ⇔スイッチ、スイッチ⇔サーバ)で、複数本の物理リンクを集約して1つの論理リンクを構成し、冗長化とトラフィック分散、帯域幅の拡張を実現する仕組み。 IEEE802.3ad で LACP (L...
0 件のコメント:
コメントを投稿