Wraps an X.509-based Credential by storing key/cert objects inside. More...
#include <xmltooling/security/BasicX509Credential.h>
Public Member Functions | |
unsigned int | getUsage () const |
Get credential usage types. | |
const char * | getAlgorithm () const |
Returns an algorithm identifier for the Credential. | |
unsigned int | getKeySize () const |
Returns the size of the key in bits. | |
const XSECCryptoKey * | getPrivateKey () const |
Returns a secret or private key to use for signing or decryption operations. | |
const XSECCryptoKey * | getPublicKey () const |
Returns a secret or public key to use for verification or encryption operations. | |
const std::set< std::string > & | getKeyNames () const |
Returns names representing the Credential. | |
xmlsignature::KeyInfo * | getKeyInfo (bool compact=false) const |
Returns a ds:KeyInfo object representing the Credential for use in communicating with other entities. | |
const std::vector < XSECCryptoX509 * > & | getEntityCertificateChain () const |
Gets an immutable collection of certificates in the entity's trust chain. | |
const std::vector < XSECCryptoX509CRL * > & | getCRLs () const |
Gets an immutable collection of all CRLs associated with the credential. | |
const char * | getSubjectName () const |
Gets the subject name of the first certificate in the chain. | |
const char * | getIssuerName () const |
Gets the issuer name of the first certificate in the chain. | |
const char * | getSerialNumber () const |
Gets the serial number of the first certificate in the chain. | |
void | extract () |
Extracts properties like issuer and subject from the first certificate in the chain. | |
Protected Member Functions | |
BasicX509Credential (bool ownCerts) | |
Constructor. | |
BasicX509Credential (XSECCryptoKey *key, const std::vector< XSECCryptoX509 * > &certs, XSECCryptoX509CRL *crl=0) | |
Constructor. | |
BasicX509Credential (XSECCryptoKey *key, const std::vector< XSECCryptoX509 * > &certs, const std::vector< XSECCryptoX509CRL * > &crls) | |
Constructor. | |
void | initKeyInfo (unsigned int types=0) |
Initializes (or reinitializes) a ds:KeyInfo to represent the Credential. | |
Protected Attributes | |
boost::scoped_ptr< XSECCryptoKey > | m_key |
The private/secret key/keypair. | |
std::set< std::string > | m_keyNames |
Key names (derived from credential, KeyInfo, or both). | |
std::string | m_subjectName |
Subject DN. | |
std::string | m_issuerName |
Issuer DN. | |
std::string | m_serial |
Serial number. | |
std::vector< XSECCryptoX509 * > | m_xseccerts |
The X.509 certificate chain. | |
bool | m_ownCerts |
Indicates whether to destroy certificates. | |
std::vector< XSECCryptoX509CRL * > | m_crls |
The X.509 CRLs. | |
boost::scoped_ptr < xmlsignature::KeyInfo > | m_keyInfo |
The KeyInfo object representing the information. | |
boost::scoped_ptr < xmlsignature::KeyInfo > | m_compactKeyInfo |
The KeyInfo object representing the information in compact form. |
Wraps an X.509-based Credential by storing key/cert objects inside.
xmltooling::BasicX509Credential::BasicX509Credential | ( | bool | ownCerts | ) | [protected] |
Constructor.
ownCerts | true iff any certificates subsequently stored should be freed by destructor |
xmltooling::BasicX509Credential::BasicX509Credential | ( | XSECCryptoKey * | key, | |
const std::vector< XSECCryptoX509 * > & | certs, | |||
XSECCryptoX509CRL * | crl = 0 | |||
) | [protected] |
Constructor.
key | key pair or secret key | |
certs | array of X.509 certificates, the first entry being the entity certificate | |
crl | optional CRL |
xmltooling::BasicX509Credential::BasicX509Credential | ( | XSECCryptoKey * | key, | |
const std::vector< XSECCryptoX509 * > & | certs, | |||
const std::vector< XSECCryptoX509CRL * > & | crls | |||
) | [protected] |
Constructor.
key | key pair or secret key | |
certs | array of X.509 certificates, the first entry being the entity certificate | |
crls | array of X.509 CRLs |
const char* xmltooling::BasicX509Credential::getAlgorithm | ( | ) | const [virtual] |
Returns an algorithm identifier for the Credential.
Implements xmltooling::Credential.
const std::vector<XSECCryptoX509CRL*>& xmltooling::BasicX509Credential::getCRLs | ( | ) | const [virtual] |
Gets an immutable collection of all CRLs associated with the credential.
Implements xmltooling::X509Credential.
const std::vector<XSECCryptoX509*>& xmltooling::BasicX509Credential::getEntityCertificateChain | ( | ) | const [virtual] |
Gets an immutable collection of certificates in the entity's trust chain.
The entity certificate is contained within this list. No specific ordering of the certificates is guaranteed.
Implements xmltooling::X509Credential.
const char* xmltooling::BasicX509Credential::getIssuerName | ( | ) | const [virtual] |
Gets the issuer name of the first certificate in the chain.
Implements xmltooling::X509Credential.
xmlsignature::KeyInfo* xmltooling::BasicX509Credential::getKeyInfo | ( | bool | compact = false |
) | const [virtual] |
Returns a ds:KeyInfo object representing the Credential for use in communicating with other entities.
compact | true iff the communication medium is such that only compact forms should be included |
Implements xmltooling::Credential.
const std::set<std::string>& xmltooling::BasicX509Credential::getKeyNames | ( | ) | const [virtual] |
Returns names representing the Credential.
Names should be unique in the context of the comparisons against CredentialCriteria that deployments expect to see.
Implements xmltooling::Credential.
unsigned int xmltooling::BasicX509Credential::getKeySize | ( | ) | const [virtual] |
Returns the size of the key in bits.
Implements xmltooling::Credential.
const XSECCryptoKey* xmltooling::BasicX509Credential::getPrivateKey | ( | ) | const [virtual] |
Returns a secret or private key to use for signing or decryption operations.
Implements xmltooling::Credential.
const XSECCryptoKey* xmltooling::BasicX509Credential::getPublicKey | ( | ) | const [virtual] |
Returns a secret or public key to use for verification or encryption operations.
Implements xmltooling::Credential.
const char* xmltooling::BasicX509Credential::getSerialNumber | ( | ) | const [virtual] |
Gets the serial number of the first certificate in the chain.
Implements xmltooling::X509Credential.
const char* xmltooling::BasicX509Credential::getSubjectName | ( | ) | const [virtual] |
Gets the subject name of the first certificate in the chain.
Implements xmltooling::X509Credential.
unsigned int xmltooling::BasicX509Credential::getUsage | ( | ) | const [virtual] |
void xmltooling::BasicX509Credential::initKeyInfo | ( | unsigned int | types = 0 |
) | [protected] |
Initializes (or reinitializes) a ds:KeyInfo to represent the Credential.
types | the kinds of KeyInfo content to include |
boost::scoped_ptr<xmlsignature::KeyInfo> xmltooling::BasicX509Credential::m_compactKeyInfo [protected] |
The KeyInfo object representing the information in compact form.
std::vector<XSECCryptoX509CRL*> xmltooling::BasicX509Credential::m_crls [protected] |
The X.509 CRLs.
std::string xmltooling::BasicX509Credential::m_issuerName [protected] |
Issuer DN.
boost::scoped_ptr<XSECCryptoKey> xmltooling::BasicX509Credential::m_key [protected] |
The private/secret key/keypair.
boost::scoped_ptr<xmlsignature::KeyInfo> xmltooling::BasicX509Credential::m_keyInfo [protected] |
The KeyInfo object representing the information.
std::set<std::string> xmltooling::BasicX509Credential::m_keyNames [protected] |
Key names (derived from credential, KeyInfo, or both).
bool xmltooling::BasicX509Credential::m_ownCerts [protected] |
Indicates whether to destroy certificates.
std::string xmltooling::BasicX509Credential::m_serial [protected] |
Serial number.
std::string xmltooling::BasicX509Credential::m_subjectName [protected] |
Subject DN.
std::vector<XSECCryptoX509*> xmltooling::BasicX509Credential::m_xseccerts [protected] |
The X.509 certificate chain.