00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef XSECCRYPTOX509_INCLUDE
00029 #define XSECCRYPTOX509_INCLUDE
00030
00031 #include <xsec/framework/XSECDefs.hpp>
00032 #include <xsec/enc/XSECCryptoKey.hpp>
00033 #include <xsec/utils/XSECSafeBuffer.hpp>
00034
00049 class DSIG_EXPORT XSECCryptoX509 {
00050
00051 public :
00052
00055
00056 XSECCryptoX509() {};
00057 virtual ~XSECCryptoX509() {};
00058
00060
00062
00071 virtual XSECCryptoKey::KeyType getPublicKeyType() = 0;
00072
00081 virtual XSECCryptoKey * clonePublicKey() = 0;
00082
00087 virtual const XMLCh * getProviderName() = 0;
00088
00090
00093
00103 virtual void loadX509Base64Bin(const char * buf, unsigned int len) = 0;
00104
00115 void loadX509PEM(const char * buf, unsigned int len = 0);
00116
00123 virtual safeBuffer &getDEREncodingSB(void) = 0;
00124
00126
00127 };
00128
00129
00130 #endif
00131
00132