4

在我的 Github 企业上,当我使用密钥安装 SSL 证书时,它会显示一条错误消息:

“Github ssl cert 证书未由受信任的证书颁发机构 (CA) 签名,或者证书链缺少中间 CA 签名证书。”

我从我们的认证机构团队获得了 4 个证书。

  1. SSL 证书:github.pem
  2. 一组 3 个 CA 证书:root、subca 和 subca2

在我的 Github 企业管理控制台上,它需要 2 个条目

  1. x509 SSL 证书
  2. 未加密的密钥

我已经尝试单独使用 github.pem 密钥并通过连接 CA 证书使用不同的组合,但它总是失败并出现相同的错误。

是否有连接证书的模式?

有什么线索我可以解决这个问题吗?

提前致谢。

4

2 回答 2

5

请按照以下步骤将 3 个证书添加到您的 .pem 文件中:

  1. 在 Notepad ++ 中打开您的域证书 pem 文件。
  2. 在域证书下添加中间 (DigiCertCA2.pem) 证书。
  3. 将根证书 (TrustedRoot.pem) 添加到您的域证书。
  4. 保存具有以下 3 个证书(域、中间证书、根证书)的 .pem 文件。
  5. 上传修改后的 certificate.pem 文件和私钥。
  6. 点击保存设置。
于 2019-08-21T14:51:05.290 回答
1

我遇到过同样的问题。尝试将 PEM 和密钥文件加载到 GitHub Enterprise 时,我收到了相同的消息。证书是使用与我之前所做的完全相同的方法创建的,但是失败了。

Github ssl cert 证书未由受信任的证书颁发机构 (CA) 签名,或者证书链缺少中间 CA 签名证书。

我采取的步骤:

  1. 为服务器创建了一个证书(带有私钥的网络服务器)
  2. 从我的用户个人商店导出(PFX 包括路径中的所有证书并导出所有扩展属性)
  3. C:\OpenSSL-Win64\bin> openssl.exe pkcs12 -in git_key_included.pfx -nocerts -out priv-key.pem -nodes
  4. C:\OpenSSL-Win64\bin> openssl.exe pkcs12 -in git_key_included.pfx -nokeys -out cert.pem
  5. C:\OpenSSL-Win64\bin> openssl rsa -in priv-key.pem -out server.key

我最终通过使用 Notepad++ 打开 PEM 弄清楚了。openssl 命令在旧的导出证书上工作正常,但在新导出的证书上交换证书的顺序。损坏的证书有:

主 SSL 证书 根证书 中间证书

而不是正确的排序:

主 SSL 证书 中间证书 根证书

所以我把它们换了,它起作用了。

于 2017-08-30T13:35:49.423 回答