new certificate attribute get methods
This commit is contained in:
@@ -286,9 +286,68 @@ namespace openssl {
|
|||||||
c);
|
c);
|
||||||
return std::string((char*)c, SHA_DIGEST_LENGTH);
|
return std::string((char*)c, SHA_DIGEST_LENGTH);
|
||||||
}
|
}
|
||||||
//! Get label.
|
//! Get common name.
|
||||||
std::string label() const {
|
std::string commonName() const {
|
||||||
return std::string();
|
X509_NAME *name(X509_get_subject_name(_x509));
|
||||||
|
ASN1_STRING* cn
|
||||||
|
(X509_NAME_ENTRY_get_data
|
||||||
|
(X509_NAME_get_entry
|
||||||
|
(name, X509_NAME_get_index_by_NID(name, NID_commonName, -1))));
|
||||||
|
return std::string((char*)M_ASN1_STRING_data(cn),
|
||||||
|
M_ASN1_STRING_length(cn));
|
||||||
|
}
|
||||||
|
//! Get country name.
|
||||||
|
std::string countryName() const {
|
||||||
|
X509_NAME *name(X509_get_subject_name(_x509));
|
||||||
|
ASN1_STRING* cn
|
||||||
|
(X509_NAME_ENTRY_get_data
|
||||||
|
(X509_NAME_get_entry
|
||||||
|
(name, X509_NAME_get_index_by_NID(name, NID_countryName, -1))));
|
||||||
|
return std::string((char*)M_ASN1_STRING_data(cn),
|
||||||
|
M_ASN1_STRING_length(cn));
|
||||||
|
}
|
||||||
|
//! Get locality name.
|
||||||
|
std::string localityName() const {
|
||||||
|
X509_NAME *name(X509_get_subject_name(_x509));
|
||||||
|
ASN1_STRING* cn
|
||||||
|
(X509_NAME_ENTRY_get_data
|
||||||
|
(X509_NAME_get_entry
|
||||||
|
(name, X509_NAME_get_index_by_NID(name, NID_localityName, -1))));
|
||||||
|
return std::string((char*)M_ASN1_STRING_data(cn),
|
||||||
|
M_ASN1_STRING_length(cn));
|
||||||
|
}
|
||||||
|
//! Get state or province name.
|
||||||
|
std::string stateOrProvinceName() const {
|
||||||
|
X509_NAME *name(X509_get_subject_name(_x509));
|
||||||
|
ASN1_STRING* cn
|
||||||
|
(X509_NAME_ENTRY_get_data
|
||||||
|
(X509_NAME_get_entry
|
||||||
|
(name, X509_NAME_get_index_by_NID
|
||||||
|
(name, NID_stateOrProvinceName, -1))));
|
||||||
|
return std::string((char*)M_ASN1_STRING_data(cn),
|
||||||
|
M_ASN1_STRING_length(cn));
|
||||||
|
}
|
||||||
|
//! Get organization name.
|
||||||
|
std::string organizationName() const {
|
||||||
|
X509_NAME *name(X509_get_subject_name(_x509));
|
||||||
|
ASN1_STRING* cn
|
||||||
|
(X509_NAME_ENTRY_get_data
|
||||||
|
(X509_NAME_get_entry
|
||||||
|
(name, X509_NAME_get_index_by_NID
|
||||||
|
(name, NID_organizationName, -1))));
|
||||||
|
return std::string((char*)M_ASN1_STRING_data(cn),
|
||||||
|
M_ASN1_STRING_length(cn));
|
||||||
|
}
|
||||||
|
//! Get organizational unit name.
|
||||||
|
std::string organizationalUnitName() const {
|
||||||
|
X509_NAME *name(X509_get_subject_name(_x509));
|
||||||
|
ASN1_STRING* cn
|
||||||
|
(X509_NAME_ENTRY_get_data
|
||||||
|
(X509_NAME_get_entry
|
||||||
|
(name, X509_NAME_get_index_by_NID
|
||||||
|
(name, NID_organizationalUnitName, -1))));
|
||||||
|
return std::string((char*)M_ASN1_STRING_data(cn),
|
||||||
|
M_ASN1_STRING_length(cn));
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
::X509* _x509;
|
::X509* _x509;
|
||||||
|
Reference in New Issue
Block a user