10人参与 • 2026-01-26 • SSL
我们可以使用openssl生成一对密钥和证书。通常,证书文件(.crt)包含公钥和证书信息,而.key文件是私钥。
我们可以使用以下步骤:
注意:
# 生成私钥和自签名证书(有效期365天) openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes # 交互式输入信息,或使用以下命令自动填写: openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes \ -subj "/c=cn/st=beijing/l=beijing/o=yourorg/ou=yourdept/cn=yourdomain.com"
# 1. 生成私钥 openssl genrsa -out server.key 2048 # 2. 生成证书签名请求(csr) openssl req -new -key server.key -out server.csr \ -subj "/c=cn/st=beijing/l=beijing/o=yourorg/ou=yourdept/cn=yourdomain.com" # 3. 生成自签名证书 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
创建配置文件 cert.conf:
[req] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn x509_extensions = v3_req [dn] c = cn st = beijing l = beijing o = yourorg ou = yourdept cn = yourdomain.com [v3_req] keyusage = keyencipherment, dataencipherment extendedkeyusage = serverauth subjectaltname = @alt_names [alt_names] dns.1 = yourdomain.com dns.2 = *.yourdomain.com ip.1 = 192.168.1.100
执行生成命令:
openssl req -new -x509 -days 365 -nodes \ -config cert.conf \ -newkey rsa:2048 \ -keyout server.key \ -out server.crt
-newkey rsa:2048:生成 2048 位 rsa 密钥-keyout:指定私钥输出文件-out:指定证书输出文件-days:证书有效期(天)-nodes:不加密私钥(无密码)-subj:自动填写证书信息-x509:生成自签名证书# 查看证书信息 openssl x509 -in server.crt -text -noout # 查看私钥信息 openssl rsa -in server.key -check -noout # 验证密钥和证书是否匹配 openssl x509 -noout -modulus -in server.crt | openssl md5 openssl rsa -noout -modulus -in server.key | openssl md5 # 两个md5值应该相同
-nodes 参数可设置私钥密码以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论