summaryrefslogtreecommitdiff
path: root/include/xmlsec/nss/crypto.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/xmlsec/nss/crypto.h')
-rw-r--r--include/xmlsec/nss/crypto.h350
1 files changed, 97 insertions, 253 deletions
diff --git a/include/xmlsec/nss/crypto.h b/include/xmlsec/nss/crypto.h
index a1c11948..42ba6ca9 100644
--- a/include/xmlsec/nss/crypto.h
+++ b/include/xmlsec/nss/crypto.h
@@ -1,18 +1,18 @@
-/**
+/**
* XMLSec library
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
- *
+ *
* Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com>
* Copyright (c) 2003 America Online, Inc. All rights reserved.
*/
#ifndef __XMLSEC_NSS_CRYPTO_H__
-#define __XMLSEC_NSS_CRYPTO_H__
+#define __XMLSEC_NSS_CRYPTO_H__
#ifdef __cplusplus
extern "C" {
-#endif /* __cplusplus */
+#endif /* __cplusplus */
#include <nspr.h>
#include <nss.h>
@@ -23,27 +23,25 @@ extern "C" {
#include <xmlsec/transforms.h>
#include <xmlsec/dl.h>
-XMLSEC_CRYPTO_EXPORT xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_nss(void);
+XMLSEC_CRYPTO_EXPORT xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_nss(void);
-/********************************************************************
- *
+/**
* Init shutdown
- *
- ********************************************************************/
-XMLSEC_CRYPTO_EXPORT int xmlSecNssInit (void);
-XMLSEC_CRYPTO_EXPORT int xmlSecNssShutdown (void);
-
-XMLSEC_CRYPTO_EXPORT int xmlSecNssKeysMngrInit (xmlSecKeysMngrPtr mngr);
-XMLSEC_CRYPTO_EXPORT int xmlSecNssGenerateRandom (xmlSecBufferPtr buffer,
- xmlSecSize size);
-
-XMLSEC_CRYPTO_EXPORT void xmlSecNssErrorsDefaultCallback (const char* file,
- int line,
- const char* func,
- const char* errorObject,
- const char* errorSubject,
- int reason,
- const char* msg);
+ */
+XMLSEC_CRYPTO_EXPORT int xmlSecNssInit (void);
+XMLSEC_CRYPTO_EXPORT int xmlSecNssShutdown (void);
+
+XMLSEC_CRYPTO_EXPORT int xmlSecNssKeysMngrInit (xmlSecKeysMngrPtr mngr);
+XMLSEC_CRYPTO_EXPORT int xmlSecNssGenerateRandom (xmlSecBufferPtr buffer,
+ xmlSecSize size);
+
+XMLSEC_CRYPTO_EXPORT void xmlSecNssErrorsDefaultCallback (const char* file,
+ int line,
+ const char* func,
+ const char* errorObject,
+ const char* errorSubject,
+ int reason,
+ const char* msg);
XMLSEC_CRYPTO_EXPORT PK11SlotInfo * xmlSecNssGetInternalKeySlot(void);
@@ -55,68 +53,68 @@ XMLSEC_CRYPTO_EXPORT PK11SlotInfo * xmlSecNssGetInternalKeySlot(void);
#ifndef XMLSEC_NO_AES
/**
* xmlSecNssKeyDataAesId:
- *
+ *
* The AES key data klass.
*/
#define xmlSecNssKeyDataAesId \
- xmlSecNssKeyDataAesGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataAesGetKlass (void);
-XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataAesSet (xmlSecKeyDataPtr data,
- const xmlSecByte* buf,
- xmlSecSize bufSize);
+ xmlSecNssKeyDataAesGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataAesGetKlass (void);
+XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataAesSet (xmlSecKeyDataPtr data,
+ const xmlSecByte* buf,
+ xmlSecSize bufSize);
/**
* xmlSecNssTransformAes128CbcId:
- *
+ *
* The AES128 CBC cipher transform klass.
*/
#define xmlSecNssTransformAes128CbcId \
- xmlSecNssTransformAes128CbcGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformAes128CbcGetKlass(void);
+ xmlSecNssTransformAes128CbcGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformAes128CbcGetKlass(void);
/**
* xmlSecNssTransformAes192CbcId:
- *
+ *
* The AES192 CBC cipher transform klass.
*/
#define xmlSecNssTransformAes192CbcId \
- xmlSecNssTransformAes192CbcGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformAes192CbcGetKlass(void);
+ xmlSecNssTransformAes192CbcGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformAes192CbcGetKlass(void);
/**
* xmlSecNssTransformAes256CbcId:
- *
+ *
* The AES256 CBC cipher transform klass.
*/
#define xmlSecNssTransformAes256CbcId \
- xmlSecNssTransformAes256CbcGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformAes256CbcGetKlass(void);
+ xmlSecNssTransformAes256CbcGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformAes256CbcGetKlass(void);
/**
* xmlSecNssTransformKWAes128Id:
- *
+ *
* The AES 128 key wrap transform klass.
*/
#define xmlSecNssTransformKWAes128Id \
- xmlSecNssTransformKWAes128GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes128GetKlass(void);
+ xmlSecNssTransformKWAes128GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes128GetKlass(void);
/**
* xmlSecNssTransformKWAes192Id:
- *
+ *
* The AES 192 key wrap transform klass.
*/
#define xmlSecNssTransformKWAes192Id \
- xmlSecNssTransformKWAes192GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes192GetKlass(void);
+ xmlSecNssTransformKWAes192GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes192GetKlass(void);
/**
* xmlSecNssTransformKWAes256Id:
- *
+ *
* The AES 256 key wrap transform klass.
*/
#define xmlSecNssTransformKWAes256Id \
- xmlSecNssTransformKWAes256GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes256GetKlass(void);
+ xmlSecNssTransformKWAes256GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes256GetKlass(void);
#endif /* XMLSEC_NO_AES */
@@ -128,32 +126,32 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWAes256GetKlass(void)
#ifndef XMLSEC_NO_DES
/**
* xmlSecNssKeyDataDesId:
- *
+ *
* The DES key data klass.
*/
#define xmlSecNssKeyDataDesId \
- xmlSecNssKeyDataDesGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataDesGetKlass (void);
-XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataDesSet (xmlSecKeyDataPtr data,
- const xmlSecByte* buf,
- xmlSecSize bufSize);
+ xmlSecNssKeyDataDesGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataDesGetKlass (void);
+XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataDesSet (xmlSecKeyDataPtr data,
+ const xmlSecByte* buf,
+ xmlSecSize bufSize);
/**
* xmlSecNssTransformDes3CbcId:
- *
+ *
* The Triple DES CBC cipher transform klass.
*/
#define xmlSecNssTransformDes3CbcId \
- xmlSecNssTransformDes3CbcGetKlass()
+ xmlSecNssTransformDes3CbcGetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformDes3CbcGetKlass(void);
/**
* xmlSecNssTransformKWDes3Id:
-*
-* The DES3 KW transform klass.
-*/
+*
+* The DES3 CBC cipher transform klass.
+*/
#define xmlSecNssTransformKWDes3Id \
- xmlSecNssTransformKWDes3GetKlass()
+ xmlSecNssTransformKWDes3GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWDes3GetKlass(void);
@@ -168,20 +166,20 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformKWDes3GetKlass(void);
/**
* xmlSecNssKeyDataDsaId:
- *
+ *
* The DSA key klass.
*/
#define xmlSecNssKeyDataDsaId \
- xmlSecNssKeyDataDsaGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataDsaGetKlass (void);
+ xmlSecNssKeyDataDsaGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataDsaGetKlass (void);
/**
* xmlSecNssTransformDsaSha1Id:
- *
+ *
* The DSA SHA1 signature transform klass.
*/
#define xmlSecNssTransformDsaSha1Id \
- xmlSecNssTransformDsaSha1GetKlass()
+ xmlSecNssTransformDsaSha1GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformDsaSha1GetKlass(void);
#endif /* XMLSEC_NO_DSA */
@@ -197,82 +195,43 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformDsaSha1GetKlass(void);
XMLSEC_CRYPTO_EXPORT int xmlSecNssHmacGetMinOutputLength(void);
XMLSEC_CRYPTO_EXPORT void xmlSecNssHmacSetMinOutputLength(int min_length);
-/**
+/**
* xmlSecNssKeyDataHmacId:
- *
+ *
* The DHMAC key data klass.
*/
#define xmlSecNssKeyDataHmacId \
- xmlSecNssKeyDataHmacGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataHmacGetKlass (void);
-XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataHmacSet (xmlSecKeyDataPtr data,
- const xmlSecByte* buf,
- xmlSecSize bufSize);
-#ifndef XMLSEC_NO_MD5
+ xmlSecNssKeyDataHmacGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataHmacGetKlass (void);
+XMLSEC_CRYPTO_EXPORT int xmlSecNssKeyDataHmacSet (xmlSecKeyDataPtr data,
+ const xmlSecByte* buf,
+ xmlSecSize bufSize);
/**
* xmlSecNssTransformHmacMd5Id:
- *
+ *
* The HMAC with MD5 signature transform klass.
*/
#define xmlSecNssTransformHmacMd5Id \
- xmlSecNssTransformHmacMd5GetKlass()
+ xmlSecNssTransformHmacMd5GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacMd5GetKlass(void);
-#endif /* XMLSEC_NO_MD5 */
-#ifndef XMLSEC_NO_RIPEMD160
/**
* xmlSecNssTransformHmacRipemd160Id:
- *
+ *
* The HMAC with RipeMD160 signature transform klass.
*/
#define xmlSecNssTransformHmacRipemd160Id \
- xmlSecNssTransformHmacRipemd160GetKlass()
+ xmlSecNssTransformHmacRipemd160GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacRipemd160GetKlass(void);
-#endif /* XMLSEC_NO_RIPEMD160 */
-#ifndef XMLSEC_NO_SHA1
/**
* xmlSecNssTransformHmacSha1Id:
- *
+ *
* The HMAC with SHA1 signature transform klass.
*/
#define xmlSecNssTransformHmacSha1Id \
- xmlSecNssTransformHmacSha1GetKlass()
+ xmlSecNssTransformHmacSha1GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacSha1GetKlass(void);
-#endif /* XMLSEC_NO_SHA1 */
-
-#ifndef XMLSEC_NO_SHA256
-/**
- * xmlSecNssTransformHmacSha256Id:
- *
- * The HMAC with SHA256 signature transform klass.
- */
-#define xmlSecNssTransformHmacSha256Id \
- xmlSecNssTransformHmacSha256GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacSha256GetKlass(void);
-#endif /* XMLSEC_NO_SHA256 */
-
-#ifndef XMLSEC_NO_SHA384
-/**
- * xmlSecNssTransformHmacSha384Id:
- *
- * The HMAC with SHA384 signature transform klass.
- */
-#define xmlSecNssTransformHmacSha384Id \
- xmlSecNssTransformHmacSha384GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacSha384GetKlass(void);
-#endif /* XMLSEC_NO_SHA384 */
-
-#ifndef XMLSEC_NO_SHA512
-/**
- * xmlSecNssTransformHmacSha512Id:
- *
- * The HMAC with SHA512 signature transform klass.
- */
-#define xmlSecNssTransformHmacSha512Id \
- xmlSecNssTransformHmacSha512GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacSha512GetKlass(void);
-#endif /* XMLSEC_NO_SHA512 */
#endif /* XMLSEC_NO_HMAC */
@@ -287,92 +246,44 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformHmacSha512GetKlass(void
/**
* xmlSecNssKeyDataRsaId:
- *
+ *
* The RSA key klass.
*/
#define xmlSecNssKeyDataRsaId \
- xmlSecNssKeyDataRsaGetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataRsaGetKlass (void);
-
-#ifndef XMLSEC_NO_MD5
-/**
- * xmlSecNssTransformRsaMd5Id:
- *
- * The RSA-MD5 signature transform klass.
- */
-#define xmlSecNssTransformRsaMd5Id \
- xmlSecNssTransformRsaMd5GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaMd5GetKlass(void);
-#endif /* XMLSEC_NO_MD5 */
+ xmlSecNssKeyDataRsaGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataRsaGetKlass (void);
-#ifndef XMLSEC_NO_SHA1
/**
* xmlSecNssTransformRsaSha1Id:
- *
+ *
* The RSA-SHA1 signature transform klass.
*/
-#define xmlSecNssTransformRsaSha1Id \
- xmlSecNssTransformRsaSha1GetKlass()
+#define xmlSecNssTransformRsaSha1Id \
+ xmlSecNssTransformRsaSha1GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaSha1GetKlass(void);
-#endif /* XMLSEC_NO_SHA1 */
-
-#ifndef XMLSEC_NO_SHA256
-/**
- * xmlSecNssTransformRsaSha256Id:
- *
- * The RSA-SHA256 signature transform klass.
- */
-#define xmlSecNssTransformRsaSha256Id \
- xmlSecNssTransformRsaSha256GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaSha256GetKlass(void);
-#endif /* XMLSEC_NO_SHA256 */
-
-#ifndef XMLSEC_NO_SHA384
-/**
- * xmlSecNssTransformRsaSha384Id:
- *
- * The RSA-SHA384 signature transform klass.
- */
-#define xmlSecNssTransformRsaSha384Id \
- xmlSecNssTransformRsaSha384GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaSha384GetKlass(void);
-#endif /* XMLSEC_NO_SHA384 */
-
-#ifndef XMLSEC_NO_SHA512
-/**
- * xmlSecNssTransformRsaSha512Id:
- *
- * The RSA-SHA512 signature transform klass.
- */
-#define xmlSecNssTransformRsaSha512Id \
- xmlSecNssTransformRsaSha512GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaSha512GetKlass(void);
-#endif /* XMLSEC_NO_SHA512 */
/**
* xmlSecNssTransformRsaPkcs1Id:
- *
+ *
* The RSA PKCS1 key transport transform klass.
*/
#define xmlSecNssTransformRsaPkcs1Id \
xmlSecNssTransformRsaPkcs1GetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaPkcs1GetKlass(void);
-/* aleksey, April 2010: NSS 3.12.6 has CKM_RSA_PKCS_OAEP algorithm but
- it doesn't implement the SHA1 OAEP PKCS we need
- https://bugzilla.mozilla.org/show_bug.cgi?id=158747
-*/
-#ifdef XMLSEC_NSS_RSA_OAEP_TODO
-/**
- * xmlSecNssTransformRsaOaepId:
- *
- * The RSA OAEP key transport transform klass.
- */
-#define xmlSecNssTransformRsaOaepId \
- xmlSecNssTransformRsaOaepGetKlass()
+/* RSA OAEP is not supported by NSS yet */
+#ifdef TODO
+/**
+ * xmlSecNssTransformRsaOaepId:
+ *
+ * The RSA OAEP key transport transform klass.
+ */
+
+#define xmlSecNssTransformRsaOaepId \
+ xmlSecNssTransformRsaOaepGetKlass()
XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaOaepGetKlass(void);
-#endif /* XMLSEC_NSS_RSA_OAEP_TODO */
+#endif /* TODO: RSA OAEP is not supported by NSS yet */
#endif /* XMLSEC_NO_RSA */
@@ -385,85 +296,18 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformRsaOaepGetKlass(void);
#ifndef XMLSEC_NO_SHA1
/**
* xmlSecNssTransformSha1Id:
- *
+ *
* The SHA1 digest transform klass.
*/
#define xmlSecNssTransformSha1Id \
- xmlSecNssTransformSha1GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformSha1GetKlass (void);
+ xmlSecNssTransformSha1GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformSha1GetKlass (void);
#endif /* XMLSEC_NO_SHA1 */
-/********************************************************************
- *
- * SHA256 transform
- *
- *******************************************************************/
-#ifndef XMLSEC_NO_SHA256
-/**
- * xmlSecNssTransformSha256Id:
- *
- * The SHA256 digest transform klass.
- */
-#define xmlSecNssTransformSha256Id \
- xmlSecNssTransformSha256GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformSha256GetKlass(void);
-#endif /* XMLSEC_NO_SHA256 */
-
-/********************************************************************
- *
- * SHA384 transform
- *
- *******************************************************************/
-#ifndef XMLSEC_NO_SHA384
-/**
- * xmlSecNssTransformSha384Id:
- *
- * The SHA384 digest transform klass.
- */
-#define xmlSecNssTransformSha384Id \
- xmlSecNssTransformSha384GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformSha384GetKlass(void);
-#endif /* XMLSEC_NO_SHA384 */
-
-/********************************************************************
- *
- * SHA512 transform
- *
- *******************************************************************/
-#ifndef XMLSEC_NO_SHA512
-/**
- * xmlSecNssTransformSha512Id:
- *
- * The SHA512 digest transform klass.
- */
-#define xmlSecNssTransformSha512Id \
- xmlSecNssTransformSha512GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformSha512GetKlass(void);
-#endif /* XMLSEC_NO_SHA512 */
-
-/********************************************************************
- *
- * MD5 transforms
- *
- *******************************************************************/
-#ifndef XMLSEC_NO_MD5
-/**
- * xmlSecNssTransformMd5Id:
- *
- * The MD5 digest transform klass.
- */
-#define xmlSecNssTransformMd5Id \
- xmlSecNssTransformMd5GetKlass()
-XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformMd5GetKlass(void);
-#endif /* XMLSEC_NO_MD5 */
-
-
-
-
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __XMLSEC_NSS_CRYPTO_H__ */
-#define __XMLSEC_NSS_CRYPTO_H__
+#define __XMLSEC_NSS_CRYPTO_H__