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進行證書管理和數據加密。