PKIFXSECCrypto.h
Go to the documentation of this file.00001
00010 #if !defined(__PKIFXSECCRYPTO_H__)
00011 #define __PKIFXSECCRYPTO_H__
00012
00013 #include "pkif.h"
00014 #include "PKIFXSECProviderDll.h"
00015
00016 #include <xsec/framework/XSECDefs.hpp>
00017 #include <xsec/enc/XSECCryptoProvider.hpp>
00018 #include <xsec/enc/XSECCryptoHash.hpp>
00019 #include <xsec/enc/XSECCryptoKeyHMAC.hpp>
00020 #include <xsec/enc/XSECCryptoBase64.hpp>
00021 #include <xsec/enc/XSECCryptoX509.hpp>
00022 #include <xsec/enc/XSECCryptoKeyDSA.hpp>
00023 #include <xsec/enc/XSECCryptoKeyRSA.hpp>
00024 #include <xsec/enc/XSECCryptoSymmetricKey.hpp>
00025
00026 struct PKIFXSECCryptoImpl;
00027
00039 class PKIFXML_API PKIFXSECCrypto : public XSECCryptoProvider {
00040 public:
00041 PKIFXSECCrypto();
00042 PKIFXSECCrypto(IPKIFMediatorPtr & med);
00043 virtual ~PKIFXSECCrypto();
00044 virtual XSECCryptoHash * hashSHA1() const;
00045 virtual XSECCryptoHash * hashSHA(int length = 160) const;
00046 virtual XSECCryptoHash * hashHMACSHA1() const;
00047 virtual XSECCryptoHash * hashHMACSHA(int length = 160) const;
00048 virtual XSECCryptoHash * hashMD5() const;
00049 virtual XSECCryptoHash * hashHMACMD5() const;
00050 virtual XSECCryptoKeyHMAC * keyHMAC(void) const;
00051 virtual XSECCryptoBase64 * base64() const;
00052 virtual XSECCryptoKeyDSA * keyDSA() const;
00053 virtual XSECCryptoKeyRSA * keyRSA() const;
00054 virtual XSECCryptoX509 * X509() const;
00055 virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
00056 virtual bool algorithmSupported(XSECCryptoHash::HashType alg) const;
00057 virtual XSECCryptoSymmetricKey * keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
00058 virtual unsigned int getRandom(unsigned char * buffer, unsigned int numOctets) const;
00059 virtual const XMLCh * getProviderName() const;
00060
00061 protected:
00062 PKIFXSECCryptoImpl * m_impl;
00063
00064 };
00065
00066 const XMLCh * pkifProvName();
00067
00068 #endif
00069