繁体   English   中英

SSL握手后如何获取密码签名?

[英]How to get the cipher signature after SSL handshake?

我正在用openssl制作DTLS客户端-服务器程序。 该程序运行良好,但是在SSL握手后我找不到找到加密签名的方法。

在SSL握手之后,我的意思是在客户端之后:

if (SSL_connect(ssl) <= 0)
{
    //error handling 
}

在服务器端,之后:

do 
{
    ret = SSL_accept(ssl);
} while (ret == 0);

我可以从捕获的DTLS数据包中看到实际的密码签名是sha256WithRSAEncryption ,但是如何从openssl获取此信息?

请注意,即使我使用的是DTLS协议,代码也几乎与TLS / SSL相同。

所使用的密码算法存储在证书中。 因此,当您拥有证书(x509)时,可以提取密码算法的类型。 仅数字版本:

X509_get_signature_type(client_cert)

要获取人类可读的字符串,请使用以下命令转换前一个函数的返回值:

OBJ_nid2ln(X509_get_signature_type(client_cert))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM