SSL/TLS 客户端密钥交换后握手错误

SSL/TLS handshake error after client key exchange

我正在尝试实施基于证书的身份验证,但在 SSL/TLS 握手期间出现错误。我尝试使用 openssl s_client -state -debug -connect example.si:443 调试它,但老实说我不够精通,无法解释输出:

http://pastebin.com/7BiJXeAY

据我所知,证书链已得到正确验证(我也检查过 here),而且我的 httpd.conf 中似乎没有任何错误] 文件,在 Apache 2.2 服务器上设置 VirtualHost 时:

<VirtualHost *:443>
   DocumentRoot D:/www/authentication
   ServerName lpt.uni-mb.si
   ServerAlias lpt.uni-mb.si
   SSLEngine on
   SSLCertificateFile "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\ssl_lpt.uni-mb.si.crt"
   SSLCACertificateFile "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\ssl\root.crt"
   SSLCertificateKeyFile "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\ssl\server.key"
   SSLCertificateChainFile "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\ssl_Intermediate.crt"
   SSLProtocol all -SSLv2 -SSLv3
   SSLCipherSuite HIGH:!aNULL:!MD5:!RC4
   SSLVerifyClient require
   SSLVerifyDepth  10
   SSLOptions +StdEnvVars +ExportCertData
   <Directory "D:/www/authentication">
       Options Indexes Includes
       AllowOverride All
       Order Deny,Allow
       Allow from all
       Options +FollowSymlinks
   </Directory>
</VirtualHost>

考虑到非常短的写入操作,是否客户端密钥交换存在一些问题?

据我从你的 pastebin 中看到的 link,你发布了:

openssl s_client -state -debug
    -CAfile "C:\Program Files (x86)\Apache Software Foundation\Apache 2.2\conf\ssl\root.crt"
    -connect lpt.uni-mb.si:443

您还没有提供客户端证书。尝试在 cert/key 文件中添加 openssl 的 -cert-key 参数。