我正在验证服务器上的客户端证书。
我使用了SSL_CTX_set_verify,并且有一个有效的回调API,我在其中验证客户端证书的到期日期和其他一些参数。我需要提取客户端证书的"颁发者"one_answers"颁发给"值。
回调功能类似于
int certificateVerificationCallBack(int preverify_ok, X509_STORE_CTX *ctx)
{
X509* cert = X509_STORE_CTX_get_current_cert(ctx);
}
我正在将客户端证书的详细信息填充到X509指针中,并且也可以获得到期日期(直接访问)。但我不知道用什么OpenSSL API来获得"issued by"one_answers"issuent to"。
如果需要证书的使用者名称和颁发者名称,则需要使用X509_get_subject_name()
和X509_get_issuer_name()
API。它们采用X509指针并返回各自的名称。
更多信息可以在这里和这里获得