diff options
Diffstat (limited to '0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch')
-rw-r--r-- | 0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch b/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch deleted file mode 100644 index 99c05bb..0000000 --- a/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch +++ /dev/null @@ -1,70 +0,0 @@ -From c3acffdb8e0cd46561d2c5131227dc92967cf3d2 Mon Sep 17 00:00:00 2001 -From: Kevin Jacobs <kjacobs@mozilla.com> -Date: Tue, 14 Apr 2020 18:32:19 +0000 -Subject: [PATCH] Bug 1624128 - Update CK_GCM_PARAMS uses for PKCS11 v3.0 - definition r=keeler - -This patch initializes the ulIvBits member of CK_GCM_PARAMS, which is new in PKCS11 v3. - -For libprio, we instead define NSS_PKCS11_2_0_COMPAT, which yields the old struct definition. - -Differential Revision: https://phabricator.services.mozilla.com/D67740 ---- - dom/crypto/WebCryptoTask.cpp | 1 + - netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c | 1 + - security/manager/ssl/OSKeyStore.cpp | 1 + - third_party/prio/moz.build | 5 +++++ - 4 files changed, 8 insertions(+) - -diff --git a/dom/crypto/WebCryptoTask.cpp b/dom/crypto/WebCryptoTask.cpp -index ad0d1432738f..60a265972d21 100644 ---- a/dom/crypto/WebCryptoTask.cpp -+++ b/dom/crypto/WebCryptoTask.cpp -@@ -600,6 +600,7 @@ class AesTask : public ReturnArrayBufferViewTask, public DeferredData { - case CKM_AES_GCM: - gcmParams.pIv = mIv.Elements(); - gcmParams.ulIvLen = mIv.Length(); -+ gcmParams.ulIvBits = gcmParams.ulIvLen * 8; - gcmParams.pAAD = mAad.Elements(); - gcmParams.ulAADLen = mAad.Length(); - gcmParams.ulTagBits = mTagLength; -diff --git a/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c b/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c -index e1fdbe36fbf8..2be2ce932ddf 100644 ---- a/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c -+++ b/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c -@@ -271,6 +271,7 @@ static srtp_err_status_t srtp_aes_gcm_nss_do_crypto(void *cv, - - c->params.pIv = c->iv; - c->params.ulIvLen = GCM_IV_LEN; -+ c->params.ulIvBits = GCM_IV_LEN * 8; - c->params.pAAD = c->aad; - c->params.ulAADLen = c->aad_size; - -diff --git a/security/manager/ssl/OSKeyStore.cpp b/security/manager/ssl/OSKeyStore.cpp -index 00bc918c5fdd..c83a559d9c1e 100644 ---- a/security/manager/ssl/OSKeyStore.cpp -+++ b/security/manager/ssl/OSKeyStore.cpp -@@ -663,6 +663,7 @@ nsresult AbstractOSKeyStore::DoCipher(const UniquePK11SymKey& aSymKey, - CK_GCM_PARAMS gcm_params; - gcm_params.pIv = const_cast<unsigned char*>(ivp); - gcm_params.ulIvLen = mIVLength; -+ gcm_params.ulIvBits = gcm_params.ulIvLen * 8; - gcm_params.ulTagBits = 128; - gcm_params.pAAD = nullptr; - gcm_params.ulAADLen = 0; -diff --git a/third_party/prio/moz.build b/third_party/prio/moz.build -index 3e10fe71ce8e..0a6e3c74a269 100644 ---- a/third_party/prio/moz.build -+++ b/third_party/prio/moz.build -@@ -42,3 +42,8 @@ SOURCES += [ - ] - - FINAL_LIBRARY = 'xul' -+ -+# Use PKCS11 v2 struct definitions for now, otherwise NSS requires -+# CK_GCM_PARAMS.ulIvBits to be set. This workaround is only required -+# until NSS 3.52 RTM and upstream correctly initializes the field. -+DEFINES['NSS_PKCS11_2_0_COMPAT'] = True --- -2.26.2 - |