我正在向嵌入式Linux设备添加HTTPS支持。我尝试通过以下步骤生成自签名证书:
openssl req -new > cert.csr
openssl rsa -in privkey.pem -out key.pem
openssl x509 -in cert.csr -out cert.pem -req -signkey key.pem -days 1001
cat key.pem>>cert.pem
可以,但是我在使用谷歌浏览器时遇到了一些错误:
这可能不是你要查找的网站!
该站点的安全证书不受信任!
我想念什么吗?这是构建自签名证书的正确方法吗?
你可以在一个命令中执行此操作:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
如果你不想使用密码来保护私钥,也可以添加-nodes
(的缩写no DES
)。否则,它将提示你输入“至少4个字符”的密码。
在days
你可以用任何数量的替代参数(365)影响的到期日期。然后,它将提示你输入“国家名称”之类的内容,但是你只需点击Enter并接受默认值即可。
添加-subj '/CN=localhost'
以消除有关证书内容的问题(替换localhost
为所需的域)。
除非你以前将自签名证书导入浏览器,否则不对其进行任何第三方验证。如果需要更高的安全性,则应使用由证书颁发机构(CA)签名的证书。
如果您想自己验证任何内容,对于有兴趣的任何人,这里是文档。
与第三方签约如何提供更高的安全性?
对于在自动化中使用此功能的其他人,这里是该主题的所有常用参数:
-subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com"
@JamesMills我的意思是,考虑一下-如果在他的面包车侧面写有“免费糖果”的阴凉面的家伙邀请你进去,那么你将要三思而后行,但是要小心点-如果您信任的人-真正信任的人-就像“裸体男人,他是合法的”,那么您将只剩下那免费的糖果。
切记用于
-sha256
生成基于SHA-256的证书。