1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
*
* Copyright (C) 2002-2024 Aleksey Sanin <aleksey@aleksey.com>. All Rights Reserved.
* Copyright (c) 2003 America Online, Inc. All rights reserved.
*/
#ifndef __XMLSEC_NSS_APP_H__
#define __XMLSEC_NSS_APP_H__
#include <nspr.h>
#include <nss.h>
#include <xmlsec/exports.h>
#include <xmlsec/xmlsec.h>
#include <xmlsec/keys.h>
#include <xmlsec/keysmngr.h>
#include <xmlsec/transforms.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/********************************************************************
*
* Init/shutdown
*
********************************************************************/
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppInit (const char* config);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppShutdown (void);
/********************************************************************
*
* Keys Manager
*
********************************************************************/
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppDefaultKeysMngrInit (xmlSecKeysMngrPtr mngr);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr,
xmlSecKeyPtr key);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppDefaultKeysMngrVerifyKey(xmlSecKeysMngrPtr mngr,
xmlSecKeyPtr key,
xmlSecKeyInfoCtxPtr keyInfoCtx);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppDefaultKeysMngrLoad (xmlSecKeysMngrPtr mngr,
const char* uri);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppDefaultKeysMngrSave (xmlSecKeysMngrPtr mngr,
const char* filename,
xmlSecKeyDataType type);
#ifndef XMLSEC_NO_X509
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeysMngrCertLoad (xmlSecKeysMngrPtr mngr,
const char *filename,
xmlSecKeyDataFormat format,
xmlSecKeyDataType type);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr,
const xmlSecByte *data,
xmlSecSize dataSize,
xmlSecKeyDataFormat format,
xmlSecKeyDataType type);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeysMngrCertLoadSECItem(xmlSecKeysMngrPtr mngr,
SECItem* secItem,
xmlSecKeyDataFormat format,
xmlSecKeyDataType type);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeysMngrCrlLoad (xmlSecKeysMngrPtr mngr,
const char *filename,
xmlSecKeyDataFormat format);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeysMngrCrlLoadMemory(xmlSecKeysMngrPtr mngr,
const xmlSecByte *data,
xmlSecSize dataSize,
xmlSecKeyDataFormat format);
#endif /* XMLSEC_NO_X509 */
/********************************************************************
*
* Keys
*
********************************************************************/
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppKeyLoadEx (const char *filename,
xmlSecKeyDataType type,
xmlSecKeyDataFormat format,
const char *pwd,
void *pwdCallback,
void* pwdCallbackCtx);
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppKeyLoadMemory (const xmlSecByte *data,
xmlSecSize dataSize,
xmlSecKeyDataFormat format,
const char *pwd,
void *pwdCallback,
void* pwdCallbackCtx);
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppKeyLoadSECItem (SECItem* secItem,
xmlSecKeyDataFormat format,
const char *pwd,
void *pwdCallback,
void* pwdCallbackCtx);
#ifndef XMLSEC_NO_X509
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppPkcs12Load (const char *filename,
const char *pwd,
void* pwdCallback,
void* pwdCallbackCtx);
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppPkcs12LoadMemory (const xmlSecByte *data,
xmlSecSize dataSize,
const char *pwd,
void* pwdCallback,
void* pwdCallbackCtx);
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppPkcs12LoadSECItem (SECItem* secItem,
const char *pwd,
void* pwdCallback,
void* pwdCallbackCtx);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeyCertLoad (xmlSecKeyPtr key,
const char* filename,
xmlSecKeyDataFormat format);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeyCertLoadMemory (xmlSecKeyPtr key,
const xmlSecByte *data,
xmlSecSize dataSize,
xmlSecKeyDataFormat format);
XMLSEC_CRYPTO_EXPORT int xmlSecNssAppKeyCertLoadSECItem (xmlSecKeyPtr key,
SECItem* secItem,
xmlSecKeyDataFormat format);
XMLSEC_CRYPTO_EXPORT xmlSecKeyPtr xmlSecNssAppKeyFromCertLoadSECItem(SECItem* secItem,
xmlSecKeyDataFormat format);
#endif /* XMLSEC_NO_X509 */
XMLSEC_CRYPTO_EXPORT void* xmlSecNssAppGetDefaultPwdCallback(void);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __XMLSEC_NSS_APP_H__ */
|