OpenDDS
Snapshot(2023/04/28-20:55)
|
#include <Certificate.h>
Public Types | |
typedef DCPS::unique_ptr< Certificate > | unique_ptr |
Public Member Functions | |
Certificate (const std::string &uri, const std::string &password="") | |
Certificate (const DDS::OctetSeq &src) | |
Certificate (const Certificate &other) | |
Certificate () | |
virtual | ~Certificate () |
Certificate & | operator= (const Certificate &rhs) |
bool | load (DDS::Security::SecurityException &ex, const std::string &uri, const std::string &password="") |
int | validate (const Certificate &ca, unsigned long int flags=0u) const |
int | verify_signature (const DDS::OctetSeq &src, const std::vector< const DDS::OctetSeq *> &expected_contents) const |
int | subject_name_to_str (std::string &dst, unsigned long flags=XN_FLAG_ONELINE) const |
int | subject_name_digest (std::vector< CORBA::Octet > &dst) const |
int | serialize (DDS::OctetSeq &dst) const |
int | deserialize (const DDS::OctetSeq &src) |
const DDS::OctetSeq & | original_bytes () const |
const char * | dsign_algo () const |
const char * | keypair_algo () const |
X509 * | x509 () const |
Private Member Functions | |
bool | loaded () |
int | cache_dsign_algo () |
void | load_cert_bytes (const std::string &path) |
void | load_cert_data_bytes (const std::string &data) |
Static Private Member Functions | |
static X509 * | x509_from_pem (const std::string &path, const std::string &password="") |
static X509 * | x509_from_pem (const DDS::OctetSeq &bytes, const std::string &password="") |
Private Attributes | |
X509 * | x_ |
DDS::OctetSeq | original_bytes_ |
std::string | dsign_algo_ |
Friends | |
class | verify_signature_impl |
OpenDDS_Security_Export std::ostream & | operator<< (std::ostream &, const Certificate &) |
OpenDDS_Security_Export bool | operator== (const Certificate &lhs, const Certificate &rhs) |
Definition at line 29 of file Certificate.h.
Definition at line 33 of file Certificate.h.
|
explicit |
Definition at line 25 of file Certificate.cpp.
References ACE_ERROR, LM_WARNING, load(), and DDS::Security::SecurityException::message.
|
explicit |
Definition at line 35 of file Certificate.cpp.
References deserialize().
OpenDDS::Security::SSL::Certificate::Certificate | ( | const Certificate & | other | ) |
Definition at line 46 of file Certificate.cpp.
References deserialize(), and original_bytes_.
OpenDDS::Security::SSL::Certificate::Certificate | ( | ) |
Definition at line 41 of file Certificate.cpp.
|
virtual |
|
private |
Definition at line 426 of file Certificate.cpp.
References dsign_algo_, and x_.
Referenced by deserialize(), and load().
int OpenDDS::Security::SSL::Certificate::deserialize | ( | const DDS::OctetSeq & | src | ) |
Definition at line 634 of file Certificate.cpp.
References cache_dsign_algo(), original_bytes_, and x_.
Referenced by Certificate(), and operator=().
|
inline |
Definition at line 92 of file Certificate.h.
Referenced by OpenDDS::Security::AuthenticationBuiltInImpl::begin_handshake_reply(), and OpenDDS::Security::AuthenticationBuiltInImpl::begin_handshake_request().
const char * OpenDDS::Security::SSL::Certificate::keypair_algo | ( | ) | const |
Definition at line 340 of file Certificate.cpp.
References dsign_algo_.
Referenced by OpenDDS::Security::AuthenticationBuiltInImpl::get_identity_token().
bool OpenDDS::Security::SSL::Certificate::load | ( | DDS::Security::SecurityException & | ex, |
const std::string & | uri, | ||
const std::string & | password = "" |
||
) |
Definition at line 72 of file Certificate.cpp.
References ACE_ERROR, cache_dsign_algo(), OpenDDS::Security::CommonUtilities::URI::everything_else, LM_WARNING, load_cert_bytes(), load_cert_data_bytes(), loaded(), original_bytes_, OpenDDS::Security::CommonUtilities::URI::scheme, OpenDDS::Security::CommonUtilities::set_security_error(), OpenDDS::Security::CommonUtilities::URI::URI_DATA, OpenDDS::Security::CommonUtilities::URI::URI_FILE, OpenDDS::Security::CommonUtilities::URI::URI_PKCS11, OpenDDS::Security::CommonUtilities::URI::URI_UNKNOWN, x509_from_pem(), and x_.
Referenced by Certificate().
|
private |
Definition at line 431 of file Certificate.cpp.
References ACE_ERROR, ACE_OS::fclose(), ACE_OS::fopen(), ACE_OS::fread(), LM_WARNING, ACE_OS::memcpy(), and original_bytes_.
Referenced by load().
|
private |
Definition at line 489 of file Certificate.cpp.
References original_bytes_.
Referenced by load().
|
inlineprivate |
Definition at line 100 of file Certificate.h.
Referenced by load().
Certificate & OpenDDS::Security::SSL::Certificate::operator= | ( | const Certificate & | rhs | ) |
Definition at line 61 of file Certificate.cpp.
References deserialize(), original_bytes_, and x_.
|
inline |
Definition at line 90 of file Certificate.h.
Referenced by OpenDDS::Security::AuthenticationBuiltInImpl::begin_handshake_reply(), and OpenDDS::Security::AuthenticationBuiltInImpl::begin_handshake_request().
int OpenDDS::Security::SSL::Certificate::serialize | ( | DDS::OctetSeq & | dst | ) | const |
Definition at line 572 of file Certificate.cpp.
References original_bytes_.
int OpenDDS::Security::SSL::Certificate::subject_name_digest | ( | std::vector< CORBA::Octet > & | dst | ) | const |
Definition at line 314 of file Certificate.cpp.
References name, OPENDDS_SSL_LOG_ERR, and x_.
Referenced by OpenDDS::Security::SSL::make_adjusted_guid().
int OpenDDS::Security::SSL::Certificate::subject_name_to_str | ( | std::string & | dst, |
unsigned long | flags = XN_FLAG_ONELINE |
||
) | const |
Definition at line 272 of file Certificate.cpp.
References OpenDDS::DCPS::back_inserter(), OpenDDS::XTypes::copy(), name, OPENDDS_SSL_LOG_ERR, and x_.
Referenced by OpenDDS::Security::AuthenticationBuiltInImpl::get_identity_token(), and OpenDDS::Security::AccessControlBuiltInImpl::validate_remote_permissions().
int OpenDDS::Security::SSL::Certificate::validate | ( | const Certificate & | ca, |
unsigned long int | flags = 0u |
||
) | const |
Definition at line 121 of file Certificate.cpp.
References ACE_ERROR, ACE_ERROR_RETURN, ACE_TEXT(), LM_WARNING, OPENDDS_SSL_LOG_ERR, and x_.
int OpenDDS::Security::SSL::Certificate::verify_signature | ( | const DDS::OctetSeq & | src, |
const std::vector< const DDS::OctetSeq *> & | expected_contents | ||
) | const |
Definition at line 254 of file Certificate.cpp.
Referenced by OpenDDS::Security::SSL::verify_serialized().
|
inline |
Definition at line 96 of file Certificate.h.
Referenced by OpenDDS::Security::SSL::X509Store::add_cert(), and OpenDDS::Security::SSL::StackOfX509::push().
|
staticprivate |
Definition at line 498 of file Certificate.cpp.
References OPENDDS_SSL_LOG_ERR.
Referenced by load().
|
staticprivate |
|
friend |
Definition at line 644 of file Certificate.cpp.
|
friend |
Definition at line 656 of file Certificate.cpp.
|
friend |
Definition at line 31 of file Certificate.h.
|
private |
Definition at line 123 of file Certificate.h.
Referenced by cache_dsign_algo(), and keypair_algo().
|
private |
Definition at line 122 of file Certificate.h.
Referenced by Certificate(), deserialize(), load(), load_cert_bytes(), load_cert_data_bytes(), operator=(), OpenDDS::Security::SSL::operator==(), and serialize().
|
private |
Definition at line 121 of file Certificate.h.
Referenced by cache_dsign_algo(), deserialize(), load(), OpenDDS::Security::SSL::operator<<(), operator=(), OpenDDS::Security::SSL::operator==(), subject_name_digest(), subject_name_to_str(), validate(), verify_signature(), and ~Certificate().