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

Posted

技术标签:

【中文标题】如何为 Linux 应用程序生成证书?【英文标题】:How can I generate a certificate for a Linux app? 【发布时间】:2022-01-01 03:42:51 【问题描述】:

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

我正在使用客户端连接到服务器并交换数据。问题是,如果我访问 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 是服务器的地址),老实说,我不知道如何生成一个有效的证书。

即使我设法生成了一个,我应该如何处理它以确保我的通信安全?请帮助我,因为这件事开始占用很多时间。谢谢!

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

非常感谢您的见解!

以上是关于如何为 Linux 应用程序生成证书?的主要内容,如果未能解决你的问题,请参考以下文章

如何为使用 OpenSSL 生成的证书提供多行证书名称 (CN)

如何为Amazon EMR生成trustedCertificates.pem和certificateChain.pem文件?

如何为 AFNetworking 创建 .cer 文件以在 iOS 应用程序包中使用

如何为自己的WordPress站点安装SSL证书开启https访问

如何为 Spring RestTemplate 设置要信任的证书

如何为nginx配置https