在 Stud 中,应该在 x509 SSL 证书 pem 文件中连接哪个私钥 RSA 密钥以避免“自签名”浏览器警告?

在 Stud 中,应该在 x509 SSL 证书 pem 文件中连接哪个私钥 RSA 密钥以避免“自签名”浏览器警告?

我正在尝试实现螺柱作为 HAProxy 之前的 SSL 终止点,作为 WebSockets 路由的概念证明。我的域名注册商 Gandi.net 提供免费的 1 年 SSL 证书。

通过 OpenSSL,我生成了一个 CSR,它给了我两个文件:

  1. 域名密钥
  2. 域名.csr

我将 domain.csr 交给了我信任的机构,他们给了我两个文件:

  1. 域名证书
  2. GandiStandardSSLCA.pem(我认为这被称为中间证书?)

这是我遇到的摩擦:Stud 使用 OpenSSL,希望“pem-file”中有一个“rsa 私钥” - 它将其描述为“SSL x509 证书文件。必需”。

如果我将 domain.key 添加到 Stud 的 pem 文件的底部,Stud 将会启动,但我会收到浏览器警告,提示“证书是自签名的”。如果我省略 domain.key,Stud 将不会启动,并会抛出一个由 OpenSSL 函数触发的错误,该函数似乎旨在确定我的“pem 文件”是否包含“RSA 私钥”。

目前我无法确定问题是否是:

  1. 免费 SSL 证书始终是自签名的,并且始终会导致浏览器出现警告
  2. 我只是没有正确使用 Stud
  3. 我使用了错误的“RSA 私钥”
  4. CA 域证书、中间证书和私钥的顺序错误。

答案1

SSL X509 证书文件是包含 ITU 在其 X 系列规范中指定的格式(具体为 x.509)的证书的文件。由于它是一种证书格式,因此其中不包含私钥信息,因此名称、公钥、签名、有效期和其他有用信息都包含在其中,但私钥除外。

PEM 是一套隐私增强邮件规范 - 它提供了大部分基于 PKCS 规范的打包标准(PKCS 规范由 RSA 和 RSA 实验室自己开发,供公众使用,以实现各种实现之间的互操作性 - IETF 和其他领域的社区也做了同样的事情)。您可以使用 openssl 来转换格式 - 请参阅此处http://www.openssl.org/docs/apps/openssl.html. 连接不会给你任何帮助。

如果证书是自签名的,那么 CA 将其提供给您的情况就有点奇怪了 - 这让我认为您正在讲述将 Gandi CA 证书提供给 openssl,这告诉您该证书是自签名的(因此它是根或最终实体证书,但肯定不是中间又名链证书)。

解决您的一些问题:1 自签名证书在良好的客户端中始终会生成警告,因为它们缺乏信任,直到用户决定它们值得信任(或者对于大多数用户来说,直到 Microsoft、Mozilla Foundation、Google 或 Opera)决定用户应该信任该 CA)。 如果您的客户端(浏览器或其他)存储了 CA 并将其标记为受信任,则不会弹出此警告。 2 可能 3 看起来您在 Gandi 中使用了正确的密钥和 CSR 4 在我看来,您需要通过操作系统级别信任配置或通过 Stud 配置将域密钥和证书以及可能的 CA 加载到 OpenSSL 中。

相关内容