我一直在努力解决 SSL 问题超过 1 个月。
我们使用 openssl 生成我们自己的 CA、服务器和客户端证书。我们还在 Apache Web 服务器上启用了“SSLrequire”(在 htaccess 中这可能是错误的),这意味着任何尝试通过服务器上的 https 连接的人都需要出示有效的证书
步骤如下;
- 生成 CA 密钥
- 生成 CA CSR
- 使用 CA 密钥签署 CA CSR
所以我们有自己的 CA,用于签署我们的服务器和客户端证书。
下一步
- 生成服务器密钥
- 生成服务器 CSR
- 使用 CA 密钥签署服务器 CSR
所以我们有我们在服务器上成功安装的服务器证书和服务器私钥
接下来我们
- 生成客户端密钥
- 生成客户 CSR
- 使用 CA 密钥签署客户端 CSR
然后,我们将客户端证书与 CA 证书一起分发给我们的用户。两者都安装在他们的浏览器中。
尝试连接时,我们收到“对等方无法识别和信任颁发您的证书的 CA。”错误。
我们发现问题在于服务器上未安装自签名 CA 证书。通常,服务器将向尝试连接它的设备提供受信任的 CA 列表,并且设备必须发送已由服务器提供的任何 CA 签名的证书。但是由于我们的自签名 CA 证书没有安装在服务器上,浏览器可以提供一个服务器可以接受的证书。
所以我们继续在服务器上安装 CA 证书 - 控制面板 Hsphere。
我们获取了 ca 证书的内容并将其复制到服务器上的“证书颁发机构文件”文本区域中,每次抱怨“无法更新 SSL 配置不同的密钥和证书”时,服务器都不会接受它
CA证书是自己签名的,服务器怎么能说证书和密钥不同。
我们还尝试将 CA 证书文件和 CA 密钥文件的内容复制到“证书颁发机构文件”文本区域中,但这也行不通。
正如我所说,我们已经为此苦苦挣扎了一个多月。如果有人可以提供帮助,那将不胜感激。如果我们必须为服务付费,请告知我们。
提前致谢。