我陷入了一个非常混乱的境地:
- 我在服务器 A 上生成了客户端自签名证书,服务器 A 是 CA。
- 然后,我将自签名证书(.crt,.key)复制到服务器 B,它本身也是一个 CA。
- 我开始在服务器 B 上使用这个自签名证书,并且成功了,所以之后我就没想太多。
现在,我需要撤销这个自签名证书,但是我无法在服务器 B 上执行此操作(它抱怨“名称不匹配”)。我已设法在签名该证书的服务器 A 上撤销了它,但是我如何让服务器 B 知道该证书确实已被撤销?
我尝试将撤销的证书复制到服务器 B,但没有成功......
平台:
- 服务器A:Ubuntu服务器10.10,openssl版本0.9.8o
- 服务器B:CentOS 4.4,openssl版本0.9.7a
如果我还能提供其他信息,请告诉我。
希望我的解释有意义,如果没有,请给我留言。任何帮助都将不胜感激!
答案1
如果相同的客户端证书在向 B 进行身份验证时仍然有效,则您必须将服务器和客户端证书从 A 复制到 B。情况不是这样吗?如果您只移动了客户端证书,而没有移动服务器证书,但您仍然可以使用来自 A 的客户端证书向 B 进行身份验证,那么您在 A 和 B 上必须拥有相同的 CA。
您无需将已撤销的证书复制到 B,只需将证书添加到 B 的撤销列表中即可。通常,只要服务器和客户端证书由同一 CA 签名,身份验证就会继续进行。撤销是通过向文本文件添加条目来实现的。当您使用证书进行身份验证时,OpenVPN 将检查您的证书撤销列表 (CRL) 以查看证书是否已被撤销。您不会对实际证书进行任何更改。