2

CのX509証明書オブジェクトからCNとemailAddressフィールドの両方を取得しようとしています。現在、次のようなCNを取得しています。

cert_entry = X509_NAME_get_entry(X509_get_subject_name(cert), 0);
ASN1_STRING *entryData = X509_NAME_ENTRY_get_data( cert_entry );
ASN1_STRING_to_UTF8(&CN, entryData);
printf("%s",CN);

私の質問は、emailAddressフィールドを取得するにはどうすればよいですか?文字列を解析することを考えましたが、それを行うためのよりスマートな方法が必要だと思いますか?

4

1 に答える 1

4

理解した

X509_NAME * subject_name = X509_get_subject_name(cert); 
int nid_email = OBJ_txt2nid("emailAddress"); 
X509_NAME_get_text_by_NID(subject_name, nid_email, peer_email, 256);
于 2013-03-22T05:00:40.260 に答える