【问题标题】:Two valid certificates equal one invalid certificate两个有效证书等于一个无效证书
【发布时间】:2021-12-09 21:42:44
【问题描述】:

我对整个证书shebang 相当陌生,而不是精通Linux 管理员。 在我们公司,我们运行一个 Windows 域,但我们也有一些 CentOS 服务器用于不同的服务。 在上述服务器之一上,我们有基于浏览器的票务系统。我想用一个由我们的 Windows 根 CA 签名的证书来证明它,但无论我做什么,证书在浏览器中都显示为无效。 有趣的是,链中的两个证书(CA -> 服务器)都显示为有效。 我已经做了以下事情:

  • 从头开始证书过程
  • 尝试了不同的证书格式(.cer、.pem)
  • 使用根证书验证服务器证书
  • 用 openssl 检查有效性(OK)
  • 用 openssl 检查 SSL 连接,没有问题
  • 将根证书添加到 Linux 服务器受信任的 CA 存储中
  • 重新创建证书链(共 2 个)
  • 一遍又一遍地重新启动 Apache
  • 重置浏览器缓存
  • 试过不同的浏览器
  • 已检查 DNS 条目
  • 选中,如果根 CA 在 Windows 中受信任(它是)
  • 在我的浏览器中手动安装了服务器证书

服务器证书和根证书在浏览器中都显示为有效,并且关系正确。

我完全迷路了。是否有一些我忘记的关键步骤,而不是我读过的大约 30 条指南之一忘记提及? 非常感谢任何帮助

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: windows ssl centos ssl-certificate certificate


【解决方案1】:

您的问题缺少一些信息: 您是否从服务器外部检查 SSL 连接? 您是否验证了 RootCA 证书在服务器的证书存储中(有时它会被拒绝而没有错误消息)?

我会在浏览器中检查拒绝证书的原因(FireFox 通常比 Chrome 提供更多信息),并查找错误代码。 原因可能是(其中一些您已经验证过): 错误的证书属性(“usage”属性中缺少所需的值) 错误的域名 过期证书 无法在客户端验证证书

将此图片视为错误代码示例: https://user-images.githubusercontent.com/165314/71407838-14f55a00-2634-11ea-8a30-c119d2eb1eb1.png

【讨论】:

  • 感谢您的回复!如正文所述,是的,我将根证书添加到服务器存储(将根证书添加到 Linux 服务器受信任的 CA 存储)。但是您从服务器外部检查连接的提示很好!看来我的域加入 Windows 客户端不够信任根 CA。我收到消息说链中有一个自签名证书,即使根 CA 签署了服务器证书。我检查了,根证书实际上在域受信任的存储中。
猜你喜欢
  • 1970-01-01
  • 2013-01-07
  • 2020-05-04
  • 1970-01-01
  • 2020-07-17
  • 2018-12-28
  • 2019-10-29
  • 1970-01-01
相关资源
最近更新 更多