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
よくある質問
1. OpenSSLコマンドが動作しない
- 解決策:OpenSSLが正しくインストールされているか確認し、設定ファイルのパスが正しいか確認してください。問題が解決しない場合、エラーログを確認して詳細情報を取得してください。
2. 生成された証明書が無効
- 解決策:証明書要求ファイル(CSR)および設定ファイル内の情報が正しいか確認してください。すべての必須フィールドが記入されていることを確認してください。
3. 暗号化または復号化に失敗した
- 解決策:使用している鍵とアルゴリズムが正しく一致していることを確認してください。入力ファイルと出力ファイルのパスが正しいか確認してください。
まとめ
OpenSSLは、さまざまなセキュア通信および暗号化タスクに適した強力で柔軟なツールセットです。本記事を通じて、ServBayでのOpenSSLのインストール、設定、証明書管理およびデータ暗号化の方法を理解することができます。