何谓';编写证书验证';在openssl中?
我使用存储在令牌中的密钥和下面的命令发送web服务请求何谓';编写证书验证';在openssl中?,openssl,ssl-certificate,tls1.2,smartcard,stunnel,Openssl,Ssl Certificate,Tls1.2,Smartcard,Stunnel,我使用存储在令牌中的密钥和下面的命令发送web服务请求 openssl s_client -engine pkcs11 -key slot_1-id_00 -keyform engine -CAfile cacert.pem -cert cert.pem -certform PEM -connect hostname:443 -tls1_2 -state -prexit 并将错误作为 SSL_connect:error in SSLv3/TLS write certificate verify
openssl s_client -engine pkcs11 -key slot_1-id_00 -keyform engine -CAfile cacert.pem -cert cert.pem -certform PEM -connect hostname:443 -tls1_2 -state -prexit
并将错误作为
SSL_connect:error in SSLv3/TLS write certificate verify
13808:error:8207A006:PKCS#11 module:pkcs11_private_encrypt:Function failed:p11_rsa.c:116:
13808:error:14166006:SSL routines:tls_construct_client_verify:EVP lib:..\Users\Downloads\openssl-1.1.0j.tar\openssl-1.1.0j\ssl\statem\statem_clnt.c:2663:
我在我的windows计算机上使用openssl 1.1.0j,您能告诉我是什么导致了这个问题吗。关于此问题,没有太多文档可用。
写入证书验证
是一种协议状态,包括生成和发送(客户端)证书验证消息;看见错误堆栈有更具体的14166006:SSL例程:tls\u construct\u client\u verify:EVP lib
(以及源文件和行)--当libssl代码调用PKCS11引擎要求设备对需要签名的数据进行签名以向服务器证明您的身份时,会发生错误。不幸的是,PKCS11引擎将错误报告为简单的“函数失败”,这不是很有用
您是否可以检查引擎(或驱动程序?)是否将相关信息放在其他任何位置,例如Windows事件日志
你从哪里得到的PKCS11引擎?有医生吗?您确定它与您的OpenSSL兼容吗?您的OpenSSL是如何构建的(例如编译器、Microsoft的C运行时版本、动态或静态LIB)
您是否有其他成功使用此硬件的软件,最好是来自该硬件的相同密钥
你能(也可以)把这个硬件移到另一台机器上试试吗 下面是这一行代码:乍一看,它似乎无法使用客户端证书创建签名,但我不知道客户端证书是如何工作的。我猜你想要从EVP_Sign*函数中跟踪,以准确地看到发生了什么。