/** * XMLSec library * * This is free software; see Copyright file in the source * distribution for preciese wording. * * Copyright (C) 2002-2003 Aleksey Sanin */ #ifndef __XMLSEC_OPENSSL_X509_H__ #define __XMLSEC_OPENSSL_X509_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifndef XMLSEC_NO_X509 #include #include #include #include /** * XMLSEC_STACK_OF_X509: * * Macro. To make docbook happy. */ #define XMLSEC_STACK_OF_X509 STACK_OF(X509) /** * XMLSEC_STACK_OF_X509_CRL: * * Macro. To make docbook happy. */ #define XMLSEC_STACK_OF_X509_CRL STACK_OF(X509_CRL) /** * xmlSecOpenSSLKeyDataX509Id: * * The OpenSSL X509 data klass. */ #define xmlSecOpenSSLKeyDataX509Id \ xmlSecOpenSSLKeyDataX509GetKlass() XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecOpenSSLKeyDataX509GetKlass(void); XMLSEC_CRYPTO_EXPORT X509* xmlSecOpenSSLKeyDataX509GetKeyCert(xmlSecKeyDataPtr data); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data, X509* cert); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLKeyDataX509AdoptCert(xmlSecKeyDataPtr data, X509* cert); XMLSEC_CRYPTO_EXPORT X509* xmlSecOpenSSLKeyDataX509GetCert (xmlSecKeyDataPtr data, xmlSecSize pos); XMLSEC_CRYPTO_EXPORT xmlSecSize xmlSecOpenSSLKeyDataX509GetCertsSize(xmlSecKeyDataPtr data); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, X509_CRL* crl); XMLSEC_CRYPTO_EXPORT X509_CRL* xmlSecOpenSSLKeyDataX509GetCrl (xmlSecKeyDataPtr data, xmlSecSize pos); XMLSEC_CRYPTO_EXPORT xmlSecSize xmlSecOpenSSLKeyDataX509GetCrlsSize(xmlSecKeyDataPtr data); XMLSEC_CRYPTO_EXPORT xmlSecKeyDataPtr xmlSecOpenSSLX509CertGetKey (X509* cert); /** * xmlSecOpenSSLKeyDataRawX509CertId: * * The OpenSSL raw X509 certificate klass. */ #define xmlSecOpenSSLKeyDataRawX509CertId \ xmlSecOpenSSLKeyDataRawX509CertGetKlass() XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecOpenSSLKeyDataRawX509CertGetKlass(void); /** * xmlSecOpenSSLX509StoreId: * * The OpenSSL X509 store klass. */ #define xmlSecOpenSSLX509StoreId \ xmlSecOpenSSLX509StoreGetKlass() XMLSEC_CRYPTO_EXPORT xmlSecKeyDataStoreId xmlSecOpenSSLX509StoreGetKlass(void); XMLSEC_CRYPTO_EXPORT X509* xmlSecOpenSSLX509StoreFindCert (xmlSecKeyDataStorePtr store, xmlChar *subjectName, xmlChar *issuerName, xmlChar *issuerSerial, xmlChar *ski, xmlSecKeyInfoCtx* keyInfoCtx); XMLSEC_CRYPTO_EXPORT X509* xmlSecOpenSSLX509StoreVerify (xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509* certs, XMLSEC_STACK_OF_X509_CRL* crls, xmlSecKeyInfoCtx* keyInfoCtx); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAdoptCert (xmlSecKeyDataStorePtr store, X509* cert, xmlSecKeyDataType type); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAdoptCrl (xmlSecKeyDataStorePtr store, X509_CRL* crl); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAddCertsPath(xmlSecKeyDataStorePtr store, const char* path); XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAddCertsFile(xmlSecKeyDataStorePtr store, const char* file); #endif /* XMLSEC_NO_X509 */ #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __XMLSEC_OPENSSL_X509_H__ */