security - 在本地主机上获取 ssl 证书

标签 security ssl server

我正在创建服务器客户端应用程序,我想获取证书。我试图找到一些教程,例如我发现了这个:

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/

相关文章:

security - 双重加密数据是否不太安全?

.net - 遇到枚举中未定义的 FileSystemRights 值

c - 如何使用格式字符串漏洞从堆栈中读取任意指针?

android - 使用 Proguard 为 Android 应用程序混淆 SMP 库

r - PNG 图像在 linux 服务器节点上但不在头节点上时生成错误

java - 如何在多个应用程序上管理多个数据源

Java SSL 客户端/服务器随机值

java - 禁用 HTTPS 连接的 SSL 证书验证?

google-chrome - 设置 SSL 后与站点的连接仍然不完全安全

C# - Websocket - 将消息发送回客户端