Git init
[external/xmlsec1.git] / apps / crypto.h
1 /** 
2  * XMLSec library
3  *
4  *
5  * See Copyright for the status of this software.
6  * 
7  * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com>
8  */
9 #ifndef __XMLSEC_APPS_CRYPTO_H__
10 #define __XMLSEC_APPS_CRYPTO_H__    
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* __cplusplus */ 
15
16 #include <libxml/tree.h>
17 #include <xmlsec/xmlsec.h>
18 #include <xmlsec/keys.h>
19 #include <xmlsec/keyinfo.h>
20 #include <xmlsec/keysmngr.h>
21 #include <xmlsec/crypto.h>
22
23 int     xmlSecAppCryptoInit                                     (const char* config);
24 int     xmlSecAppCryptoShutdown                                 (void);
25
26 xmlSecKeyPtr xmlSecAppCryptoKeyGenerate                         (const char* keyKlassAndSize,
27                                                                  const char* name,
28                                                                  xmlSecKeyDataType type);
29
30 /*****************************************************************************
31  *
32  * Simple keys manager
33  *
34  ****************************************************************************/
35 int     xmlSecAppCryptoSimpleKeysMngrInit                       (xmlSecKeysMngrPtr mngr);
36 int     xmlSecAppCryptoSimpleKeysMngrLoad                       (xmlSecKeysMngrPtr mngr, 
37                                                                  const char *filename);
38 int     xmlSecAppCryptoSimpleKeysMngrSave                       (xmlSecKeysMngrPtr mngr, 
39                                                                  const char *filename,
40                                                                  xmlSecKeyDataType type);
41 int     xmlSecAppCryptoSimpleKeysMngrCertLoad                   (xmlSecKeysMngrPtr mngr, 
42                                                                  const char *filename, 
43                                                                  xmlSecKeyDataFormat format,
44                                                                  xmlSecKeyDataType type);
45 int     xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad            (xmlSecKeysMngrPtr mngr, 
46                                                                  const char *files, 
47                                                                  const char* pwd, 
48                                                                  const char* name,
49                                                                  xmlSecKeyDataFormat format);
50 int     xmlSecAppCryptoSimpleKeysMngrPkcs12KeyLoad              (xmlSecKeysMngrPtr mngr, 
51                                                                  const char *filename, 
52                                                                  const char* pwd, 
53                                                                  const char *name);
54 int     xmlSecAppCryptoSimpleKeysMngrBinaryKeyLoad              (xmlSecKeysMngrPtr mngr, 
55                                                                  const char* keyKlass, 
56                                                                  const char* filename, 
57                                                                  const char *name);
58 int     xmlSecAppCryptoSimpleKeysMngrKeyGenerate                (xmlSecKeysMngrPtr mngr, 
59                                                                  const char* keyKlassAndSize,
60                                                                  const char* name);
61
62
63 #ifdef __cplusplus
64 }
65 #endif /* __cplusplus */
66
67 #endif /* __XMLSEC_APPS_CRYPTO_H__ */
68
69
70