4 * This is free software; see Copyright file in the source
5 * distribution for preciese wording.
7 * Copyright (c) 2003 America Online, Inc. All rights reserved.
9 #ifndef __XMLSEC_NSS_X509_H__
10 #define __XMLSEC_NSS_X509_H__
14 #endif /* __cplusplus */
16 #ifndef XMLSEC_NO_X509
22 #include <xmlsec/xmlsec.h>
23 #include <xmlsec/keys.h>
24 #include <xmlsec/transforms.h>
27 * xmlSecNssKeyDataX509Id:
29 * The NSS X509 data klass.
31 #define xmlSecNssKeyDataX509Id \
32 xmlSecNssKeyDataX509GetKlass()
33 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataX509GetKlass(void);
35 XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssKeyDataX509GetKeyCert(xmlSecKeyDataPtr data);
36 XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data,
37 CERTCertificate* cert);
39 XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataX509AdoptCert(xmlSecKeyDataPtr data,
40 CERTCertificate* cert);
41 XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssKeyDataX509GetCert (xmlSecKeyDataPtr data,
43 XMLSEC_CRYPTO_EXPORT xmlSecSize xmlSecNssKeyDataX509GetCertsSize(xmlSecKeyDataPtr data);
45 XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataX509AdoptCrl(xmlSecKeyDataPtr data,
47 XMLSEC_CRYPTO_EXPORT CERTSignedCrl* xmlSecNssKeyDataX509GetCrl (xmlSecKeyDataPtr data,
49 XMLSEC_CRYPTO_EXPORT xmlSecSize xmlSecNssKeyDataX509GetCrlsSize(xmlSecKeyDataPtr data);
50 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataPtr xmlSecNssX509CertGetKey (CERTCertificate* cert);
54 * xmlSecNssKeyDataRawX509CertId:
56 * The NSS raw X509 certificate klass.
58 #define xmlSecNssKeyDataRawX509CertId \
59 xmlSecNssKeyDataRawX509CertGetKlass()
60 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataRawX509CertGetKlass(void);
63 * xmlSecNssX509StoreId:
65 * The NSS X509 store klass.
67 #define xmlSecNssX509StoreId \
68 xmlSecNssX509StoreGetKlass()
69 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataStoreId xmlSecNssX509StoreGetKlass(void);
70 XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssX509StoreFindCert (xmlSecKeyDataStorePtr store,
73 xmlChar *issuerSerial,
75 xmlSecKeyInfoCtx* keyInfoCtx);
77 XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssX509StoreVerify (xmlSecKeyDataStorePtr store,
79 xmlSecKeyInfoCtx* keyInfoCtx);
80 XMLSEC_CRYPTO_EXPORT int xmlSecNssX509StoreAdoptCert (xmlSecKeyDataStorePtr store,
81 CERTCertificate* cert,
82 xmlSecKeyDataType type);
85 #endif /* XMLSEC_NO_X509 */
89 #endif /* __cplusplus */
91 #endif /* __XMLSEC_NSS_X509_H__ */