X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fsecurity%2FBasicX509Credential.h;h=f76465b8991517af538350b4fbc6f7e34bfbb2ee;hb=b383e021ae585cf97bf24285f65ae1e451b893e8;hp=b6accbe88450b43b8e2d762d9f12b38484eb4877;hpb=51e49c64f7124ce7f6b35bb3d7d1b0569ec45f9f;p=shibboleth%2Fxmltooling.git diff --git a/xmltooling/security/BasicX509Credential.h b/xmltooling/security/BasicX509Credential.h index b6accbe..f76465b 100644 --- a/xmltooling/security/BasicX509Credential.h +++ b/xmltooling/security/BasicX509Credential.h @@ -36,6 +36,11 @@ namespace xmltooling { class XMLTOOL_API BasicX509Credential : public virtual X509Credential { protected: + /** + * Constructor. + * + * @param ownCerts true iff any certificates subsequently stored should be freed by destructor + */ BasicX509Credential(bool ownCerts) : m_key(NULL), m_ownCerts(ownCerts), m_crl(NULL), m_keyInfo(NULL), m_compactKeyInfo(NULL) { } @@ -79,67 +84,11 @@ namespace xmltooling { public: virtual ~BasicX509Credential(); - const char* getAlgorithm() const { - if (m_key) { - switch (m_key->getKeyType()) { - case XSECCryptoKey::KEY_RSA_PRIVATE: - case XSECCryptoKey::KEY_RSA_PUBLIC: - case XSECCryptoKey::KEY_RSA_PAIR: - return "RSA"; - - case XSECCryptoKey::KEY_DSA_PRIVATE: - case XSECCryptoKey::KEY_DSA_PUBLIC: - case XSECCryptoKey::KEY_DSA_PAIR: - return "DSA"; - - case XSECCryptoKey::KEY_HMAC: - return "HMAC"; - - case XSECCryptoKey::KEY_SYMMETRIC: { - XSECCryptoSymmetricKey* skey = static_cast(m_key); - switch (skey->getSymmetricKeyType()) { - case XSECCryptoSymmetricKey::KEY_3DES_192: - return "DESede"; - case XSECCryptoSymmetricKey::KEY_AES_128: - return "AES"; - case XSECCryptoSymmetricKey::KEY_AES_192: - return "AES"; - case XSECCryptoSymmetricKey::KEY_AES_256: - return "AES"; - } - } - } - } - return NULL; - } - - unsigned int getKeySize() const { - if (m_key) { - switch (m_key->getKeyType()) { - case XSECCryptoKey::KEY_RSA_PRIVATE: - case XSECCryptoKey::KEY_RSA_PUBLIC: - case XSECCryptoKey::KEY_RSA_PAIR: { - XSECCryptoKeyRSA* rkey = static_cast(m_key); - return rkey->getLength(); - } - - case XSECCryptoKey::KEY_SYMMETRIC: { - XSECCryptoSymmetricKey* skey = static_cast(m_key); - switch (skey->getSymmetricKeyType()) { - case XSECCryptoSymmetricKey::KEY_3DES_192: - return 192; - case XSECCryptoSymmetricKey::KEY_AES_128: - return 128; - case XSECCryptoSymmetricKey::KEY_AES_192: - return 192; - case XSECCryptoSymmetricKey::KEY_AES_256: - return 256; - } - } - } - } - return 0; + UsageTypes getUsage() const { + return UNSPECIFIED_CREDENTIAL; } + const char* getAlgorithm() const; + unsigned int getKeySize() const; XSECCryptoKey* getPrivateKey() const { if (m_key) {