小编JoJ*_*Dad的帖子

openssl 客户端身份验证错误:tlsv1 警报未知 ca:... SSL 警报编号 48

我已经使用 openssl 生成了一个证书并将其放置在客户端的机器上,但是当我尝试使用该证书连接到我的服务器时,我在从我的服务器返回的主题行中提到了错误。

这就是我所做的。

1) 我使用 openssl 进行测试连接以查看我的服务器可接受的客户端证书 CA 名称是什么,我从我的客户端机器向我的服务器发出以下命令:

openssl s_client -connect myupload.mysite.net:443/cgi-bin/posupload.cgi -prexit
Run Code Online (Sandbox Code Playgroud)

我得到的部分内容如下:

Acceptable client certificate CA names
/C=US/ST=Colorado/L=England/O=Inteliware/OU=Denver Office/CN=Tim Drake/emailAddress=tdrake@mysite.com
/C=US/ST=Colorado/O=Inteliware/OU=Denver Office/CN=myupload.mysite.net/emailAddress=tdrake@mysite.com
Run Code Online (Sandbox Code Playgroud)

2) 这是服务器上关于 SSL 客户端身份验证的 apache 配置文件中的内容:

SSLCACertificatePath /etc/apache2/certs

SSLVerifyClient require 
SSLVerifyDepth  10
Run Code Online (Sandbox Code Playgroud)

3) 我使用 mypos.pem 和 mypos.key 生成了一个名为“client.pem”的自签名客户端证书,所以当我运行这个命令时:

openssl x509 -in client.pem -noout -issuer -subject -serial
Run Code Online (Sandbox Code Playgroud)

这是返回的内容:

issuer= /C=US/ST=Colorado/O=Inteliware/OU=Denver Office/CN=myupload.mysite.net/emailAddress=tdrake@mysite.com
subject= /C=US/ST=Colorado/O=Inteliware/OU=Denver Office/CN=mlR::mlR/emailAddress=admin@inteliware.com
serial=0E
Run Code Online (Sandbox Code Playgroud)

(请注意 mypos.pem 在 /etc/apache2/certs/ 和 mypos.key 保存在 /etc/apache2/certs/private/)

4)我把client.pem放在客户端机器上,在客户端机器上,我运行以下命令:

openssl s_client -connect myupload.mysite.net:443/cgi-bin/posupload.cgi -status -cert client.pem
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

CONNECTED(00000003)
OCSP response: …
Run Code Online (Sandbox Code Playgroud)

certificate authentication openssl

7
推荐指数
2
解决办法
8万
查看次数

标签 统计

authentication ×1

certificate ×1

openssl ×1