Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(581)

Unified Diff: patches/nss-pk11-encrypt.patch

Issue 13898013: Update NSS to NSS_3_15_BETA2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/nss/
Patch Set: Update NSS versions and tag in README.chromium Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: patches/nss-pk11-encrypt.patch
===================================================================
--- patches/nss-pk11-encrypt.patch (revision 195639)
+++ patches/nss-pk11-encrypt.patch (working copy)
@@ -1,129 +0,0 @@
-Index: mozilla/security/nss/lib/pk11wrap/pk11obj.c
-===================================================================
---- mozilla/security/nss/lib/pk11wrap/pk11obj.c (revision 190722)
-+++ mozilla/security/nss/lib/pk11wrap/pk11obj.c (working copy)
-@@ -822,6 +822,93 @@
- return SECSuccess;
- }
-
-+SECStatus
-+PK11_Decrypt(PK11SymKey *symKey,
-+ CK_MECHANISM_TYPE mechanism, SECItem *param,
-+ unsigned char *out, unsigned int *outLen,
-+ unsigned int maxLen,
-+ const unsigned char *enc, unsigned encLen)
-+{
-+ PK11SlotInfo *slot = symKey->slot;
-+ CK_MECHANISM mech = {0, NULL, 0 };
-+ CK_ULONG len = maxLen;
-+ PRBool owner = PR_TRUE;
-+ CK_SESSION_HANDLE session;
-+ PRBool haslock = PR_FALSE;
-+ CK_RV crv;
-+
-+ mech.mechanism = mechanism;
-+ if (param) {
-+ mech.pParameter = param->data;
-+ mech.ulParameterLen = param->len;
-+ }
-+
-+ session = pk11_GetNewSession(slot, &owner);
-+ haslock = (!owner || !slot->isThreadSafe);
-+ if (haslock) PK11_EnterSlotMonitor(slot);
-+ crv = PK11_GETTAB(slot)->C_DecryptInit(session, &mech, symKey->objectID);
-+ if (crv != CKR_OK) {
-+ if (haslock) PK11_ExitSlotMonitor(slot);
-+ pk11_CloseSession(slot, session, owner);
-+ PORT_SetError( PK11_MapError(crv) );
-+ return SECFailure;
-+ }
-+
-+ crv = PK11_GETTAB(slot)->C_Decrypt(session, (unsigned char *)enc, encLen,
-+ out, &len);
-+ if (haslock) PK11_ExitSlotMonitor(slot);
-+ pk11_CloseSession(slot, session, owner);
-+ *outLen = len;
-+ if (crv != CKR_OK) {
-+ PORT_SetError( PK11_MapError(crv) );
-+ return SECFailure;
-+ }
-+ return SECSuccess;
-+}
-+
-+SECStatus
-+PK11_Encrypt(PK11SymKey *symKey,
-+ CK_MECHANISM_TYPE mechanism, SECItem *param,
-+ unsigned char *out, unsigned int *outLen,
-+ unsigned int maxLen,
-+ const unsigned char *data, unsigned int dataLen)
-+{
-+ PK11SlotInfo *slot = symKey->slot;
-+ CK_MECHANISM mech = {0, NULL, 0 };
-+ CK_ULONG len = maxLen;
-+ PRBool owner = PR_TRUE;
-+ CK_SESSION_HANDLE session;
-+ PRBool haslock = PR_FALSE;
-+ CK_RV crv;
-+
-+ mech.mechanism = mechanism;
-+ if (param) {
-+ mech.pParameter = param->data;
-+ mech.ulParameterLen = param->len;
-+ }
-+
-+ session = pk11_GetNewSession(slot, &owner);
-+ haslock = (!owner || !slot->isThreadSafe);
-+ if (haslock) PK11_EnterSlotMonitor(slot);
-+ crv = PK11_GETTAB(slot)->C_EncryptInit(session, &mech, symKey->objectID);
-+ if (crv != CKR_OK) {
-+ if (haslock) PK11_ExitSlotMonitor(slot);
-+ pk11_CloseSession(slot,session,owner);
-+ PORT_SetError( PK11_MapError(crv) );
-+ return SECFailure;
-+ }
-+ crv = PK11_GETTAB(slot)->C_Encrypt(session, (unsigned char *)data,
-+ dataLen, out, &len);
-+ if (haslock) PK11_ExitSlotMonitor(slot);
-+ pk11_CloseSession(slot,session,owner);
-+ *outLen = len;
-+ if (crv != CKR_OK) {
-+ PORT_SetError( PK11_MapError(crv) );
-+ return SECFailure;
-+ }
-+ return SECSuccess;
-+}
-+
- /*
- * Now SSL 2.0 uses raw RSA stuff. These next to functions *must* use
- * RSA keys, or they'll fail. We do the checks up front. If anyone comes
-Index: mozilla/security/nss/lib/pk11wrap/pk11pub.h
-===================================================================
---- mozilla/security/nss/lib/pk11wrap/pk11pub.h (revision 190722)
-+++ mozilla/security/nss/lib/pk11wrap/pk11pub.h (working copy)
-@@ -266,7 +266,7 @@
- CK_MECHANISM_TYPE PK11_MapSignKeyType(KeyType keyType);
-
- /**********************************************************************
-- * Symetric, Public, and Private Keys
-+ * Symmetric, Public, and Private Keys
- **********************************************************************/
- void PK11_FreeSymKey(PK11SymKey *key);
- PK11SymKey *PK11_ReferenceSymKey(PK11SymKey *symKey);
-@@ -508,6 +508,17 @@
- void *wincx);
- int PK11_GetPrivateModulusLen(SECKEYPrivateKey *key);
-
-+SECStatus PK11_Decrypt(PK11SymKey *symkey,
-+ CK_MECHANISM_TYPE mechanism, SECItem *param,
-+ unsigned char *out, unsigned int *outLen,
-+ unsigned int maxLen,
-+ const unsigned char *enc, unsigned int encLen);
-+SECStatus PK11_Encrypt(PK11SymKey *symKey,
-+ CK_MECHANISM_TYPE mechanism, SECItem *param,
-+ unsigned char *out, unsigned int *outLen,
-+ unsigned int maxLen,
-+ const unsigned char *data, unsigned int dataLen);
-+
- /* note: despite the name, this function takes a private key. */
- SECStatus PK11_PubDecryptRaw(SECKEYPrivateKey *key, unsigned char *data,
- unsigned *outLen, unsigned int maxLen, unsigned char *enc, unsigned encLen);

Powered by Google App Engine
This is Rietveld 408576698