在OpenSSL中,您可以通過命令行或配置文件來設置SSL/TLS協議版本。以下是兩種方法的詳細說明:
生成自簽名證書(如果還沒有):
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
使用openssl s_client
測試連接:
openssl s_client -connect example.com:443 -tls1_2
這里的-tls1_2
指定了使用TLS 1.2協議。您可以根據需要更改為其他版本,例如:
-tls1_3
:使用TLS 1.3-tls1
:使用TLS 1.0(不推薦,因為存在安全風險)-tls1_1
:使用TLS 1.1(不推薦,因為存在安全風險)創建或編輯OpenSSL配置文件(通常是openssl.cnf
):
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=State
L=City
O=Organization
OU=Organizational Unit
CN=Common Name
[v3_req]
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
[ssl_server]
min_proto_version = TLSv1.2
max_proto_version = TLSv1.3
使用配置文件生成證書:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -config openssl.cnf -days 365 -nodes
啟動服務器時指定配置文件:
openssl s_server -cert cert.pem -key key.pem -config openssl.cnf
通過以上方法,您可以在OpenSSL中靈活地設置SSL/TLS協議版本。