我对整个证书系统相当陌生,不是一个精通Linux的管理员。在我们公司,我们运行一个Windows域,但我们也有一些CentOS服务器用于不同的服务。在其中一个服务器上,我们有一个基于浏览器的票证系统。我想用一个由我们的Windows根CA签名的证书来认证它,但无论我做什么,证书在浏览器中显示为无效。2有趣的是,证书链(CA -〉服务器)中的两个证书都显示为有效。3我已经做了以下操作:
- 从头开始证书处理
- 已尝试不同的证书格式(.cer、.pem)
- 用根证书验证服务器证书
- 已使用openssl检查有效性(OK)
- 已检查与openssl的SSL连接,没有问题
- 已将根证书添加到Linux服务器可信CA存储
- 已重新创建证书链(共2个)
- 一次又一次重启Apache
- 重置浏览器缓存
- 尝试不同的浏览器
- 已检查DNS条目
- 如果根CA在Windows中受信任,则选中此项(确实如此)
- 在我的浏览器中手动安装服务器证书
服务器证书和根证书在浏览器中都显示为有效,并且具有正确的关系。
我在这里完全迷路了。是不是有什么关键步骤我忘记了,而不是我读过的~30个指南中的一个忘记提到了?任何帮助都是非常感谢的
1条答案
按热度按时间du7egjpx1#
您的问题缺少一些信息:是否从服务器外部检查SSL连接?是否验证RootCA证书是否在服务器的证书存储区中(有时它被拒绝而没有错误消息)?
我会在浏览器中检查拒绝证书的原因(FireFox通常比Chrome提供的信息更多),并寻找错误代码。原因可能是(其中一些你已经验证过了):错误的证书属性(在“usage”属性中缺少必需的值)错误的域名过期的证书无法在客户端验证证书
请将此图像视为错误代码的示例:https://user-images.githubusercontent.com/165314/71407838-14f55a00-2634-11ea-8a30-c119d2eb1eb1.png