diff options
Diffstat (limited to 'include/xmlsec/nss/x509.h')
-rw-r--r-- | include/xmlsec/nss/x509.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/include/xmlsec/nss/x509.h b/include/xmlsec/nss/x509.h new file mode 100644 index 00000000..fe5ceb4a --- /dev/null +++ b/include/xmlsec/nss/x509.h @@ -0,0 +1,91 @@ +/** + * XMLSec library + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (c) 2003 America Online, Inc. All rights reserved. + */ +#ifndef __XMLSEC_NSS_X509_H__ +#define __XMLSEC_NSS_X509_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifndef XMLSEC_NO_X509 + +#include <nspr.h> +#include <nss.h> +#include <cert.h> + +#include <xmlsec/xmlsec.h> +#include <xmlsec/keys.h> +#include <xmlsec/transforms.h> + +/** + * xmlSecNssKeyDataX509Id: + * + * The NSS X509 data klass. + */ +#define xmlSecNssKeyDataX509Id \ + xmlSecNssKeyDataX509GetKlass() +XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataX509GetKlass(void); + +XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssKeyDataX509GetKeyCert(xmlSecKeyDataPtr data); +XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data, + CERTCertificate* cert); + +XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataX509AdoptCert(xmlSecKeyDataPtr data, + CERTCertificate* cert); +XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssKeyDataX509GetCert (xmlSecKeyDataPtr data, + xmlSecSize pos); +XMLSEC_CRYPTO_EXPORT xmlSecSize xmlSecNssKeyDataX509GetCertsSize(xmlSecKeyDataPtr data); + +XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, + CERTSignedCrl* crl); +XMLSEC_CRYPTO_EXPORT CERTSignedCrl* xmlSecNssKeyDataX509GetCrl (xmlSecKeyDataPtr data, + xmlSecSize pos); +XMLSEC_CRYPTO_EXPORT xmlSecSize xmlSecNssKeyDataX509GetCrlsSize(xmlSecKeyDataPtr data); +XMLSEC_CRYPTO_EXPORT xmlSecKeyDataPtr xmlSecNssX509CertGetKey (CERTCertificate* cert); + + +/** + * xmlSecNssKeyDataRawX509CertId: + * + * The NSS raw X509 certificate klass. + */ +#define xmlSecNssKeyDataRawX509CertId \ + xmlSecNssKeyDataRawX509CertGetKlass() +XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataRawX509CertGetKlass(void); + +/** + * xmlSecNssX509StoreId: + * + * The NSS X509 store klass. + */ +#define xmlSecNssX509StoreId \ + xmlSecNssX509StoreGetKlass() +XMLSEC_CRYPTO_EXPORT xmlSecKeyDataStoreId xmlSecNssX509StoreGetKlass(void); +XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssX509StoreFindCert (xmlSecKeyDataStorePtr store, + xmlChar *subjectName, + xmlChar *issuerName, + xmlChar *issuerSerial, + xmlChar *ski, + xmlSecKeyInfoCtx* keyInfoCtx); + +XMLSEC_CRYPTO_EXPORT CERTCertificate* xmlSecNssX509StoreVerify (xmlSecKeyDataStorePtr store, + CERTCertList* certs, + xmlSecKeyInfoCtx* keyInfoCtx); +XMLSEC_CRYPTO_EXPORT int xmlSecNssX509StoreAdoptCert (xmlSecKeyDataStorePtr store, + CERTCertificate* cert, + xmlSecKeyDataType type); + + +#endif /* XMLSEC_NO_X509 */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __XMLSEC_NSS_X509_H__ */ |