- XSECCryptoKey* getPrivateKey() const {
- if (m_key) {
- XSECCryptoKey::KeyType type = m_key->getKeyType();
- if (type!=XSECCryptoKey::KEY_RSA_PUBLIC && type!=XSECCryptoKey::KEY_DSA_PUBLIC)
- return m_key;
- }
- return NULL;
- }
-
- XSECCryptoKey* getPublicKey() const {
- if (m_key) {
- XSECCryptoKey::KeyType type = m_key->getKeyType();
- if (type!=XSECCryptoKey::KEY_RSA_PRIVATE && type!=XSECCryptoKey::KEY_DSA_PRIVATE)
- return m_key;
- }
- return NULL;
- }
-
- std::vector<std::string>::size_type getKeyNames(std::vector<std::string>& results) const;
-
- const xmlsignature::KeyInfo* getKeyInfo(bool compact=false) const {
- return compact ? m_compactKeyInfo : (m_keyInfo ? m_keyInfo : m_compactKeyInfo);
- }
-
- /**
- * 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.
- *
- * @return a certificate chain
- */
- const std::vector<XSECCryptoX509*>& getEntityCertificateChain() const {
- return m_xseccerts;
- }
-
- XSECCryptoX509CRL* getCRL() const {
- return m_crl;
- }
+ // Virtual function overrides.
+ unsigned int getUsage() const;
+ const char* getAlgorithm() const;
+ unsigned int getKeySize() const;
+ XSECCryptoKey* getPrivateKey() const;
+ XSECCryptoKey* getPublicKey() const;
+ const std::set<std::string>& getKeyNames() const;
+ xmlsignature::KeyInfo* getKeyInfo(bool compact=false) const;
+ const std::vector<XSECCryptoX509*>& getEntityCertificateChain() const;
+ XSECCryptoX509CRL* getCRL() const;
+ const std::vector<XSECCryptoX509CRL*>& getCRLs() const;
+ const char* getSubjectName() const;
+ const char* getIssuerName() const;
+ const char* getSerialNumber() const;
+ void extract();