私の仕事は、TLS 証明書から「共通名」情報を取得することです。私はTLSの「証明書」(「こんにちはサーバー」の後に来る)メッセージを解析し、証明書へのポインタを取得して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 形式かをどのように理解できますか?