如何为 Linux 应用程序生成证书?

How can I generate a certificate for a Linux app?

我正在构建我的第一个客户端-服务器应用程序,使用 C# 和 运行 编写的安全 WebSockets 服务器 Ubuntu。

我正在使用客户端连接到服务器并交换数据。问题是,如果我访问 https://localhost:5000/index.html,我的浏览器会向我保证连接是安全的。 但是,如果我尝试访问 https://127.0.0.1:5000/index.html,浏览器会提醒我证书不可信,因此会警告此连接不安全。

我的最终目标是从我的 LAN 内部访问服务器(假设通过访问 https://192.169.0.10:5000/index.html,192.168.0.10 是服务器的地址),我老实说不知道如何生成有效证书。

即使我设法生成了一个,我应该如何处理它才能确保我的通信安全?请帮助我,因为这件事开始耗费大量时间。谢谢!

您可以仅使用一个 IP 地址创建一个自签名 SSL snakeoil 证书,但是当客户端尝试通过 HTTPS 访问您的网站时,这仍然会在 chrome 中显示警告,因为您不是可信的权威机构。然而,尽管 chrome 中有警告,网络流量仍将通过 HTTPS 加密。

另外,Let's Encrypt Certbot 从名为 R3 (Let's Encrypt) 的可靠机构颁发 SSL 证书,因此当客户端尝试通过 HTTPS 访问您的网站时,chrome 不会显示警告消息。如果您希望 R3 (Let's Encrypt) 为您颁发 SSL 证书,您需要一个域名。