openssl – 暗号処理ツールキット

暗号化・ハッシュ
スポンサーリンク

openssl コマンドは、SSL/TLS 通信や証明書、暗号化・復号、ハッシュ計算などを行うためのコマンドラインツールです。
鍵や証明書の生成、HTTPS 通信の確認、暗号アルゴリズムの利用など幅広い用途で使われます。

構文(Syntax)

openssl <コマンド> [オプション]

主なサブコマンド一覧

サブコマンド説明使用例
genrsaRSA 秘密鍵を生成openssl genrsa -out private.pem 2048
reqCSR(証明書署名要求)の作成、自己署名証明書の生成openssl req -new -key private.pem -out server.csr
x509証明書を操作(表示、変換、自己署名など)openssl x509 -in cert.pem -text -noout
rsaRSA 鍵を表示・変換openssl rsa -in private.pem -pubout -out public.pem
pkcs12PKCS#12 ファイルを操作(証明書+秘密鍵のパッケージ)openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.p12
encファイルを暗号化・復号openssl enc -aes-256-cbc -in plain.txt -out enc.txt
dgstダイジェスト(ハッシュ)計算openssl dgst -sha256 file.txt
s_clientSSL/TLS サーバーへ接続して確認openssl s_client -connect example.com:443
rand疑似乱数を生成openssl rand -hex 16

実行例

RSA 秘密鍵を生成

openssl genrsa -out private.pem 2048

公開鍵を抽出

openssl rsa -in private.pem -pubout -out public.pem

CSR を作成

openssl req -new -key private.pem -out server.csr

自己署名証明書を生成

openssl req -x509 -new -key private.pem -days 365 -out cert.pem

証明書の内容を表示

openssl x509 -in cert.pem -text -noout

ファイルを暗号化

openssl enc -aes-256-cbc -in secret.txt -out secret.enc

ファイルを復号

openssl enc -d -aes-256-cbc -in secret.enc -out secret.txt

SHA256 ハッシュを計算

openssl dgst -sha256 file.txt

出力例:

SHA256(file.txt)= 9a0364b9e99bb480dd25e1f0284c8555...

HTTPS サーバーへ接続して証明書確認

openssl s_client -connect example.com:443

16バイトの乱数を生成

openssl rand -hex 16

出力例:

a3f9c2b1d49e6a0f4b77e1c2d9f3a8b2

エラー例(存在しない証明書を指定)

openssl x509 -in notfound.pem -text

出力例:

unable to load certificate
140735202050112:error:02001002:system library:fopen:No such file or directory:...

関連コマンド

  • ssh-keygen : SSH 鍵の生成ツール。
  • keytool : Java 用の鍵と証明書管理ツール。
  • gpg : OpenPGP による暗号化・署名ツール。

備考

  • OpenSSL は多くの Linux ディストリビューションや Web サーバー(Apache、Nginx)で利用される標準ライブラリ。
  • openssl CLI は学習やテスト用途に便利ですが、本番環境ではセキュリティベストプラクティスに従って利用する必要があります。
  • 鍵や証明書を扱う場合は 権限管理に注意。秘密鍵 (.pem) は 600 権限に設定するのが推奨です。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント