OpenSSL 利用ドキュメント
OpenSSLは、安全な通信を実現するための強力なオープンソースツールキットであり、暗号化や復号化、SSL/TLSプロトコルなどの機能を提供します。ServBayには標準でOpenSSLが組み込まれており、本ドキュメントではOpenSSLのインストール、設定、および利用方法について詳しく解説します。
インストールと設定
インストール
ServBayには標準でOpenSSLが含まれているため、追加インストールの必要はありません。
設定
OpenSSLの設定ファイルは通常、/Applications/ServBay/package/common/openssl/3.2
ディレクトリ(Intelチップの場合は/Applications/ServBay/package/common/openssl/1.1.1u
)にあります。デフォルトの設定ファイル名はopenssl.cnf
です。必要に応じてこの設定ファイルを編集し、OpenSSLの動作をカスタマイズできます。
設定ファイルのサンプル内容:
ini
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
基本的な使い方
OpenSSLは、暗号化や証明書管理など多様なタスクに対応した豊富なコマンドラインツールを提供しています。以下に主な使用例を示します。
秘密鍵と公開鍵の生成
RSA秘密鍵の生成
bash
openssl genpkey -algorithm RSA -out private_key.pem
1
秘密鍵から公開鍵を生成
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem
1
証明書署名要求(CSR)の作成
CSRの作成
bash
openssl req -new -key private_key.pem -out request.csr
1
自己署名証明書の作成
自己署名証明書の生成
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1
証明書管理
証明書情報の確認
CSR情報の表示
bash
openssl req -text -noout -verify -in request.csr
1
証明書情報の表示
bash
openssl x509 -text -noout -in certificate.crt
1
証明書フォーマットの変換
PEMからDERへの変換
bash
openssl x509 -outform der -in certificate.pem -out certificate.der
1
DERからPEMへの変換
bash
openssl x509 -inform der -in certificate.der -out certificate.pem
1
暗号化と復号化
共通鍵暗号
AESでファイルを暗号化
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
1
AESでファイルを復号化
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
1
公開鍵暗号
公開鍵でファイルを暗号化
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
1
秘密鍵でファイルを復号化
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
1
よくある質問(FAQ)
1. OpenSSLコマンドが実行できない
- 対処方法:ServBayの環境変数が正しく設定されていることを確認してください。問題が解決しない場合は、ServBayの「設定」→「コマンドラインツール」から、それぞれ
zsh
とbash
に対して設定を行い、ターミナルを再起動してください。
2. 発行した証明書が無効である
- 対処方法:証明書署名要求(CSR)および設定ファイル内の情報が正しいか確認してください。必須項目がすべて記入されていることを確認してください。
3. 暗号化や復号化が失敗する
- 対処方法:利用する鍵やアルゴリズムが正しく対応しているか確認してください。また、入力ファイルおよび出力ファイルのパスが正しいこともご確認ください。
まとめ
OpenSSLは、さまざまなセキュア通信や暗号化作業に最適な強力かつ柔軟なツールキットです。本ガイドを通じて、ServBayでのOpenSSLのインストール、設定、証明書管理、データ暗号化の基礎を理解できるようになります。