我的任务是从 TLS 证书中获取“通用名称”信息。我设法通过解析 TLS“证书”(在“hello server”之后)消息并获取指向证书的指针并传递给 X509_NAME_get_text_by_NID 来做到这一点;
p = certificate;//this is a pointer to certificate
X509 *x;
x = d2i_X509(NULL, &p, certificate_lenght);
if (x == NULL)
{
fout << " X509 object is null " << std::endl;
return;
}
fout << " no x509 error " << endl;
X509_NAME_get_text_by_NID(X509_get_subject_name(x),NID_commonName, peer_CN, 256);
我希望我在做正确的事情。
我的问题是我为“DER”格式设计了我的逻辑,这些信息能否以“PEM”格式出现。如果是,我如何了解证书是 PEM 还是 DER 格式?