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 #ifndef NSSCRYPTOX509_INCLUDE
00027 #define NSSCRYPTOX509_INCLUDE
00028
00029 #include <xsec/framework/XSECDefs.hpp>
00030 #include <xsec/enc/XSECCryptoX509.hpp>
00031
00032 #if defined (HAVE_NSS)
00033
00034 class NSSCryptoProvider;
00035
00044 class DSIG_EXPORT NSSCryptoX509 : public XSECCryptoX509 {
00045
00046 public :
00047
00050
00058 NSSCryptoX509();
00059
00069 NSSCryptoX509(CERTCertificate * pCert);
00070
00071 virtual ~NSSCryptoX509();
00072
00074
00076
00085 virtual XSECCryptoKey::KeyType getPublicKeyType();
00086
00095 virtual XSECCryptoKey * clonePublicKey();
00096
00101 virtual const XMLCh * getProviderName();
00102
00104
00107
00117 virtual void loadX509Base64Bin(const char * buf, unsigned int len);
00118
00125 virtual safeBuffer &getDEREncodingSB(void) {return m_DERX509;}
00126
00128
00129 private:
00130
00131 safeBuffer m_DERX509;
00132 CERTCertificate * mp_cert;
00133
00134 };
00135
00136 #endif
00137 #endif
00138