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进行证书管理和数据加密。