|         |      1 /**  | 
|         |      2  * XMLSec library | 
|         |      3  * | 
|         |      4  * This is free software; see Copyright file in the source | 
|         |      5  * distribution for preciese wording. | 
|         |      6  *  | 
|         |      7  * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com> | 
|         |      8  * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.  | 
|         |      9  */ | 
|         |     10 #ifndef __XMLSEC_SYMBIANCRYPTO_X509_H__ | 
|         |     11 #define __XMLSEC_SYMBIANCRYPTO_X509_H__     | 
|         |     12  | 
|         |     13 #ifdef __cplusplus | 
|         |     14 extern "C" { | 
|         |     15 #endif /* __cplusplus */  | 
|         |     16  | 
|         |     17 #include "xmlsecc_config.h" | 
|         |     18 #ifndef XMLSEC_NO_X509 | 
|         |     19  | 
|         |     20 //#include <openssl/x509.h> | 
|         |     21  | 
|         |     22 #include "xmlsec_xmlsec.h" | 
|         |     23 #include "xmlsec_keys.h" | 
|         |     24 #include "xmlsec_transforms.h" | 
|         |     25  | 
|         |     26 #include "xmlsecc_x509wrapper.h" | 
|         |     27  | 
|         |     28 /** | 
|         |     29  * XMLSEC_STACK_OF_X509: | 
|         |     30  * | 
|         |     31  * Macro. To make docbook happy. | 
|         |     32  */ | 
|         |     33 #define XMLSEC_STACK_OF_X509		STACK_OF(X509) | 
|         |     34  | 
|         |     35 /** | 
|         |     36  * XMLSEC_STACK_OF_X509_CRL: | 
|         |     37  * | 
|         |     38  * Macro. To make docbook happy. | 
|         |     39  */ | 
|         |     40 #define XMLSEC_STACK_OF_X509_CRL	STACK_OF(X509_CRL) | 
|         |     41  | 
|         |     42  | 
|         |     43 /** | 
|         |     44  * xmlSecSymbianCryptoKeyDataX509Id: | 
|         |     45  *  | 
|         |     46  * The SymbianCrypto X509 data klass. | 
|         |     47  */ | 
|         |     48 #define xmlSecSymbianCryptoKeyDataX509Id \ | 
|         |     49 	xmlSecSymbianCryptoKeyDataX509GetKlass() | 
|         |     50 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId 	xmlSecSymbianCryptoKeyDataX509GetKlass(void); | 
|         |     51 XMLSEC_CRYPTO_EXPORT X509* 		xmlSecSymbianCryptoKeyDataX509GetKeyCert(xmlSecKeyDataPtr data); | 
|         |     52 XMLSEC_CRYPTO_EXPORT int         xmlSecSymbianCryptoKeyDataX509AdoptKeyCert(xmlSecKeyDataPtr data,  | 
|         |     53                                                                                 X509* cert); | 
|         |     54  | 
|         |     55 XMLSEC_CRYPTO_EXPORT int 		xmlSecSymbianCryptoKeyDataX509AdoptCert(xmlSecKeyDataPtr data, | 
|         |     56 									 X509* cert); | 
|         |     57 XMLSEC_CRYPTO_EXPORT X509* 		xmlSecSymbianCryptoKeyDataX509GetCert	(xmlSecKeyDataPtr data, | 
|         |     58 									 xmlSecSize pos); | 
|         |     59 XMLSEC_CRYPTO_EXPORT xmlSecSize		xmlSecSymbianCryptoKeyDataX509GetCertsSize(xmlSecKeyDataPtr data); | 
|         |     60  | 
|         |     61 XMLSEC_CRYPTO_EXPORT int 		xmlSecSymbianCryptoKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, | 
|         |     62 									 X509_CRL* crl); | 
|         |     63 XMLSEC_CRYPTO_EXPORT X509_CRL*		xmlSecSymbianCryptoKeyDataX509GetCrl	(xmlSecKeyDataPtr data, | 
|         |     64 									 xmlSecSize pos); | 
|         |     65 XMLSEC_CRYPTO_EXPORT xmlSecSize		xmlSecSymbianCryptoKeyDataX509GetCrlsSize(xmlSecKeyDataPtr data); | 
|         |     66  | 
|         |     67 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataPtr	xmlSecSymbianCryptoX509CertGetKey	(X509* cert); | 
|         |     68  | 
|         |     69 /** | 
|         |     70  * xmlSecSymbianCryptoKeyDataRawX509CertId: | 
|         |     71  *  | 
|         |     72  * The SymbianCrypto raw X509 certificate klass. | 
|         |     73  */ | 
|         |     74 #define xmlSecSymbianCryptoKeyDataRawX509CertId \ | 
|         |     75 	xmlSecSymbianCryptoKeyDataRawX509CertGetKlass() | 
|         |     76 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId 	xmlSecSymbianCryptoKeyDataRawX509CertGetKlass(void); | 
|         |     77  | 
|         |     78 /** | 
|         |     79  * xmlSecSymbianCryptoX509StoreId: | 
|         |     80  *  | 
|         |     81  * The SymbianCrypto X509 store klass. | 
|         |     82  */ | 
|         |     83 #define xmlSecSymbianCryptoX509StoreId \ | 
|         |     84 	xmlSecSymbianCryptoX509StoreGetKlass() | 
|         |     85 XMLSEC_CRYPTO_EXPORT xmlSecKeyDataStoreId xmlSecSymbianCryptoX509StoreGetKlass(void); | 
|         |     86 XMLSEC_CRYPTO_EXPORT X509* 		xmlSecSymbianCryptoX509StoreFindCert	(xmlSecKeyDataStorePtr store, | 
|         |     87 									 xmlChar *subjectName, | 
|         |     88 									 xmlChar *issuerName,  | 
|         |     89 									 xmlChar *issuerSerial, | 
|         |     90 									 xmlChar *ski, | 
|         |     91 									 xmlSecKeyInfoCtx* keyInfoCtx); | 
|         |     92 XMLSEC_CRYPTO_EXPORT int 		xmlSecSymbianCryptoX509StoreKeyCertVerify(xmlSecKeyDataStorePtr store,  | 
|         |     93 									 X509* cert);									  | 
|         |     94 XMLSEC_CRYPTO_EXPORT X509* 		xmlSecSymbianCryptoX509StoreVerify	(xmlSecKeyDataStorePtr store, | 
|         |     95 									 XMLSEC_STACK_OF_X509* certs, | 
|         |     96 									 XMLSEC_STACK_OF_X509_CRL* crls, | 
|         |     97 									 xmlSecKeyInfoCtx* keyInfoCtx); | 
|         |     98 XMLSEC_CRYPTO_EXPORT int		xmlSecSymbianCryptoX509StoreAdoptCert	(xmlSecKeyDataStorePtr store, | 
|         |     99 									 X509* cert, | 
|         |    100 									 xmlSecKeyDataType type); | 
|         |    101 XMLSEC_CRYPTO_EXPORT int		xmlSecSymbianCryptoX509StoreAddCertsPath(xmlSecKeyDataStorePtr store, | 
|         |    102 									 const char* path); | 
|         |    103 									  | 
|         |    104  | 
|         |    105  | 
|         |    106 XMLSEC_CRYPTO_EXPORT void xmlSecSetCertStoreFlag(); | 
|         |    107 XMLSEC_CRYPTO_EXPORT void xmlSecResetCertStoreFlag();	 | 
|         |    108 XMLSEC_CRYPTO_EXPORT int xmlSecCheckCertStoreFlag();								  | 
|         |    109 									  | 
|         |    110 #endif /* XMLSEC_NO_X509 */ | 
|         |    111  | 
|         |    112 #ifdef __cplusplus | 
|         |    113 } | 
|         |    114 #endif /* __cplusplus */ | 
|         |    115  | 
|         |    116 #endif /* __XMLSEC_XMLSEC_SYMBIANCRYPTO_X509_H__ */ |