一、生成私钥文件
openssl genpkey -algorithm RSA -out server.key -pkeyopt rsa_keygen_bits:2048
-aes256参数用于指定私钥密码,密码长度至少4位。
二、生成证书签名请求
openssl req -new -key server.key -out server.csr
- Country Name (2 letter code) [XX]
● 含义:国家代码,使用 ISO 3166-1 标准的两位字母代码。
● 示例:CN(中国)、US(美国)、JP(日本)。
● 回答:CN - State or Province Name (full name) []
● 含义:州或省的全称。
● 示例:Beijing(北京)、California(加利福尼亚)。
● 回答:Beijing - Locality Name (eg, city) [Default City]
● 含义:城市名称。
● 示例:Beijing(北京)、Shanghai(上海)。
● 回答:Beijing - Organization Name (eg, company) [Default Company Ltd]
● 含义:组织或公司的名称。
● 示例:My Company、Acme Inc.。
● 回答:My Company - Organizational Unit Name (eg, section) []
● 含义:组织内部的部门或单位名称。
● 示例:IT Department、Security Team。
● 回答:IT Department - Common Name (eg, your name or your server’s hostname) []
● 含义:证书的通用名称 (CN),通常是域名或服务器的主机名。
○ 如果用于网站,请输入域名(例如 example.com 或 .example.com)。
○ 如果用于个人,请输入你的姓名。
● 示例:example.com、.example.com。
● 回答:example.com - Email Address []
● 含义:联系人的电子邮件地址。
● 示例:admin@example.com。
● 回答:admin@example.com - A challenge password []
● 含义:证书的挑战密码(可选)。用于保护 CSR 文件,提交给 CA 时可能需要提供。
● 建议:留空(直接按回车)。
● 回答:(留空) - An optional company name []
● 含义:可选的公司名称(通常与 Organization Name 相同)。
● 建议:留空(直接按回车)。
● 回答:(留空)
三、生成自签名证书
自签名证书用于测试,这里生成一个有效期为365天的自签名证书。
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt