Index: mozilla/security/nss/lib/util/pkcs11n.h |
=================================================================== |
--- mozilla/security/nss/lib/util/pkcs11n.h (revision 180595) |
+++ mozilla/security/nss/lib/util/pkcs11n.h (working copy) |
@@ -6,7 +6,7 @@ |
#define _PKCS11N_H_ |
#ifdef DEBUG |
-static const char CKT_CVS_ID[] = "@(#) $RCSfile: pkcs11n.h,v $ $Revision: 1.28 $ $Date: 2012/04/25 14:50:16 $"; |
+static const char CKT_CVS_ID[] = "@(#) $RCSfile: pkcs11n.h,v $ $Revision: 1.31 $ $Date: 2013/02/07 01:29:19 $"; |
#endif /* DEBUG */ |
/* |
@@ -195,6 +195,9 @@ |
#define CKM_NSS_JPAKE_FINAL_SHA384 (CKM_NSS + 17) |
#define CKM_NSS_JPAKE_FINAL_SHA512 (CKM_NSS + 18) |
+#define CKM_NSS_HMAC_CONSTANT_TIME (CKM_NSS + 19) |
+#define CKM_NSS_SSL3_MAC_CONSTANT_TIME (CKM_NSS + 20) |
+ |
/* |
* HISTORICAL: |
* Do not attempt to use these. They are only used by NETSCAPE's internal |
@@ -240,6 +243,20 @@ |
CK_NSS_JPAKEPublicValue B; /* in */ |
} CK_NSS_JPAKEFinalParams; |
+/* NOTE: the softoken's implementation of CKM_NSS_HMAC_CONSTANT_TIME and |
+ * CKM_NSS_SSL3_MAC_CONSTANT_TIME requires that the sum of ulBodyTotalLen |
+ * and ulHeaderLen be much smaller than 2^32 / 8 bytes because it uses an |
+ * unsigned int variable to represent the length in bits. This should not |
+ * be a problem because the SSL/TLS protocol limits the size of an SSL |
+ * record to something considerably less than 2^32 bytes. |
+ */ |
+typedef struct CK_NSS_MAC_CONSTANT_TIME_PARAMS { |
+ CK_MECHANISM_TYPE macAlg; /* in */ |
+ CK_ULONG ulBodyTotalLen; /* in */ |
+ CK_BYTE * pHeader; /* in */ |
+ CK_ULONG ulHeaderLen; /* in */ |
+} CK_NSS_MAC_CONSTANT_TIME_PARAMS; |
+ |
/* |
* NSS-defined return values |
* |