我正在创建服务器客户端应用程序,我想获取证书。我试图找到一些教程,例如我发现了这个:
openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
但我收到“找不到文件”。请告诉我该怎么做。
最佳答案
使用 EasyRSA 可能是最简单的,这样您就可以设置一个 CA,然后可以根据需要签署任意数量的证书,并获得可以插入到客户端的 key ,这样他们就不再提示自签名证书了。
它随 OpenVPN 一起分发,但无需 OpenVPN 即可轻松使用。
请记住,现代浏览器需要 SAN(主题备用名称),如果只有 CN(通用名称),他们会感到不高兴。
https://github.com/OpenVPN/easy-rsa
如何:
在 vars 文件中设置变量
初始化 pki:
./easyrsa init-pki
构建 rootCA:
./easyrsa build-ca
一次性为 example.com 生成 key 和证书,也可用于通配符
<./easyrsa --subject-alt-name=DNS:example.com,DNS:\*.example.com build-server-full example.com nopass
key 和证书将位于 pki 子目录的树中。
关于security - 在本地主机上获取 ssl 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53346445/