我正在尝试使用TunnelBlick(已知良好的 OS/X OpenVPN 2.2.1 客户端)使用证书进行连接,但未成功。这是我收到的(已清理)错误消息:
2012-01-11 11:18:26 TLS:来自 **.**.**.** 的初始数据包:1194,sid=17a4a801 5012e004 2012-01-11 11:18:26 验证错误:深度=1,错误=证书链中的自签名证书: /C=US/ST=**/L=**/O=**/CN=** /电子邮件地址=** 2012-01-11 11:18:26 TLS_ERROR:BIO 读取 tls_read_plaintext 错误:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 2012-01-11 11:18:26 TLS 错误:TLS 对象 -> 传入明文读取错误 2012-01-11 11:18:26 TLS 错误:TLS 握手失败 2012-01-11 11:18:26 TCP/UDP:关闭套接字
现在,问题来了。我自己生成了一个 CSR来请求这个证书,使用对方提供给我的ca.crt文件(实际上,他们做了两次只是为了确保)。
客户端配置中的相关条目是:
ca ca.crt
cert my.crt
key my.key
Run Code Online (Sandbox Code Playgroud)
而且,此外......我可以通过这种方式验证密钥:
openssl verify -CAfile ca.crt my.crt
my.crt: OK
好的,所以现在我彻底迷惑和难住了。此时,我知道CSR 和密钥是使用正确的 CSR 生成的。事实上,这是执行此操作的命令:
openssl req -newkey …Run Code Online (Sandbox Code Playgroud)