From bdc4ea1e34af03b1ac33193ae8d829c3644f3925 Mon Sep 17 00:00:00 2001 From: xzl Date: Wed, 6 Sep 2023 16:47:54 +0800 Subject: [PATCH] chore: update to 3.92 Log: --- .gitignore | 1 - debian/changelog | 14 + debian/patches/38_hppa.patch | 17 - debian/patches/38_hurd.patch | 6 +- debian/patches/99_vale_curve25519.patch | 12 - debian/patches/series | 2 - nss/.hg_archival.txt | 6 +- .../expected-report-libnssutil3.so.txt | 5 - nss/automation/abi-check/previous-nss-release | 2 +- .../taskcluster/graph/src/extend.js | 2 +- .../taskcluster/scripts/run_hacl.sh | 2 +- nss/cmd/bltest/blapitest.c | 42 +- nss/cmd/bltest/tests/sha3_224/ciphertext0 | 1 + nss/cmd/bltest/tests/sha3_224/ciphertext1 | 1 + nss/cmd/bltest/tests/sha3_224/numtests | 1 + nss/cmd/bltest/tests/sha3_224/plaintext0 | 1 + nss/cmd/bltest/tests/sha3_224/plaintext1 | 1 + nss/cmd/bltest/tests/sha3_256/ciphertext0 | 1 + nss/cmd/bltest/tests/sha3_256/ciphertext1 | 1 + nss/cmd/bltest/tests/sha3_256/numtests | 1 + nss/cmd/bltest/tests/sha3_256/plaintext0 | 1 + nss/cmd/bltest/tests/sha3_256/plaintext1 | 1 + nss/cmd/bltest/tests/sha3_384/ciphertext0 | 1 + nss/cmd/bltest/tests/sha3_384/ciphertext1 | 1 + nss/cmd/bltest/tests/sha3_384/numtests | 1 + nss/cmd/bltest/tests/sha3_384/plaintext0 | 1 + nss/cmd/bltest/tests/sha3_384/plaintext1 | 1 + nss/cmd/bltest/tests/sha3_512/ciphertext0 | 2 + nss/cmd/bltest/tests/sha3_512/ciphertext1 | 2 + nss/cmd/bltest/tests/sha3_512/numtests | 1 + nss/cmd/bltest/tests/sha3_512/plaintext0 | 1 + nss/cmd/bltest/tests/sha3_512/plaintext1 | 1 + nss/cmd/digest/digest.c | 29 +- nss/doc/rst/build.rst | 2 +- nss/doc/rst/index.rst | 1 - nss/doc/rst/legacy/building/index.rst | 14 +- nss/doc/rst/legacy/index/index.rst | 11751 ---------------- .../nss_3.16.2_release_notes/index.rst | 3 +- .../build_instructions/index.rst | 4 +- .../nss_tools__colon__certutil/index.rst | 2 +- .../rst/legacy/ssl_functions/sslfnc/index.rst | 2 +- .../legacy/tools/nss_tools_modutil/index.rst | 2 +- nss/doc/rst/releases/index.rst | 49 +- nss/doc/rst/releases/nss_3_91.rst | 70 + nss/doc/rst/releases/nss_3_92.rst | 66 + .../testvectors/hmac-sha3-224-vectors.h | 795 ++ .../testvectors/hmac-sha3-256-vectors.h | 841 ++ .../testvectors/hmac-sha3-384-vectors.h | 1221 ++ .../testvectors/hmac-sha3-512-vectors.h | 1263 ++ .../common/wycheproof/genTestVectors.py | 97 +- .../source_vectors/hmac_sha224_test.json | 1604 +++ .../source_vectors/hmac_sha256_test.json | 1622 +++ .../source_vectors/hmac_sha384_test.json | 1622 +++ .../source_vectors/hmac_sha3_224_test.json | 1604 +++ .../source_vectors/hmac_sha3_256_test.json | 1622 +++ .../source_vectors/hmac_sha3_384_test.json | 1622 +++ .../source_vectors/hmac_sha3_512_test.json | 1622 +++ .../source_vectors/hmac_sha512_test.json | 1622 +++ nss/gtests/freebl_gtest/freebl_gtest.gyp | 1 + nss/gtests/freebl_gtest/shake_unittest.cc | 95 + nss/gtests/pk11_gtest/pk11_hmac_unittest.cc | 20 + .../ssl_gtest/ssl_extension_unittest.cc | 12 +- nss/gtests/ssl_gtest/tls_ech_unittest.cc | 16 +- nss/gtests/ssl_gtest/tls_grease_unittest.cc | 10 +- nss/lib/ckfw/builtins/certdata.txt | 2665 ++-- nss/lib/ckfw/builtins/nssckbi.h | 4 +- nss/lib/cryptohi/sechash.c | 112 + nss/lib/dbm/include/mcom_db.h | 2 + nss/lib/freebl/Makefile | 8 +- nss/lib/freebl/blapi.h | 100 + nss/lib/freebl/blapii.h | 1 + nss/lib/freebl/blapit.h | 35 +- nss/lib/freebl/blinit.c | 11 + nss/lib/freebl/freebl.gyp | 11 - nss/lib/freebl/freebl_base.gypi | 8 +- nss/lib/freebl/ldvector.c | 56 +- nss/lib/freebl/loader.c | 382 + nss/lib/freebl/loader.h | 80 +- nss/lib/freebl/manifest.mn | 2 + nss/lib/freebl/mpi/mpmontg.c | 2 + nss/lib/freebl/rawhash.c | 44 + nss/lib/freebl/rsa.c | 5 + nss/lib/freebl/rsapkcs.c | 3 +- nss/lib/freebl/sha3.c | 288 + nss/lib/freebl/shake.c | 128 + nss/lib/freebl/verified/Hacl_Chacha20.c | 3 +- nss/lib/freebl/verified/Hacl_Chacha20.h | 5 +- .../verified/Hacl_Chacha20Poly1305_128.c | 41 +- .../verified/Hacl_Chacha20Poly1305_128.h | 41 +- .../verified/Hacl_Chacha20Poly1305_256.c | 41 +- .../verified/Hacl_Chacha20Poly1305_256.h | 41 +- .../verified/Hacl_Chacha20Poly1305_32.c | 40 +- .../verified/Hacl_Chacha20Poly1305_32.h | 41 +- .../freebl/verified/Hacl_Chacha20_Vec128.c | 4 +- .../freebl/verified/Hacl_Chacha20_Vec128.h | 5 +- .../freebl/verified/Hacl_Chacha20_Vec256.c | 4 +- .../freebl/verified/Hacl_Chacha20_Vec256.h | 5 +- nss/lib/freebl/verified/Hacl_Curve25519_51.c | 26 +- nss/lib/freebl/verified/Hacl_Curve25519_51.h | 26 +- nss/lib/freebl/verified/Hacl_Curve25519_64.c | 26 +- nss/lib/freebl/verified/Hacl_Curve25519_64.h | 25 +- nss/lib/freebl/verified/Hacl_Hash_SHA3.c | 717 + nss/lib/freebl/verified/Hacl_Hash_SHA3.h | 121 + nss/lib/freebl/verified/Hacl_Krmllib.h | 26 +- nss/lib/freebl/verified/Hacl_Poly1305_128.c | 3 +- nss/lib/freebl/verified/Hacl_Poly1305_128.h | 5 +- nss/lib/freebl/verified/Hacl_Poly1305_256.c | 3 +- nss/lib/freebl/verified/Hacl_Poly1305_256.h | 5 +- nss/lib/freebl/verified/Hacl_Poly1305_32.c | 5 +- nss/lib/freebl/verified/Hacl_Poly1305_32.h | 3 +- .../freebl/verified/Hacl_Streaming_Types.h | 78 + .../freebl/verified/internal/Hacl_Bignum.h | 5 +- .../{ => internal}/Hacl_Bignum25519_51.h | 10 +- .../freebl/verified/internal/Hacl_Chacha20.h | 3 +- .../verified/internal/Hacl_Curve25519_51.h | 4 +- .../freebl/verified/internal/Hacl_Hash_SHA1.h | 16 +- .../freebl/verified/internal/Hacl_Hash_SHA2.h | 147 +- .../freebl/verified/internal/Hacl_Hash_SHA3.h | 62 + .../freebl/verified/internal/Hacl_Krmllib.h | 26 +- .../verified/internal/Hacl_Poly1305_128.h | 4 +- .../verified/internal/Hacl_Poly1305_256.h | 4 +- nss/lib/freebl/verified/internal/Hacl_Spec.h | 18 +- nss/lib/freebl/verified/internal/Vale.h | 27 +- .../karamel/include/krml/internal/callconv.h | 21 +- .../karamel/include/krml/internal/target.h | 33 +- .../karamel/include/krml/lowstar_endianness.h | 5 +- .../krmllib/dist/minimal/FStar_UInt128.h | 1 + .../dist/minimal/FStar_UInt128_Verified.h | 1 + .../dist/minimal/FStar_UInt_8_16_32_64.h | 1 + .../krmllib/dist/minimal/LowStar_Endianness.h | 2 +- nss/lib/freebl/verified/libintvector.h | 1 - nss/lib/nss/nss.h | 4 +- nss/lib/pk11wrap/pk11slot.c | 6 + nss/lib/softoken/pkcs11.c | 12 + nss/lib/softoken/pkcs11c.c | 25 + nss/lib/softoken/sftkhmac.c | 24 + nss/lib/softoken/softkver.h | 4 +- nss/lib/ssl/sslt.h | 2 +- nss/lib/util/hasht.h | 8 + nss/lib/util/nssutil.h | 4 +- nss/lib/util/secoid.c | 20 + nss/lib/util/secoidt.h | 10 + nss/nss-tool/hw-support.c | 1 + nss/tests/cipher/cipher.sh | 15 +- nss/tests/cipher/cipher.txt | 6 +- nss/tests/dbtests/dbtests.sh | 2 +- 146 files changed, 22388 insertions(+), 12872 deletions(-) delete mode 100644 .gitignore delete mode 100644 debian/patches/38_hppa.patch delete mode 100644 debian/patches/99_vale_curve25519.patch create mode 100644 nss/cmd/bltest/tests/sha3_224/ciphertext0 create mode 100644 nss/cmd/bltest/tests/sha3_224/ciphertext1 create mode 100644 nss/cmd/bltest/tests/sha3_224/numtests create mode 100644 nss/cmd/bltest/tests/sha3_224/plaintext0 create mode 100644 nss/cmd/bltest/tests/sha3_224/plaintext1 create mode 100644 nss/cmd/bltest/tests/sha3_256/ciphertext0 create mode 100644 nss/cmd/bltest/tests/sha3_256/ciphertext1 create mode 100644 nss/cmd/bltest/tests/sha3_256/numtests create mode 100644 nss/cmd/bltest/tests/sha3_256/plaintext0 create mode 100644 nss/cmd/bltest/tests/sha3_256/plaintext1 create mode 100644 nss/cmd/bltest/tests/sha3_384/ciphertext0 create mode 100644 nss/cmd/bltest/tests/sha3_384/ciphertext1 create mode 100644 nss/cmd/bltest/tests/sha3_384/numtests create mode 100644 nss/cmd/bltest/tests/sha3_384/plaintext0 create mode 100644 nss/cmd/bltest/tests/sha3_384/plaintext1 create mode 100644 nss/cmd/bltest/tests/sha3_512/ciphertext0 create mode 100644 nss/cmd/bltest/tests/sha3_512/ciphertext1 create mode 100644 nss/cmd/bltest/tests/sha3_512/numtests create mode 100644 nss/cmd/bltest/tests/sha3_512/plaintext0 create mode 100644 nss/cmd/bltest/tests/sha3_512/plaintext1 delete mode 100644 nss/doc/rst/legacy/index/index.rst create mode 100644 nss/doc/rst/releases/nss_3_91.rst create mode 100644 nss/doc/rst/releases/nss_3_92.rst create mode 100644 nss/gtests/common/testvectors/hmac-sha3-224-vectors.h create mode 100644 nss/gtests/common/testvectors/hmac-sha3-256-vectors.h create mode 100644 nss/gtests/common/testvectors/hmac-sha3-384-vectors.h create mode 100644 nss/gtests/common/testvectors/hmac-sha3-512-vectors.h create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha224_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha256_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha384_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha3_224_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha3_256_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha3_384_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha3_512_test.json create mode 100644 nss/gtests/common/wycheproof/source_vectors/hmac_sha512_test.json create mode 100644 nss/gtests/freebl_gtest/shake_unittest.cc create mode 100644 nss/lib/freebl/sha3.c create mode 100644 nss/lib/freebl/shake.c create mode 100644 nss/lib/freebl/verified/Hacl_Hash_SHA3.c create mode 100644 nss/lib/freebl/verified/Hacl_Hash_SHA3.h create mode 100644 nss/lib/freebl/verified/Hacl_Streaming_Types.h rename nss/lib/freebl/verified/{ => internal}/Hacl_Bignum25519_51.h (99%) create mode 100644 nss/lib/freebl/verified/internal/Hacl_Hash_SHA3.h diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 224e7f0..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.pc/ diff --git a/debian/changelog b/debian/changelog index 7cf7253..27c36d7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +nss (2:3.92-1) unstable; urgency=medium + + * New upstream release. Closes: #1049979 + * nss/lib/dbm/include/mcom_db.h: Undo previous changes for hppa, the issue + was fixed upstream. + + -- Mike Hommey Fri, 18 Aug 2023 04:53:54 +0900 + +nss (2:3.91-1) unstable; urgency=medium + + * New upstream release. + + -- Mike Hommey Wed, 05 Jul 2023 15:18:12 +0900 + nss (2:3.90-3) unstable; urgency=medium * nss/lib/freebl/Makefile: Disable vale curve25519 code. It doesn't support diff --git a/debian/patches/38_hppa.patch b/debian/patches/38_hppa.patch deleted file mode 100644 index 99c9970..0000000 --- a/debian/patches/38_hppa.patch +++ /dev/null @@ -1,17 +0,0 @@ -Description: fix double definition of BYTE_ORDER on hppa -Author: Helge Deller -Bug-Debian: https://bugs.debian.org/808990 - -Index: nss/nss/lib/dbm/include/mcom_db.h -=================================================================== ---- nss.orig/nss/lib/dbm/include/mcom_db.h -+++ nss/nss/lib/dbm/include/mcom_db.h -@@ -110,7 +110,7 @@ typedef PRUint32 uint32; - #endif /* !BYTE_ORDER */ - #endif /* __sun */ - --#if defined(__hpux) || defined(__hppa) -+#if defined(__hpux) - #define BYTE_ORDER BIG_ENDIAN - #define BIG_ENDIAN 4321 - #define LITTLE_ENDIAN 1234 /* LSB first: i386, vax, all NT risc */ diff --git a/debian/patches/38_hurd.patch b/debian/patches/38_hurd.patch index 91b5442..7fa6d84 100644 --- a/debian/patches/38_hurd.patch +++ b/debian/patches/38_hurd.patch @@ -7,7 +7,7 @@ Index: nss/nss/cmd/shlibsign/shlibsign.c =================================================================== --- nss.orig/nss/cmd/shlibsign/shlibsign.c +++ nss/nss/cmd/shlibsign/shlibsign.c -@@ -725,7 +725,6 @@ main(int argc, char **argv) +@@ -1260,7 +1260,6 @@ main(int argc, char **argv) #ifdef USES_LINKS int ret; struct stat stat_buf; @@ -15,7 +15,7 @@ Index: nss/nss/cmd/shlibsign/shlibsign.c char *link_file = NULL; #endif -@@ -1068,10 +1067,22 @@ main(int argc, char **argv) +@@ -1511,10 +1510,22 @@ main(int argc, char **argv) } if (S_ISLNK(stat_buf.st_mode)) { char *dirpath, *dirend; @@ -46,7 +46,7 @@ Index: nss/nss/lib/freebl/unix_rand.c =================================================================== --- nss.orig/nss/lib/freebl/unix_rand.c +++ nss/nss/lib/freebl/unix_rand.c -@@ -843,6 +843,10 @@ RNG_FileForRNG(const char *fileName) +@@ -756,6 +756,10 @@ RNG_FileForRNG(const char *fileName) #define _POSIX_PTHREAD_SEMANTICS #include diff --git a/debian/patches/99_vale_curve25519.patch b/debian/patches/99_vale_curve25519.patch deleted file mode 100644 index ac32890..0000000 --- a/debian/patches/99_vale_curve25519.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: nss/nss/lib/freebl/Makefile -=================================================================== ---- nss.orig/nss/lib/freebl/Makefile -+++ nss/nss/lib/freebl/Makefile -@@ -568,7 +568,6 @@ ifneq ($(shell $(CC) -? 2>&1 >/dev/null - HAVE_INT128_SUPPORT = 1 - DEFINES += -DHAVE_INT128_SUPPORT - else ifeq (1,$(CC_IS_GCC)) -- SUPPORTS_VALE_CURVE25519 = 1 - ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION)))) - HAVE_INT128_SUPPORT = 1 - DEFINES += -DHAVE_INT128_SUPPORT diff --git a/debian/patches/series b/debian/patches/series index 34ae4bb..17f55c0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,2 @@ 38_hurd.patch 80_security_tools.patch -38_hppa.patch -99_vale_curve25519.patch diff --git a/nss/.hg_archival.txt b/nss/.hg_archival.txt index 5881fd0..aa9266e 100644 --- a/nss/.hg_archival.txt +++ b/nss/.hg_archival.txt @@ -1,4 +1,4 @@ repo: 9949429068caa6bb8827a8ceeaa7c605d722f47f -node: a7a037afb2bc43d92065fca9690d223794379e12 -branch: NSS_3_90_BRANCH -tag: NSS_3_90_RTM +node: 2c2c47e491d060cc5238bd084179bceda7968d39 +branch: default +tag: NSS_3_92_RTM diff --git a/nss/automation/abi-check/expected-report-libnssutil3.so.txt b/nss/automation/abi-check/expected-report-libnssutil3.so.txt index 53459c9..e69de29 100644 --- a/nss/automation/abi-check/expected-report-libnssutil3.so.txt +++ b/nss/automation/abi-check/expected-report-libnssutil3.so.txt @@ -1,5 +0,0 @@ - -1 Added function: - - 'function void NSS_SecureSelect(void*, void*, void*, size_t, unsigned char)' {NSS_SecureSelect@@NSSUTIL_3.90} - diff --git a/nss/automation/abi-check/previous-nss-release b/nss/automation/abi-check/previous-nss-release index 5a98efb..b20fa5e 100644 --- a/nss/automation/abi-check/previous-nss-release +++ b/nss/automation/abi-check/previous-nss-release @@ -1 +1 @@ -NSS_3_89_BRANCH +NSS_3_91_BRANCH diff --git a/nss/automation/taskcluster/graph/src/extend.js b/nss/automation/taskcluster/graph/src/extend.js index b97a382..3f94f60 100644 --- a/nss/automation/taskcluster/graph/src/extend.js +++ b/nss/automation/taskcluster/graph/src/extend.js @@ -636,7 +636,7 @@ async function scheduleLinux(name, overrides, args = "") { command: [ "/bin/bash", "-c", - checkout_and_gyp + "--enable-legacy-db" + checkout_and_gyp + "--enable-legacy-db " + args ], symbol: "B", group: "DBM", diff --git a/nss/automation/taskcluster/scripts/run_hacl.sh b/nss/automation/taskcluster/scripts/run_hacl.sh index 44bdb83..8e95ebd 100755 --- a/nss/automation/taskcluster/scripts/run_hacl.sh +++ b/nss/automation/taskcluster/scripts/run_hacl.sh @@ -12,7 +12,7 @@ set -e -x -v # Get the HACL* source, containing a snapshot of the C code, extracted on the # HACL CI. git clone -q "https://github.com/hacl-star/hacl-star" ~/hacl-star -git -C ~/hacl-star checkout -q 51a72a953a4ee6f91e63b2816ae5c4e62edf35d6 +git -C ~/hacl-star checkout -q 5f6051d2134cda490c890e57bb16da0110744646 # Format the C snapshot. cd ~/hacl-star/dist/mozilla diff --git a/nss/cmd/bltest/blapitest.c b/nss/cmd/bltest/blapitest.c index 199d5a4..78a831a 100644 --- a/nss/cmd/bltest/blapitest.c +++ b/nss/cmd/bltest/blapitest.c @@ -642,6 +642,10 @@ typedef enum { bltestSHA256, /* . */ bltestSHA384, /* . */ bltestSHA512, /* . */ + bltestSHA3_224, /* . */ + bltestSHA3_256, /* . */ + bltestSHA3_384, /* . */ + bltestSHA3_512, /* . */ NUMMODES } bltestCipherMode; @@ -685,6 +689,10 @@ static char *mode_strings[] = { "sha256", "sha384", "sha512", + "sha3_224", + "sha3_256", + "sha3_384", + "sha3_512", }; typedef struct @@ -860,7 +868,7 @@ PRBool is_hashCipher(bltestCipherMode mode) { /* change as needed! */ - if (mode >= bltestMD2 && mode <= bltestSHA512) + if (mode >= bltestMD2 && mode <= bltestSHA3_512) return PR_TRUE; return PR_FALSE; } @@ -2436,6 +2444,34 @@ cipherInit(bltestCipherInfo *cipherInfo, PRBool encrypt) : SHA512_HashBuf; return SECSuccess; break; + case bltestSHA3_224: + restart = cipherInfo->params.hash.restart; + SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, + SHA3_224_LENGTH); + cipherInfo->cipher.hashCipher = SHA3_224_HashBuf; + return SECSuccess; + break; + case bltestSHA3_256: + restart = cipherInfo->params.hash.restart; + SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, + SHA3_256_LENGTH); + cipherInfo->cipher.hashCipher = SHA3_256_HashBuf; + return SECSuccess; + break; + case bltestSHA3_384: + restart = cipherInfo->params.hash.restart; + SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, + SHA3_384_LENGTH); + cipherInfo->cipher.hashCipher = SHA3_384_HashBuf; + return SECSuccess; + break; + case bltestSHA3_512: + restart = cipherInfo->params.hash.restart; + SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, + SHA3_512_LENGTH); + cipherInfo->cipher.hashCipher = SHA3_512_HashBuf; + return SECSuccess; + break; default: return SECFailure; } @@ -2692,6 +2728,10 @@ cipherFinish(bltestCipherInfo *cipherInfo) case bltestSHA256: case bltestSHA384: case bltestSHA512: + case bltestSHA3_224: + case bltestSHA3_256: + case bltestSHA3_384: + case bltestSHA3_512: return SECSuccess; break; default: diff --git a/nss/cmd/bltest/tests/sha3_224/ciphertext0 b/nss/cmd/bltest/tests/sha3_224/ciphertext0 new file mode 100644 index 0000000..c85d778 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_224/ciphertext0 @@ -0,0 +1 @@ +5kKCTD+M8krQkjTufTx2b8mjpRaNDJStc7Rv3w== \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_224/ciphertext1 b/nss/cmd/bltest/tests/sha3_224/ciphertext1 new file mode 100644 index 0000000..3862d75 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_224/ciphertext1 @@ -0,0 +1 @@ +zETk/sw7yR9vyKyHeowvdE7qZDvXRqjFNAODyw== \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_224/numtests b/nss/cmd/bltest/tests/sha3_224/numtests new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_224/numtests @@ -0,0 +1 @@ +2 diff --git a/nss/cmd/bltest/tests/sha3_224/plaintext0 b/nss/cmd/bltest/tests/sha3_224/plaintext0 new file mode 100644 index 0000000..8baef1b --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_224/plaintext0 @@ -0,0 +1 @@ +abc diff --git a/nss/cmd/bltest/tests/sha3_224/plaintext1 b/nss/cmd/bltest/tests/sha3_224/plaintext1 new file mode 100644 index 0000000..3c8366e --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_224/plaintext1 @@ -0,0 +1 @@ +122EK2FIG0MB5BSL1SC5JGBW9RX44WHS diff --git a/nss/cmd/bltest/tests/sha3_256/ciphertext0 b/nss/cmd/bltest/tests/sha3_256/ciphertext0 new file mode 100644 index 0000000..4b7a8be --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_256/ciphertext0 @@ -0,0 +1 @@ +BBu9VoDtr36iEIcqkh5GSTVWgNbvfBKfXw7JQWMN1K4= diff --git a/nss/cmd/bltest/tests/sha3_256/ciphertext1 b/nss/cmd/bltest/tests/sha3_256/ciphertext1 new file mode 100644 index 0000000..3be5bf7 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_256/ciphertext1 @@ -0,0 +1 @@ +Wfasna8sxiTTAswiFp+hKz94w/IcrycenfQlx3tMcj0= diff --git a/nss/cmd/bltest/tests/sha3_256/numtests b/nss/cmd/bltest/tests/sha3_256/numtests new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_256/numtests @@ -0,0 +1 @@ +2 diff --git a/nss/cmd/bltest/tests/sha3_256/plaintext0 b/nss/cmd/bltest/tests/sha3_256/plaintext0 new file mode 100644 index 0000000..143eeaa --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_256/plaintext0 @@ -0,0 +1 @@ +XG8XAO4I3YZNVJJ5K40R12F3YIRA7WP8 diff --git a/nss/cmd/bltest/tests/sha3_256/plaintext1 b/nss/cmd/bltest/tests/sha3_256/plaintext1 new file mode 100644 index 0000000..e1624c1 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_256/plaintext1 @@ -0,0 +1 @@ +DKOG28OVG5JCS7922VF7G00QBZTOA2Q2 diff --git a/nss/cmd/bltest/tests/sha3_384/ciphertext0 b/nss/cmd/bltest/tests/sha3_384/ciphertext0 new file mode 100644 index 0000000..a5150d6 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_384/ciphertext0 @@ -0,0 +1 @@ +lEDUd0ZL5Q+Q8v3YMw/mhulZ4IKML9XDmjLsffyRup43WaYCSYVIcpS6n7rezVZy \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_384/ciphertext1 b/nss/cmd/bltest/tests/sha3_384/ciphertext1 new file mode 100644 index 0000000..18b364b --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_384/ciphertext1 @@ -0,0 +1 @@ +fzLOq3a6G7i5Yc/6KnDR/P8ZrnwHb+DlzhR+nIqCe6BhCGuyciUbetJ+C61Ygt74 \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_384/numtests b/nss/cmd/bltest/tests/sha3_384/numtests new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_384/numtests @@ -0,0 +1 @@ +2 diff --git a/nss/cmd/bltest/tests/sha3_384/plaintext0 b/nss/cmd/bltest/tests/sha3_384/plaintext0 new file mode 100644 index 0000000..050e980 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_384/plaintext0 @@ -0,0 +1 @@ +TQWW3E325C08FJ1B8T4P6Q7UPYZRBRKD \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_384/plaintext1 b/nss/cmd/bltest/tests/sha3_384/plaintext1 new file mode 100644 index 0000000..a1533ca --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_384/plaintext1 @@ -0,0 +1 @@ +Z13PMSNAM542GHFNBPV12TJHDNF63WY2 diff --git a/nss/cmd/bltest/tests/sha3_512/ciphertext0 b/nss/cmd/bltest/tests/sha3_512/ciphertext0 new file mode 100644 index 0000000..0843b43 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_512/ciphertext0 @@ -0,0 +1,2 @@ +NWdFNsaq+p0m6999OGSEgOu7XxK6aAz8On5IhE4ebC07C0PAJTcZ/Y3AUt5bvQXCEw3vXsFGqaPn +GvtAwbcvpg== \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_512/ciphertext1 b/nss/cmd/bltest/tests/sha3_512/ciphertext1 new file mode 100644 index 0000000..840f68c --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_512/ciphertext1 @@ -0,0 +1,2 @@ +LO9UaCHnbFW7D1Lofc3MKDTzJMaiLPySWTgcOBohj16AP8V65V5DsRzUCQq7BvJ+2DtXbsX8wRMv +sXDjNNyVJw== \ No newline at end of file diff --git a/nss/cmd/bltest/tests/sha3_512/numtests b/nss/cmd/bltest/tests/sha3_512/numtests new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_512/numtests @@ -0,0 +1 @@ +2 diff --git a/nss/cmd/bltest/tests/sha3_512/plaintext0 b/nss/cmd/bltest/tests/sha3_512/plaintext0 new file mode 100644 index 0000000..85eca6b --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_512/plaintext0 @@ -0,0 +1 @@ +BU66CYFKPPT6LLPIYLJOCZ5QZP5IB2FM diff --git a/nss/cmd/bltest/tests/sha3_512/plaintext1 b/nss/cmd/bltest/tests/sha3_512/plaintext1 new file mode 100644 index 0000000..0f1bd22 --- /dev/null +++ b/nss/cmd/bltest/tests/sha3_512/plaintext1 @@ -0,0 +1 @@ +T18RE9CFOLCHXPYCZMKSCUIKX3MCT6FY diff --git a/nss/cmd/digest/digest.c b/nss/cmd/digest/digest.c index 8c4c149..76cce8c 100644 --- a/nss/cmd/digest/digest.c +++ b/nss/cmd/digest/digest.c @@ -34,6 +34,30 @@ HashTypeToOID(HASH_HashType hashtype) case HASH_AlgSHA1: hashtag = SEC_OID_SHA1; break; + case HASH_AlgSHA256: + hashtag = SEC_OID_SHA256; + break; + case HASH_AlgSHA384: + hashtag = SEC_OID_SHA384; + break; + case HASH_AlgSHA512: + hashtag = SEC_OID_SHA512; + break; + case HASH_AlgSHA224: + hashtag = SEC_OID_SHA224; + break; + case HASH_AlgSHA3_224: + hashtag = SEC_OID_SHA3_224; + break; + case HASH_AlgSHA3_256: + hashtag = SEC_OID_SHA3_256; + break; + case HASH_AlgSHA3_384: + hashtag = SEC_OID_SHA3_384; + break; + case HASH_AlgSHA3_512: + hashtag = SEC_OID_SHA3_512; + break; default: fprintf(stderr, "A new hash type has been added to HASH_HashType.\n"); fprintf(stderr, "This program needs to be updated!\n"); @@ -91,7 +115,7 @@ static int DigestFile(FILE *outFile, FILE *inFile, SECOidData *hashOID) { int nb; - unsigned char ibuf[4096], digest[32]; + unsigned char ibuf[4096], digest[HASH_LENGTH_MAX]; PK11Context *hashcx; unsigned int len; SECStatus rv; @@ -124,7 +148,7 @@ DigestFile(FILE *outFile, FILE *inFile, SECOidData *hashOID) } } - rv = PK11_DigestFinal(hashcx, digest, &len, 32); + rv = PK11_DigestFinal(hashcx, digest, &len, HASH_LENGTH_MAX); PK11_DestroyContext(hashcx, PR_TRUE); if (rv != SECSuccess) @@ -209,6 +233,7 @@ main(int argc, char **argv) outFile = stdout; hashOID = HashNameToOID(hashName); + free(hashName); if (hashOID == NULL) { fprintf(stderr, "%s: invalid digest type\n", progName); Usage(progName); diff --git a/nss/doc/rst/build.rst b/nss/doc/rst/build.rst index 3919eaa..e07f697 100644 --- a/nss/doc/rst/build.rst +++ b/nss/doc/rst/build.rst @@ -79,7 +79,7 @@ Building NSS NSS compilation on Windows uses the same shared build system as Mozilla Firefox. You must first install the `Windows Prerequisites - `__, + `__, including **MozillaBuild**. You can also build NSS on the Windows Subsystem for Linux, but the resulting binaries aren't diff --git a/nss/doc/rst/index.rst b/nss/doc/rst/index.rst index 3403ac0..bfbb1fa 100644 --- a/nss/doc/rst/index.rst +++ b/nss/doc/rst/index.rst @@ -12,7 +12,6 @@ Network Security Services (NSS) build_artifacts.rst releases/index.rst community.rst - legacy/index.rst .. warning:: This NSS documentation was just imported from our legacy MDN repository. It diff --git a/nss/doc/rst/legacy/building/index.rst b/nss/doc/rst/legacy/building/index.rst index aee480c..153166e 100644 --- a/nss/doc/rst/legacy/building/index.rst +++ b/nss/doc/rst/legacy/building/index.rst @@ -19,12 +19,12 @@ Building NSS .. container:: - NSS needs a C and C++ compiler. It has minimal dependencies, including only standard C and C++ + NSS needs a C and C++ compiler. It has minimal dependencies, including only standard C and C++ libraries, plus `zlib `__. - For building, you also need `make `__. Ideally, also install + For building, you also need `make `__. Ideally, also install `gyp `__ and `ninja `__ and put them on your - path. This is recommended, as the build is faster and more reliable. + path. This is recommended, as the build is faster and more reliable. `Windows <#windows>`__ ~~~~~~~~~~~~~~~~~~~~~~ @@ -33,7 +33,7 @@ Building NSS NSS compilation on Windows uses the same shared build system as Mozilla Firefox. You must first install the `Windows - Prerequisites `__, + Prerequisites `__, including **MozillaBuild**. You can also build NSS on the Windows Subsystem for Linux, but the resulting binaries aren't @@ -78,7 +78,7 @@ Building NSS .. container:: Alternatively, there is a ``make`` target called "nss_build_all", which produces a similar - result. This supports some alternative options, but can be a lot slower. + result. This supports some alternative options, but can be a lot slower. .. code:: @@ -113,7 +113,7 @@ Building NSS .. container:: - NSS contains extensive unit tests. Scripts to run these are found in the ``tests`` directory. + NSS contains extensive unit tests. Scripts to run these are found in the ``tests`` directory. Run the standard suite by: .. code:: @@ -152,7 +152,7 @@ Building NSS Running all tests can take a considerable amount of time. - Test output is stored in ``tests_results/security/$HOST.$NUMBER/``. The file ``results.html`` + Test output is stored in ``tests_results/security/$HOST.$NUMBER/``. The file ``results.html`` summarizes the results, ``output.log`` captures all the test output. Other subdirectories of ``nss/tests`` contain scripts that run a subset of the full suite. Those diff --git a/nss/doc/rst/legacy/index/index.rst b/nss/doc/rst/legacy/index/index.rst deleted file mode 100644 index a592015..0000000 --- a/nss/doc/rst/legacy/index/index.rst +++ /dev/null @@ -1,11751 +0,0 @@ -.. _mozilla_projects_nss_index: - -Index -===== - -.. container:: - - **Found 361 pages:** - - +--------------------------------+--------------------------------+--------------------------------+ - | # | Page | Tags and summary | - +================================+================================+================================+ - | 1 | :ref:`mozilla_projects_nss` | **JSS, NSS, NeedsMigration** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | **Network Security Services** | - | | | (**NSS**) is a set of | - | | | libraries designed to support | - | | | cross-platform development of | - | | | security-enabled client and | - | | | server applications. | - | | | Applications built with NSS | - | | | can support SSL v3, TLS, PKCS | - | | | #5, PKCS #7, PKCS #11, PKCS | - | | | #12, S/MIME, X.509 v3 | - | | | certificates, and other | - | | | security standards. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 2 | :ref:`mozilla_projects_nss | **API, Intermediate, Intro, | - | | _an_overview_of_nss_internals` | NSS, Tools** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | A High-Level Overview to the | - | | | Internals of `Network Security | - | | | Services | - | | | (NSS) `__ | - | | | Software developed by the | - | | | Mozilla.org projects | - | | | traditionally used its own | - | | | implementation of security | - | | | protocols and cryptographic | - | | | algorithms, originally called | - | | | Netscape Security Services, | - | | | nowadays called Network | - | | | Security Services (NSS). NSS | - | | | is a library written in the C | - | | | programming language. It's | - | | | free and open source software, | - | | | and many other software | - | | | projects have decided to use | - | | | it. In order to support | - | | | multiple operating systems | - | | | (OS), it is based on a cross | - | | | platform portability layer, | - | | | called the Netscape Portable | - | | | Runtime (NSPR), which provides | - | | | cross platform application | - | | | programming interfaces (APIs) | - | | | for OS specific APIs like file | - | | | system access, memory | - | | | management, network | - | | | communication, and | - | | | multithreaded programming. | - | | | NSS offers lots of | - | | | functionality; we'll walk | - | | | through the list of modules, | - | | | design principles, and | - | | | important relevant standards. | - | | | In order to allow | - | | | interoperability between | - | | | software and devices that | - | | | perform cryptographic | - | | | operations, NSS conforms to a | - | | | standard called PKCS#11. (Note | - | | | that it's important to look at | - | | | the number 11, as there are | - | | | other PKCS standards with | - | | | different numbers that define | - | | | quite different topics.) | - | | | A software or hardware module | - | | | conforming to the PKCS#11 | - | | | standard implements an | - | | | interface of C calls, which | - | | | allow querying the | - | | | characteristics and offered | - | | | services of the module. | - | | | Multiple elements of NSS's own | - | | | modules have been implemented | - | | | with this interface, and NSS | - | | | makes use of this interface | - | | | when talking to those modules. | - | | | This strategy allows NSS to | - | | | work with many hardware | - | | | devices (e.g., to speed up the | - | | | calculations required for | - | | | cryptographic operations, or | - | | | to access smartcards that | - | | | securely protect a secret key) | - | | | and software modules (e.g., to | - | | | allow to load such modules as | - | | | a plugin that provides | - | | | additional algorithms or | - | | | stores key or trust | - | | | information) that implement | - | | | the PKCS#11 interface. | - | | | A core element of NSS is | - | | | FreeBL, a base library | - | | | providing hash functions, big | - | | | number calculations, and | - | | | cryptographic algorithms. | - | | | Softoken is an NSS module that | - | | | exposes most FreeBL | - | | | functionality as a PKCS#11 | - | | | module. | - | | | Some cryptography uses the | - | | | same secret key for both | - | | | encrypting and decrypting, for | - | | | example password based | - | | | encryption (PBE). This is | - | | | often sufficient if you | - | | | encrypt data for yourself, but | - | | | as soon as you need to | - | | | exchange signed/encrypted data | - | | | with communication partners, | - | | | using public key encryption | - | | | simplifies the key management. | - | | | The environment that describes | - | | | how to use public key | - | | | encryption is called Public | - | | | Key Infrastructure (PKI). The | - | | | public keys that are exchanged | - | | | between parties are | - | | | transported using a container; | - | | | the container is called a | - | | | certificate, following | - | | | standard X.509 version 3. A | - | | | certificate contains lots of | - | | | other details; for example, it | - | | | contains a signature by a | - | | | third party that expresses | - | | | trust in the ownership | - | | | relationship for the | - | | | certificate. The trust | - | | | assigned by the third party | - | | | might be restricted to certain | - | | | uses, which are listed in | - | | | certificate extensions that | - | | | are contained in the | - | | | certificate. | - | | | Many (if not most) of the | - | | | operations performed by NSS | - | | | involve the use of X.509 | - | | | certificates (often | - | | | abbreviated as “cert”, | - | | | unfortunately making it easy | - | | | to confuse with the term | - | | | “computer emergency response | - | | | team“). | - | | | When checking whether a | - | | | certificate is trusted or not, | - | | | it's necessary to find a | - | | | relevant trust anchor (root | - | | | certificate) that represents | - | | | the signing capability of a | - | | | trusted third party, usually | - | | | called a Certificate Authority | - | | | (CA). A trust anchor is just | - | | | another X.509 certificate that | - | | | is already known and has been | - | | | deliberately marked as trusted | - | | | by a software vendor, | - | | | administrators inside an | - | | | organizational infrastructure, | - | | | or the software user. NSS | - | | | ships a predefined set of CA | - | | | certificates. This set, | - | | | including their trust | - | | | assignments, is provided by | - | | | NSS as a software module, | - | | | called CKBI (“built-in root | - | | | certificates”), which also | - | | | implements the PKCS#11 | - | | | interface. On an | - | | | organizational level the | - | | | contents of the set are | - | | | managed according to the | - | | | Mozilla CA policy. On a | - | | | technical level the set is a | - | | | binary software module. | - | | | A cryptographic transaction, | - | | | such as encryption or | - | | | decryption related to a data | - | | | exchange, usually involves | - | | | working with the X.509 certs | - | | | of your communication partners | - | | | (peer). It's also required | - | | | that you safely keep your own | - | | | secret keys that belong to | - | | | your own certificates. You | - | | | might want to protect the | - | | | storage of your secret keys | - | | | with PBE. You might decide to | - | | | modify the default trust | - | | | provided by NSS. All of this | - | | | requires storing, looking up, | - | | | and retrieving data. NSS | - | | | simplifies performing these | - | | | operations by offering storage | - | | | and management APIs. NSS | - | | | doesn't require the programmer | - | | | to manage individual files | - | | | containing individual | - | | | certificates or keys. Instead, | - | | | NSS offers to use its own | - | | | database(s). Once you have | - | | | imported certificates and keys | - | | | into the NSS database, you can | - | | | easily look them up and use | - | | | them again. | - | | | Because of NSS's expectation | - | | | to operate with an NSS | - | | | database, it's mandatory that | - | | | you perform an initialization | - | | | call, where you tell NSS which | - | | | database you will be using. In | - | | | the most simple scenario, the | - | | | programmer will provide a | - | | | directory on your filesystem | - | | | as a parameter to the init | - | | | function, and NSS is designed | - | | | to do the rest. It will detect | - | | | and open an existing database, | - | | | or it can create a new one. | - | | | Alternatively, should you | - | | | decide that you don't want to | - | | | work with any persistent | - | | | recording of certificates, you | - | | | may initialize NSS in a | - | | | no-database mode. Usually, NSS | - | | | will flush all data to disk as | - | | | soon as new data has been | - | | | added to permanent storage. | - | | | Storage consists of multiple | - | | | files: a key database file, | - | | | which contains your secret | - | | | keys, and a certificate | - | | | database file which contains | - | | | the public portion of your own | - | | | certificates, the certificates | - | | | of peers or CAs, and a list of | - | | | trust decisions (such as to | - | | | not trust a built-in CA, or to | - | | | explicitly trust other CAs). | - | | | Examples for the database | - | | | files are key3.db and | - | | | cert8.db, where the numbers | - | | | are file version numbers. A | - | | | third file contains the list | - | | | of external PKCS#11 modules | - | | | that have been registered to | - | | | be used by NSS. The file could | - | | | be named secmod.db, but in | - | | | newer database generations a | - | | | file named pkcs11.txt is used. | - | | | Only NSS is allowed to access | - | | | and manipulate these database | - | | | files directly; a programmer | - | | | using NSS must go through the | - | | | APIs offered by NSS to | - | | | manipulate the data stored in | - | | | these files. The programmer's | - | | | task is to initialize NSS with | - | | | the required parameters (such | - | | | as a database), and NSS will | - | | | then transparently manage the | - | | | database files. | - | | | Most of the time certificates | - | | | and keys are supposed to be | - | | | stored in the NSS database. | - | | | Therefore, after initial | - | | | import or creation, the | - | | | programmer usually doesn't | - | | | deal with their raw bytes. | - | | | Instead, the programmer will | - | | | use lookup functions, and NSS | - | | | will provide an access handle | - | | | that will be subsequently used | - | | | by the application's code. | - | | | Those handles are reference | - | | | counted. NSS will usually | - | | | create an in-memory (RAM) | - | | | presentation of certificates, | - | | | once a certificate has been | - | | | received from the network, | - | | | read from disk, or looked up | - | | | from the database, and prepare | - | | | in-memory data structures that | - | | | contain the certificate's | - | | | properties, as well as | - | | | providing a handle for the | - | | | programmer to use. Once the | - | | | application is done with a | - | | | handle, it should be released, | - | | | allowing NSS to free the | - | | | associated resources. When | - | | | working with handles to | - | | | private keys it's usually | - | | | difficult (and undesired) that | - | | | an application gets access to | - | | | the raw key data; therefore it | - | | | may be difficult to extract | - | | | such data from NSS. The usual | - | | | minimum requirement is that | - | | | private keys must be wrapped | - | | | using a protective layer (such | - | | | as password-based encryption). | - | | | The intention is to make it | - | | | easier to review code for | - | | | security. The less code that | - | | | has access to raw secret keys, | - | | | the less code that must be | - | | | reviewed. | - | | | NSS has only limited | - | | | functionality to look up raw | - | | | keys. The preferred approach | - | | | is to use certificates, and to | - | | | look up certificates by | - | | | properties such as the | - | | | contained subject name | - | | | (information that describes | - | | | the owner of the certificate). | - | | | For example, while NSS | - | | | supports random calculation | - | | | (creation) of a new | - | | | public/private key pair, it's | - | | | difficult to work with such a | - | | | raw key pair. The usual | - | | | approach is to create a | - | | | certificate signing request | - | | | (CSR) as soon as an | - | | | application is done with the | - | | | creation step, which will have | - | | | created a handle to the key | - | | | pair, and which can be used | - | | | for the necessary related | - | | | operations, like producing a | - | | | proof-of-ownership of the | - | | | private key, which is usually | - | | | required when submitting the | - | | | public key with a CSR to a CA. | - | | | The usual follow up action is | - | | | receiving a signed certificate | - | | | from a CA. (However, it's also | - | | | possible to use NSS | - | | | functionality to create a | - | | | self-signed certificate, | - | | | which, however, usually won't | - | | | be trusted by other parties.) | - | | | Once received, it's sufficient | - | | | to tell NSS to import such a | - | | | new certificate into the NSS | - | | | database, and NSS will | - | | | automatically perform a lookup | - | | | of the embedded public key, be | - | | | able to find the associated | - | | | private key, and subsequently | - | | | be able to treat it as a | - | | | personal certificate. (A | - | | | personal certificate is a | - | | | certificate for which the | - | | | private key is in possession, | - | | | and which could be used for | - | | | signing data or for decrypting | - | | | data.) A unique nickname | - | | | can/should be assigned to the | - | | | certificate at the time of | - | | | import, which can later be | - | | | used to easily identify and | - | | | retrieve it. | - | | | It's important to note that | - | | | NSS requires strict cleanup | - | | | for all handles returned by | - | | | NSS. The application should | - | | | always call the appropriate | - | | | dereference (destroy) | - | | | functions once a handle is no | - | | | longer needed. This is | - | | | particularly important for | - | | | applications that might need | - | | | to close a database and | - | | | reinitialize NSS using a | - | | | different one, without | - | | | restarting. Such an operation | - | | | might fail at runtime if data | - | | | elements are still being | - | | | referenced. | - | | | In addition to the FreeBL, | - | | | Softoken, and CKBI modules, | - | | | there is an utility library | - | | | for general operations (e.g., | - | | | encoding/decoding between data | - | | | formats, a list of | - | | | standardized object | - | | | identifiers (OID)). NSS has an | - | | | SSL/TLS module that implements | - | | | the Secure Sockets | - | | | Layer/Transport Layer Security | - | | | network protocols, an S/MIME | - | | | module that implements CMS | - | | | messaging used by secure email | - | | | and some instant messaging | - | | | implementations, a DBM library | - | | | that implements the classic | - | | | database storage, and finally | - | | | a core NSS library for the big | - | | | set of “everything else”. | - | | | Newer generations of the | - | | | database use the SQLite | - | | | database to allow concurrent | - | | | access by multiple | - | | | applications. | - | | | All of the above are provided | - | | | as shared libraries. The CRMF | - | | | library, which is used to | - | | | produce certain kinds of | - | | | certificate requests, is | - | | | available as a library for | - | | | static linking only. | - | | | When dealing with certificates | - | | | (X.509), file formats such as | - | | | PKCS#12 (certificates and | - | | | keys), PKCS#7 (signed data), | - | | | and message formats as CMS, we | - | | | should mention ASN.1, which is | - | | | a syntax for storing | - | | | structured data in a very | - | | | efficient (small sized) | - | | | presentation. It was | - | | | originally developed for | - | | | telecommunication systems at | - | | | times where it was critical to | - | | | minimize data as much as | - | | | possible (although it still | - | | | makes sense to use that | - | | | principle today for good | - | | | performance). In order to | - | | | process data available in the | - | | | ASN.1 format, the usual | - | | | approach is to parse it and | - | | | transfer it to a presentation | - | | | that requires more space but | - | | | is easier to work with, such | - | | | as (nested) C data structures. | - | | | Over the time NSS has received | - | | | three different ASN.1 parser | - | | | implementations, each having | - | | | their own specific properties, | - | | | advantages and disadvantages, | - | | | which is why all of them are | - | | | still being used (nobody has | - | | | yet dared to replace the older | - | | | with the newer ones because of | - | | | risks for side effects). When | - | | | using the ASN.1 parser(s), a | - | | | template definition is passed | - | | | to the parser, which will | - | | | analyze the ASN.1 data stream | - | | | accordingly. The templates are | - | | | usually closely aligned to | - | | | definitions found in RFC | - | | | documents. | - | | | A data block described as DER | - | | | is usually in ASN.1 format. | - | | | You must know which data you | - | | | are expecting, and use the | - | | | correct template for parsing, | - | | | based on the context of your | - | | | software's interaction. Data | - | | | described as PEM is a base64 | - | | | encoded presentation of DER, | - | | | usually wrapped between human | - | | | readable BEGIN/END lines. NSS | - | | | prefers the binary | - | | | presentation, but is often | - | | | capable to use base64 or ASCII | - | | | presentations, especially when | - | | | importing data from files. A | - | | | recent development adds | - | | | support for loading external | - | | | PEM files that contain private | - | | | keys, in a software library | - | | | called nss-pem, which is | - | | | separately available, but | - | | | should eventually become a | - | | | core part of NSS. | - | | | Looking at the code level, NSS | - | | | deals with blocks of raw data | - | | | all the time. The common | - | | | structure to store such an | - | | | untyped block is SECItem, | - | | | which contains a size and an | - | | | untyped C pointer variable. | - | | | When dealing with memory, NSS | - | | | makes use of arenas, which are | - | | | an attempt to simplify | - | | | management with the limited | - | | | offerings of C (because there | - | | | are no destructors). The idea | - | | | is to group multiple memory | - | | | allocations in order to | - | | | simplify cleanup. Performing | - | | | an operation often involves | - | | | allocating many individual | - | | | data items, and the code might | - | | | be required to abort a task at | - | | | many positions in the logic. | - | | | An arena is requested once | - | | | processing of a task starts, | - | | | and all memory allocations | - | | | that are logically associated | - | | | to that task are requested | - | | | from the associated arena. The | - | | | implementation of arenas makes | - | | | sure that all individual | - | | | memory blocks are tracked. | - | | | Once a task is done, | - | | | regardless whether it | - | | | completed or was aborted, the | - | | | programmer simply needs to | - | | | release the arena, and all | - | | | individually allocated blocks | - | | | will be released | - | | | automatically. Often freeing | - | | | is combined with immediately | - | | | erasing (zeroing, zfree) the | - | | | memory associated to the | - | | | arena, in order to make it | - | | | more difficult for attackers | - | | | to extract keys from a memory | - | | | dump. | - | | | NSS uses many C data | - | | | structures. Often NSS has | - | | | multiple implementations for | - | | | the same or similar concepts. | - | | | For example, there are | - | | | multiple presentations of | - | | | certificates, and the NSS | - | | | internals (and sometimes even | - | | | the application using NSS) | - | | | might have to convert between | - | | | them. | - | | | Key responsibilites of NSS are | - | | | verification of signatures and | - | | | certificates. In order to | - | | | verify a digital signature, we | - | | | have to look at the | - | | | application data (e.g., a | - | | | document that was signed), the | - | | | signature data block (the | - | | | digital signature), and a | - | | | public key (as found in a | - | | | certificate that is believed | - | | | to be the signer, e.g., | - | | | identified by metadata | - | | | received together with the | - | | | signature). The signature is | - | | | verified if it can be shown | - | | | that the signature data block | - | | | must have been produced by the | - | | | owner of the public key | - | | | (because only that owner has | - | | | the associated private key). | - | | | Verifying a certificate (A) | - | | | requires some additional | - | | | steps. First, you must | - | | | identify the potential signer | - | | | (B) of a certificate (A). This | - | | | is done by reading the “issuer | - | | | name” attribute of a | - | | | certificate (A), and trying to | - | | | find that issuer certificate | - | | | (B) (by looking for a | - | | | certificate that uses that | - | | | name as its “subject name”). | - | | | Then you attempt to verify the | - | | | signature found in (A) using | - | | | the public key found in (B). | - | | | It might be necessary to try | - | | | multiple certificates (B1, B2, | - | | | ...) each having the same | - | | | subject name. | - | | | After succeeding, it might be | - | | | necessary to repeat this | - | | | procedure recursively. The | - | | | goal is to eventually find a | - | | | certificate B (or C or ...) | - | | | that has an appropriate trust | - | | | assigned (e.g., because it can | - | | | be found in the CKBI module | - | | | and the user hasn't made any | - | | | overriding trust decisions, or | - | | | it can be found in a NSS | - | | | database file managed by the | - | | | user or by the local | - | | | environment). | - | | | After having successfully | - | | | verified the signatures in a | - | | | (chain of) issuer | - | | | certificate(s), we're still | - | | | not done with verifying the | - | | | certificate A. In a PKI it's | - | | | suggested/required to perform | - | | | additional checks. For | - | | | example: Certificates were | - | | | valid at the time the | - | | | signature was made, name in | - | | | certificates matches the | - | | | expected signer (check subject | - | | | name, common name, email, | - | | | based on application), the | - | | | trust restrictions recorded | - | | | inside the certificate | - | | | (extensions) permit the use | - | | | (e.g., encryption might be | - | | | allowed, but not signing), and | - | | | based on | - | | | environment/application policy | - | | | it might be required to | - | | | perform a revocation check | - | | | (OCSP or CRL), that asks the | - | | | issuer(s) of the certificates | - | | | whether there have been events | - | | | that made it necessary to | - | | | revoke the trust (revoke the | - | | | validity of the cert). | - | | | Trust anchors contained in the | - | | | CKBI module are usually self | - | | | signed, which is defined as | - | | | having identical subject name | - | | | and issuer name fields. If a | - | | | self-signed certificate is | - | | | marked as explicitly trusted, | - | | | NSS will skip checking the | - | | | self-signature for validity. | - | | | NSS has multiple APIs to | - | | | perform verification of | - | | | certificates. There is a | - | | | classic engine that is very | - | | | stable and works fine in all | - | | | simple scenarios, for example | - | | | if all (B) candidate issuer | - | | | certificates have the same | - | | | subject and issuer names and | - | | | differ by validity period; | - | | | however, it works only in a | - | | | limited amount of more | - | | | advanced scenarios. | - | | | Unfortunately, the world of | - | | | certificates has become more | - | | | complex in the recent past. | - | | | New Certificate Authorities | - | | | enter the global PKI market, | - | | | and in order to get started | - | | | with their business, they | - | | | might make deals with | - | | | established CAs and receive | - | | | so-called | - | | | cross-signing-certificates. As | - | | | a result, when searching for a | - | | | trust path from (A) to a | - | | | trusted anchor (root) | - | | | certificate (Z), the set of | - | | | candidate issuer certificates | - | | | might have different issuer | - | | | names (referring to the second | - | | | or higher issuer level). As a | - | | | consequence, it will be | - | | | necessary to try multiple | - | | | different alternative routes | - | | | while searching for (Z), in a | - | | | recursive manner. Only the | - | | | newer verification engine | - | | | (internally named libPKIX) is | - | | | capable of doing that | - | | | properly. | - | | | It's worth mentioning the | - | | | Extended Validation (EV) | - | | | principle, which is an effort | - | | | by software vendors and CAs to | - | | | define a stricter set of rules | - | | | for issuing certificates for | - | | | web site certificates. Instead | - | | | of simply verifying that the | - | | | requester of a certificate is | - | | | in control of an | - | | | administrative email address | - | | | at the desired web site's | - | | | domain, it's required that the | - | | | CA performs a verification of | - | | | real world identity documents | - | | | (such as a company | - | | | registration document with the | - | | | country's authority), and it's | - | | | also required that a browser | - | | | software performs a revocation | - | | | check with the CA, prior to | - | | | granting validity to the | - | | | certificate. In order to | - | | | distinguish an EV certificate, | - | | | CAs will embed a policy OID in | - | | | the certificate, and the | - | | | browser is expected to verify | - | | | that a trust chain permits the | - | | | end entity (EE) certificate to | - | | | make use of the policy. Only | - | | | the APIs of the newer libPKIX | - | | | engine are capable of | - | | | performing a policy | - | | | verification. | - | | | That's a good opportunity to | - | | | talk about SSL/TLS connections | - | | | to servers in general (not | - | | | just EV, not just websites). | - | | | Whenever this document | - | | | mentions SSL, it refers to | - | | | either SSL or TLS. (TLS is a | - | | | newer version of SSL with | - | | | enhanced features.) | - | | | When establishing an SSL | - | | | connection to a server, (at | - | | | least) a server certificate | - | | | (and its trust chain) is | - | | | exchanged from the server to | - | | | the client (e.g., the | - | | | browser), and the client | - | | | verifies that the certificate | - | | | can be verified (including | - | | | matching the name of the | - | | | expected destination server). | - | | | Another part of the handshake | - | | | between both parties is a key | - | | | exchange. Because public key | - | | | encryption is more expensive | - | | | (more calculations required) | - | | | than symmetric encryption | - | | | (where both parties use the | - | | | same key), a key agreement | - | | | protocol will be executed, | - | | | where the public and private | - | | | keys are used to proof and | - | | | verify the exchanged initial | - | | | information. Once the key | - | | | agreement is done, a symmetric | - | | | encryption will be used (until | - | | | a potential re-handshake on an | - | | | existing channel). The | - | | | combination of the hash and | - | | | encryption algorithms used for | - | | | a SSL connection is called a | - | | | cipher suite. | - | | | NSS ships with a set of cipher | - | | | suites that it supports at a | - | | | technical level. In addition, | - | | | NSS ships with a default | - | | | policy that defines which | - | | | cipher suites are enabled by | - | | | default. An application is | - | | | able to modify the policy used | - | | | at program runtime, by using | - | | | function calls to modify the | - | | | set of enabled cipher suites. | - | | | If a programmer wants to | - | | | influence how NSS verifies | - | | | certificates or how NSS | - | | | verifies the data presented in | - | | | a SSL connection handshake, it | - | | | is possible to register | - | | | application-defined callback | - | | | functions which will be called | - | | | by NSS at the appropriate | - | | | point of time, and which can | - | | | be used to override the | - | | | decisions made by NSS. | - | | | If you would like to use NSS | - | | | as a toolkit that implements | - | | | SSL, remember that you must | - | | | init NSS first. But if you | - | | | don't care about modifying the | - | | | default trust permanently | - | | | (recorded on disk), you can | - | | | use the no-database init | - | | | calls. When creating the | - | | | network socket for data | - | | | exchange, note that you must | - | | | use the operating system | - | | | independent APIs provided by | - | | | NSPR and NSS. It might be | - | | | interesting to mention a | - | | | property of the NSPR file | - | | | descriptors, which are stacked | - | | | in layers. This means you can | - | | | define multiple layers that | - | | | are involved in data | - | | | processing. A file descriptor | - | | | has a pointer to the first | - | | | layer handling the data. That | - | | | layer has a pointer to a | - | | | potential second layer, which | - | | | might have another pointer to | - | | | a third layer, etc. Each layer | - | | | defines its own functions for | - | | | the | - | | | ope | - | | | n/close/read/write/poll/select | - | | | (etc.) functions. When using | - | | | an SSL network connection, | - | | | you'll already have two | - | | | layers, the basic NSPR layer | - | | | and an SSL library layer. The | - | | | Mozilla applications define a | - | | | third layer where application | - | | | specific processing is | - | | | performed. You can find more | - | | | details in the NSPR reference | - | | | documents. | - | | | NSS occassionally has to | - | | | create outbound network | - | | | connections, in addition to | - | | | the connections requested by | - | | | the application. Examples are | - | | | retrieving OCSP (Online | - | | | Certificate Status Protocol) | - | | | information or downloading a | - | | | CRL (Certificate Revocation | - | | | List). However, NSS doesn't | - | | | have an implementation to work | - | | | with network proxies. If you | - | | | must support proxies in your | - | | | application, you are able to | - | | | register your own | - | | | implementation of an http | - | | | request callback interface, | - | | | and NSS can use your | - | | | application code that supports | - | | | proxies. | - | | | When using hashing, | - | | | encryption, and decryption | - | | | functions, it is possible to | - | | | stream data (as opposed to | - | | | operating on a large buffer). | - | | | Create a context handle while | - | | | providing all the parameters | - | | | required for the operation, | - | | | then call an “update” function | - | | | multiple times to pass subsets | - | | | of the input to NSS. The data | - | | | will be processed and either | - | | | returned directly or sent to a | - | | | callback function registered | - | | | in the context. When done, you | - | | | call a finalization function | - | | | that will flush out any | - | | | pending data and free the | - | | | resources. | - | | | This line is a placeholder for | - | | | future sections that should | - | | | explain how libpkix works and | - | | | is designed. | - | | | If you want to work with NSS, | - | | | it's often helpful to use the | - | | | command line utilities that | - | | | are provided by the NSS | - | | | developers. There are tools | - | | | for managing NSS databases, | - | | | for dumping or verifying | - | | | certificates, for registering | - | | | PKCS#11 modules with a | - | | | database, for processing CMS | - | | | encrypted/signed messages, | - | | | etc. | - | | | For example, if you wanted to | - | | | create your own pair of keys | - | | | and request a new certificate | - | | | from a CA, you could use | - | | | certutil to create an empty | - | | | database, then use certutil to | - | | | operate on your database and | - | | | create a certificate request | - | | | (which involves creating the | - | | | desired key pair) and export | - | | | it to a file, submit the | - | | | request file to the CA, | - | | | receive the file from the CA, | - | | | and import the certificate | - | | | into your database. You should | - | | | assign a good nickname to a | - | | | certificate when importing it, | - | | | making it easier for you to | - | | | refer to it later. | - | | | It should be noted that the | - | | | first database format that can | - | | | be accessed simultaneously by | - | | | multiple applications is | - | | | key4.db/cert9.db – database | - | | | files with lower numbers will | - | | | most likely experience | - | | | unrecoverable corruption if | - | | | you access them with multiple | - | | | applications at the same time. | - | | | In other words, if your | - | | | browser or your server | - | | | operates on an older NSS | - | | | database format, don't use the | - | | | NSS tools to operate on it | - | | | while the other software is | - | | | executing. At the time of | - | | | writing NSS and the Mozilla | - | | | applications still use the | - | | | older database file format by | - | | | default, where each | - | | | application has its own NSS | - | | | database. | - | | | If you require a copy of a | - | | | certificate stored in an NSS | - | | | database, including its | - | | | private key, you can use | - | | | pk12util to export it to the | - | | | PKCS#12 file format. If you | - | | | require it in PEM format, you | - | | | could use the openssl pkcs12 | - | | | command (that's not NSS) to | - | | | convert the PKCS#12 file to | - | | | PEM. | - | | | This line is a placeholder for | - | | | how to prepare a database, how | - | | | to dump a cert, and how to | - | | | convert data. | - | | | You might have been motivated | - | | | to work with NSS because it is | - | | | used by the Mozilla | - | | | applications such as Firefox, | - | | | Thunderbird, etc. If you build | - | | | the Mozilla application, it | - | | | will automatically build the | - | | | NSS library, too. However, if | - | | | you want to work with the NSS | - | | | command line tools, you will | - | | | have to follow the standalone | - | | | NSS build instructions, and | - | | | build NSS outside of the | - | | | Mozilla application sources. | - | | | The key database file will | - | | | contain at least one symmetric | - | | | key, which NSS will | - | | | automatically create on | - | | | demand, and which will be used | - | | | to protect your secret | - | | | (private) keys. The symmetric | - | | | key can be protected with PBE | - | | | by setting a master password | - | | | on the database. As soon as | - | | | you set a master password, an | - | | | attacker stealing your key | - | | | database will no longer be | - | | | able to get access to your | - | | | private key, unless the | - | | | attacker would also succeed in | - | | | stealing the master password. | - | | | Now you might be interest in | - | | | how to get the | - | | | :ref:`mozilla_projects_nss | - | | | _nss_sources_building_testing` | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 3 | :ref:`mozill | **NSS** | - | | a_projects_nss_blank_function` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | One-line description of what | - | | | the function does (more than | - | | | just what it returns). | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 4 | :ref:` | **Guide, NSS, Security** | - | | mozilla_projects_nss_building` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This page has detailed | - | | | information on how to build | - | | | NSS. Because NSS is a | - | | | cross-platform library that | - | | | builds on many different | - | | | platforms and has many | - | | | options, it may be complex to | - | | | build. Please read these | - | | | instructions carefully before | - | | | attempting to build. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 5 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_cert_findcertbydercert` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Find a certificate in the | - | | | database that matches a | - | | | DER-encoded certificate. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 6 | :ref:`mozilla_projects_n | **NSS** | - | | ss_cert_findcertbyissuerandsn` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Find a certificate in the | - | | | database with the given issuer | - | | | and serial number. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 7 | :r | **NSS** | - | | ef:`mozilla_projects_nss_certi | | - | | ficate_download_specification` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This document describes the | - | | | data formats used by NSS 3.x | - | | | for installing certificates. | - | | | This document is currently | - | | | being revised and has not yet | - | | | been reviewed for accuracy. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 8 | :ref:`mozilla_proje | **NSS** | - | | cts_nss_certificate_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here are used to interact with | - | | | certificate databases. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 9 | :ref:`mozill | **NSS** | - | | a_projects_nss_certverify_log` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | All the NSS verify functions | - | | | except, the \*VerifyNow() | - | | | functions, take a parameter | - | | | called 'CERTVerifyLog'. If you | - | | | supply the log parameter, NSS | - | | | will continue chain validation | - | | | after each error . The log | - | | | tells you what the problem was | - | | | with the chain and what | - | | | certificate in the chain | - | | | failed. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 10 | :ref:`mozil | **NSS** | - | | la_projects_nss_code_coverage` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 11 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_cryptography_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here perform cryptographic | - | | | operations based on the PKCS | - | | | #11 interface. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 12 | :ref:`mozilla_projects | **NSS** | - | | _nss_deprecated_ssl_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The following SSL functions | - | | | have been replaced with newer | - | | | versions. The deprecated | - | | | functions are not supported by | - | | | the new SSL shared libraries. | - | | | Applications that want to use | - | | | the SSL shared libraries must | - | | | convert to calling the new | - | | | replacement functions listed | - | | | below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 13 | :ref:`mozil | **Decrypt, Encryption, | - | | la_projects_nss_encrypt_decryp | Example, NSS, Sample code** | - | | t_mac_keys_as_session_objects` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Generates encryption/mac keys | - | | | and uses session objects. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 14 | :ref:`mozilla_projects_nss_en | **Example, Intermediate, | - | | crypt_decrypt_mac_using_token` | Mozilla, NSS** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Generates encryption/mac keys | - | | | and uses token for storing. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 15 | : | **NSS, NeedsUpdate** | - | | ref:`mozilla_projects_nss_faq` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | NSS is set of libraries, APIs, | - | | | utilities, and documentation | - | | | designed to support | - | | | cross-platform development of | - | | | security-enabled client and | - | | | server applications. It | - | | | provides a complete | - | | | open-source implementation of | - | | | the crypto libraries used by | - | | | Mozilla and other companies in | - | | | the Firefox browser, AOL | - | | | Instant Messenger (AIM), | - | | | server products from Red Hat, | - | | | and other products. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 16 | :ref:`mozilla_projects_n | **NSS** | - | | ss_fips_mode_-_an_explanation` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | NSS has a "FIPS Mode" that can | - | | | be enabled when NSS is | - | | | compiled in a specific way. | - | | | (Note: Mozilla does not | - | | | distribute a "FIPS Mode"-ready | - | | | NSS with Firefox.) This page | - | | | attempts to provide an | - | | | informal explanation of what | - | | | it is, who would use it, and | - | | | why. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 17 | :ref:`mozilla_projects | **Samples WIP** | - | | _nss_getting_started_with_nss` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) is a base library for | - | | | cryptographic algorithms and | - | | | secure network protocols used | - | | | by Mozilla software. | - | | | Would you like to get involved | - | | | and help us to improve the | - | | | core security of Mozilla | - | | | Firefox and other applications | - | | | that make use of NSS? We are | - | | | looking forward to your | - | | | contributions! | - | | | We have a large list of tasks | - | | | waiting for attention, and we | - | | | are happy to assist you in | - | | | identifying areas that match | - | | | your interest or skills. You | - | | | can find us on `Mozilla | - | | | IRC `__ | - | | | in channel | - | | | `#nss < | - | | | https://chat.mozilla.org/#/room/#nss:mozilla.org>`__ | - | | | or you could ask your | - | | | questions on the | - | | | `mozilla.dev.tech.cry | - | | | pto `__ | - | | | newsgroup. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 18 | :ref:`mozilla_proje | **Advanced, Guide, NSS** | - | | cts_nss_http_delegation_clone` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Up to version 3.11, | - | | | :ref:`mozilla_projects_nss` | - | | | connects directly over | - | | | `HTTP `__ | - | | | to an OCSP responder to make | - | | | the request and fetch the | - | | | response. It does so in a | - | | | blocking fashion, and also | - | | | directly to the responder, | - | | | ignoring any proxy the | - | | | application may wish to use. | - | | | This causes OCSP requests to | - | | | fail if the network | - | | | environment requires the use | - | | | of a proxy. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 19 | :ref:`mozilla | **Advanced, Guide, NSS** | - | | _projects_nss_http_delegation` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Up to version 3.11, | - | | | :ref:`mozilla_projects_nss` | - | | | connects directly over | - | | | `HTTP `__ | - | | | to an OCSP responder to make | - | | | the request and fetch the | - | | | response. It does so in a | - | | | blocking fashion, and also | - | | | directly to the responder, | - | | | ignoring any proxy the | - | | | application may wish to use. | - | | | This causes OCSP requests to | - | | | fail if the network | - | | | environment requires the use | - | | | of a proxy. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 20 | :ref:`moz | **Introduction, Mozilla, NSS** | - | | illa_projects_nss_introduction | | - | | _to_network_security_services` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | **Network Security Services | - | | | (NSS)** is a set of libraries | - | | | designed to support | - | | | cross-platform development of | - | | | communications applications | - | | | that support SSL, S/MIME, and | - | | | other Internet security | - | | | standards. For a general | - | | | overview of NSS and the | - | | | standards it supports, see | - | | | :ref:`m | - | | | ozilla_projects_nss_overview`. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 21 | :ref:`mozilla_project | **D** | - | | s_nss_jss_4_4_0_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Java Security Services | - | | | (JSS) team has released JSS | - | | | 4.4.0, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 22 | : | **Guide, JSS, NSS, | - | | ref:`mozilla_projects_nss_jss` | NeedsMigration** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | **The JSS project has been | - | | | relocated!** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 23 | :ref:`mozilla_proj | **JSS, NSS** | - | | ects_nss_jss_4_3_releasenotes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services for | - | | | Java (JSS) 4.3 is a minor | - | | | release with the following new | - | | | features: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 24 | :ref:`mozilla_project | **JSS, NSPR, NSS** | - | | s_nss_jss_4_3_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services for | - | | | Java (JSS) 4.3.1 is a minor | - | | | release with the following new | - | | | features: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 25 | :ref | **JSS** | - | | :`mozilla_projects_nss_jss_bui | | - | | ld_instructions_for_jss_4_3_x` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 26 | :ref | **JSS** | - | | :`mozilla_projects_nss_jss_bui | | - | | ld_instructions_for_jss_4_4_x` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 27 | :ref:`moz | **JSS** | - | | illa_projects_nss_jss_jss_faq` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech.cry | - | | | pto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 28 | :ref:`mozilla_projec | **Crypto, JSS, Security** | - | | ts_nss_jss_jss_provider_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This page has been moved to | - | | | http://www.do | - | | | gtagpki.org/wiki/JSS_Provider. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 29 | :r | | - | | ef:`mozilla_projects_nss_jss_m | | - | | ozilla-jss_jca_provider_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | * | - | | | Newsgroup:*\ `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 30 | :ref:`mozil | **JSS** | - | | la_projects_nss_jss_using_jss` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *News | - | | | group:*\ `mozilla.dev.tech.cry | - | | | pto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 31 | :ref:`mozill | | - | | a_projects_nss_key_log_format` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Key logs can be written by NSS | - | | | so that external programs can | - | | | decrypt TLS connections. | - | | | Wireshark 1.6.0 and above can | - | | | use these log files to decrypt | - | | | packets. You can tell | - | | | Wireshark where to find the | - | | | key file via | - | | | *Edit→Preferences→Pro | - | | | tocols→TLS→(Pre)-Master-Secret | - | | | log filename*. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 32 | :ref:`mozilla_p | **NSS** | - | | rojects_nss_memory_allocation` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | NSS makes extensive use of | - | | | NSPR's PLArenaPools for memory | - | | | allocation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 33 | :ref:`mozilla_pr | | - | | ojects_nss_modutil-tasks_html` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 34 | :ref:`mozilla | **Example** | - | | _projects_nss_new_nss_samples` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This collection of sample code | - | | | demonstrates how NSS can be | - | | | used for cryptographic | - | | | operations, certificate | - | | | handling, SSL, etc. It also | - | | | demonstrates some best | - | | | practices in the application | - | | | of cryptography. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 35 | :ref:`moz | **Gecko, NSS, Security** | - | | illa_projects_nss_notes_on_tls | | - | | _-_ssl_3_0_intolerant_servers` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | A number of Netscape 6.x/7.x | - | | | and Mozilla users have | - | | | reported that some secure | - | | | sites -- typically sites | - | | | featuring online transactions | - | | | or online banking over the | - | | | HTTPS protocol -- do not | - | | | display any content at all. | - | | | The connection seems | - | | | terminated and a blank page is | - | | | displayed. This is the main | - | | | symptom of the problem when | - | | | Mozilla based browsers | - | | | encounter TLS/SSL 3.0 | - | | | intolerant servers. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 36 | :ref:`mozilla_projects_nss_n | | - | | ss_3_11_10_release_notes_html` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: mozilla. | - | | | dev.tech.crypto | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 37 | :ref:`mozilla_projects_ns | | - | | s_nss_3_12_release_notes_html` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 38 | :ref:`mozilla_projects_nss_ | | - | | nss_3_12_1_release_notes_html` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 39 | :ref:`mozilla_projects_nss_ | | - | | nss_3_12_2_release_notes_html` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 40 | :ref:`mozilla_projects | | - | | _nss_nss_3_12_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 41 | :ref:`mozilla_projects | | - | | _nss_nss_3_12_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.12.4 is a patch | - | | | release for NSS 3.12. The bug | - | | | fixes in NSS 3.12.4 are | - | | | described in the "`Bugs | - | | | Fixed <#bugsfixed>`__" section | - | | | below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 42 | :ref:`mozilla_projects | | - | | _nss_nss_3_12_5_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.12.5 is a patch | - | | | release for NSS 3.12. The bug | - | | | fixes in NSS 3.12.5 are | - | | | described in the "`Bugs | - | | | Fixed `__" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 43 | :ref:`mozilla_projects | | - | | _nss_nss_3_12_6_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.12.6 is a patch | - | | | release for NSS 3.12. The bug | - | | | fixes in NSS 3.12.6 are | - | | | described in the "`Bugs | - | | | Fixed `__" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 44 | :ref:`mozilla_projects | **NSS** | - | | _nss_nss_3_12_9_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.12.9 is a patch | - | | | release for NSS 3.12. The bug | - | | | fixes in NSS 3.12.9 are | - | | | described in the "\ `Bugs | - | | | Fixed <#bugsfixed>`__" section | - | | | below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 45 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_14_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.14, which is a minor | - | | | release with the following new | - | | | features: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 46 | :ref:`mozilla_projects | | - | | _nss_nss_3_14_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.14.1 is a patch | - | | | release for NSS 3.14. The bug | - | | | fixes in NSS 3.14.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 47 | :ref:`mozilla_projects | | - | | _nss_nss_3_14_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.14.2 is a patch | - | | | release for NSS 3.14. The bug | - | | | fixes in NSS 3.14.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. NSS 3.14.2 | - | | | should be used with NSPR 4.9.5 | - | | | or newer. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 48 | :ref:`mozilla_projects | | - | | _nss_nss_3_14_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.14.3 is a patch | - | | | release for NSS 3.14. The bug | - | | | fixes in NSS 3.14.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 49 | :ref:`mozilla_projects | | - | | _nss_nss_3_14_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.14.4 is a patch | - | | | release for NSS 3.14. The bug | - | | | fixes in NSS 3.14.4 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 50 | :ref:`mozilla_projects | | - | | _nss_nss_3_14_5_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.14.5 is a patch | - | | | release for NSS 3.14. The bug | - | | | fixes in NSS 3.14.5 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 51 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_15_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.15, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 52 | :ref:`mozilla_projects | | - | | _nss_nss_3_15_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.15.1 is a patch | - | | | release for NSS 3.15. The bug | - | | | fixes in NSS 3.15.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 53 | :ref:`mozilla_projects | | - | | _nss_nss_3_15_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.15.2 is a patch | - | | | release for NSS 3.15. The bug | - | | | fixes in NSS 3.15.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 54 | :ref:`mozilla_projects | | - | | _nss_nss_3_15_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.15.3 is a patch | - | | | release for NSS 3.15. The bug | - | | | fixes in NSS 3.15.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 55 | :ref:`mozilla_projects_n | | - | | ss_nss_3_15_3_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.15.3.1 is a patch | - | | | release for NSS 3.15. The bug | - | | | fixes in NSS 3.15.3.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 56 | :ref:`mozilla_projects | | - | | _nss_nss_3_15_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.15.4 is a patch | - | | | release for NSS 3.15. The bug | - | | | fixes in NSS 3.15.4 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 57 | :ref:`mozilla_projects | | - | | _nss_nss_3_15_5_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.15.5 is a patch | - | | | release for NSS 3.15. The bug | - | | | fixes in NSS 3.15.5 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 58 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_16_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.16, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 59 | :ref:`mozilla_projects | | - | | _nss_nss_3_16_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.1 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 60 | :ref:`mozilla_projects | | - | | _nss_nss_3_16_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.2 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 61 | :ref:`mozilla_projects_n | **Reference, Security** | - | | ss_nss_3_16_2_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.2.1 is a patch | - | | | release for NSS 3.16, based on | - | | | the NSS 3.16.2 release. The | - | | | bug fixes in NSS 3.16.2.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 62 | :ref:`mozilla_projects_n | **Reference, Security** | - | | ss_nss_3_16_2_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.2.2 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.2.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 63 | :ref:`mozilla_projects_n | **Reference, Security** | - | | ss_nss_3_16_2_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.2.3 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.2.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 64 | :ref:`mozilla_projects | | - | | _nss_nss_3_16_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.3 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 65 | :ref:`mozilla_projects | | - | | _nss_nss_3_16_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.4 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.4 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 66 | :ref:`mozilla_projects | **Reference, Security** | - | | _nss_nss_3_16_5_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.5 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.5 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 67 | :ref:`mozilla_projects | **Reference, Security** | - | | _nss_nss_3_16_6_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.16.6 is a patch | - | | | release for NSS 3.16. The bug | - | | | fixes in NSS 3.16.6 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 68 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_17_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.17, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 69 | :ref:`mozilla_projects | **Reference, Security** | - | | _nss_nss_3_17_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.17.1 is a patch | - | | | release for NSS 3.17. The bug | - | | | fixes in NSS 3.17.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 70 | :ref:`mozilla_projects | | - | | _nss_nss_3_17_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.17.2 is a patch | - | | | release for NSS 3.17. The bug | - | | | fixes in NSS 3.17.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 71 | :ref:`mozilla_projects | **Guide, NSS, Security** | - | | _nss_nss_3_17_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.17.3 is a patch | - | | | release for NSS 3.17. The bug | - | | | fixes in NSS 3.17.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 72 | :ref:`mozilla_projects | **Guide, NSS, Security** | - | | _nss_nss_3_17_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.17.4 is a patch | - | | | release for NSS 3.17. The bug | - | | | fixes in NSS 3.17.4 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 73 | :ref:`mozilla_projec | **Guide, NSS, NeedsContent, | - | | ts_nss_nss_3_18_release_notes` | Security** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.18, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 74 | :ref:`mozilla_projects | **Networking, Security** | - | | _nss_nss_3_18_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.18.1 is a patch | - | | | release for NSS 3.18. The bug | - | | | fixes in NSS 3.18.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 75 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_19_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.19, which is a minor | - | | | security release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 76 | :ref:`mozilla_projects | | - | | _nss_nss_3_19_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.1 is a security | - | | | release for NSS 3.19. The bug | - | | | fixes in NSS 3.19.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 77 | :ref:`mozilla_projects | | - | | _nss_nss_3_19_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.2 is a patch | - | | | release for NSS 3.19 that | - | | | addresses compatibility issues | - | | | in NSS 3.19.1. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 78 | :ref:`mozilla_projects_n | | - | | ss_nss_3_19_2_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.2.1 is a patch | - | | | release for NSS 3.19.2. The | - | | | bug fixes in NSS 3.19.2.1 are | - | | | described in the "Security | - | | | Advisories" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 79 | :ref:`mozilla_projects_n | | - | | ss_nss_3_19_2_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.2.2 is a security | - | | | patch release for NSS 3.19.2. | - | | | The bug fixes in NSS 3.19.2.2 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 80 | :ref:`mozilla_projects_n | | - | | ss_nss_3_19_2_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.2.3 is a security | - | | | patch release for NSS 3.19.2. | - | | | The bug fixes in NSS 3.19.2.3 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 81 | :ref:`mozilla_projects_n | **NSS** | - | | ss_nss_3_19_2_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.2.4 is a security | - | | | patch release for NSS 3.19.2. | - | | | The bug fixed in NSS 3.19.2.4 | - | | | have been described in the | - | | | "Security Fixes" section | - | | | below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 82 | :ref:`mozilla_projects | | - | | _nss_nss_3_19_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.3 is a patch | - | | | release for NSS 3.19. The bug | - | | | fixes in NSS 3.19.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 83 | :ref:`mozilla_projects | | - | | _nss_nss_3_19_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.19.4 is a patch | - | | | release for NSS 3.19. The bug | - | | | fixes in NSS 3.19.4 are | - | | | described in the "Security | - | | | Advisories" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 84 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_20_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.20, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 85 | :ref:`mozilla_projects | | - | | _nss_nss_3_20_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.20.1 is a patch | - | | | release for NSS 3.20. The bug | - | | | fixes in NSS 3.20.1 are | - | | | described in the "Security | - | | | Advisories" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 86 | :ref:`mozilla_projects | | - | | _nss_nss_3_20_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.20.2 is a security | - | | | patch release for NSS 3.20. | - | | | The bug fixes in NSS 3.20.2 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 87 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_21_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | 2016-01-07, this page has been | - | | | updated to include additional | - | | | information about the release. | - | | | The sections "Security Fixes" | - | | | and "Acknowledgements" have | - | | | been added. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 88 | :ref:`mozilla_projects | | - | | _nss_nss_3_21_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.21.1 is a security | - | | | patch release for NSS 3.21. | - | | | The bug fixes in NSS 3.21.1 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 89 | :ref:`mozilla_projects | | - | | _nss_nss_3_21_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.21.2 is a security | - | | | patch release for NSS 3.21.1. | - | | | The bug fixes in NSS 3.21.2 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 90 | :ref:`mozilla_projects | | - | | _nss_nss_3_21_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.21.3 is a security | - | | | patch release for NSS 3.21.2. | - | | | The bug fixes in NSS 3.21.3 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 91 | :ref:`mozilla_projects | | - | | _nss_nss_3_21_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.21.4 is a security | - | | | patch release for NSS 3.21. | - | | | The bug fixes in NSS 3.21.4 | - | | | are described in the "Bugs | - | | | Fixed" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 92 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_22_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.22, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 93 | :ref:`mozilla_projects | | - | | _nss_nss_3_22_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.22.1 is a patch | - | | | release for NSS 3.22. The bug | - | | | fixes in NSS 3.22.1 are | - | | | described in the "Notable | - | | | Changes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 94 | :ref:`mozilla_projects | | - | | _nss_nss_3_22_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.22.2 is a security | - | | | patch release for NSS 3.22. | - | | | The bug fixes in NSS 3.22.2 | - | | | are described in the "Security | - | | | Fixes" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 95 | :ref:`mozilla_projects | | - | | _nss_nss_3_22_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.22.3 is a patch | - | | | release for NSS 3.22. The bug | - | | | fixes in NSS 3.22.3 are | - | | | described in the "Bugs fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 96 | :ref:`mozilla_projec | **Networking, Security** | - | | ts_nss_nss_3_23_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.23, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 97 | :ref:`mozilla_projec | **NSS, Release Notes** | - | | ts_nss_nss_3_24_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.24, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 98 | :ref:`mozilla_projec | **NSS, Release Notes** | - | | ts_nss_nss_3_25_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.25, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 99 | :ref:`mozilla_projects | | - | | _nss_nss_3_25_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.25.1 is a patch | - | | | release for NSS 3.25. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 100 | :ref:`mozilla_projec | **NSS, Release Notes** | - | | ts_nss_nss_3_26_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.26, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 101 | :ref:`mozilla_projects | | - | | _nss_nss_3_26_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.26.2 is a patch | - | | | release for NSS 3.26. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 102 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_27_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.27, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 103 | :ref:`mozilla_projects | | - | | _nss_nss_3_27_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.27.1 is a patch | - | | | release for NSS 3.27. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 104 | :ref:`mozilla_projects | | - | | _nss_nss_3_27_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.27.2 is a patch | - | | | release for NSS 3.27. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 105 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_28_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.28, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 106 | :ref:`mozilla_projects | | - | | _nss_nss_3_28_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.28.1 is a patch | - | | | release for NSS 3.28. The bug | - | | | fixes in NSS 3.28.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 107 | :ref:`mozilla_projects | | - | | _nss_nss_3_28_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.28.2 is a patch | - | | | release for NSS 3.28. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 108 | :ref:`mozilla_projects | | - | | _nss_nss_3_28_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.28.3 is a patch | - | | | release for NSS 3.28. The bug | - | | | fixes in NSS 3.28.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 109 | :ref:`mozilla_projects | | - | | _nss_nss_3_28_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.28.4 is a security | - | | | patch release for NSS 3.28. | - | | | The bug fixes in NSS 3.28.4 | - | | | are described in the "Bugs | - | | | Fixed" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 110 | :ref:`mozilla_projects | | - | | _nss_nss_3_28_5_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.28.5 is a patch | - | | | release for NSS 3.28. The bug | - | | | fixes in NSS 3.28.5 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 111 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_29_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.29, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 112 | :ref:`mozilla_projects | | - | | _nss_nss_3_29_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.29.1 is a patch | - | | | release for NSS 3.29. The bug | - | | | fixes in NSS 3.29.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 113 | :ref:`mozilla_projects | | - | | _nss_nss_3_29_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.29.2 is a patch | - | | | release for NSS 3.29. The bug | - | | | fixes in NSS 3.29.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 114 | :ref:`mozilla_projects | | - | | _nss_nss_3_29_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.29.3 is a patch | - | | | release for NSS 3.29. The bug | - | | | fixes in NSS 3.29.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 115 | :ref:`mozilla_projects | | - | | _nss_nss_3_29_5_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.29.5 is a security | - | | | patch release for NSS 3.29. | - | | | The bug fixes in NSS 3.29.5 | - | | | are described in the "Bugs | - | | | Fixed" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 116 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_30_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.30, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 117 | :ref:`mozilla_projects | | - | | _nss_nss_3_30_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.30.1 is a security | - | | | patch release for NSS 3.30. | - | | | The bug fixes in NSS 3.30.1 | - | | | are described in the "Bugs | - | | | Fixed" section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 118 | :ref:`mozilla_projects | | - | | _nss_nss_3_30_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.30.2 is a patch | - | | | release for NSS 3.30. The bug | - | | | fixes in NSS 3.30.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 119 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_31_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.31, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 120 | :ref:`mozilla_projects | | - | | _nss_nss_3_31_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.31.1, which is a patch | - | | | release for NSS 3.31. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 121 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_32_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.32, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 122 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_33_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.33, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 123 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_34_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.34, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 124 | :ref:`mozilla_projects | | - | | _nss_nss_3_34_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Network Security Services | - | | | (NSS) team has released NSS | - | | | 3.34.1, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 125 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_35_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.35, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 126 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_36_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.36, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 127 | :ref:`mozilla_projects | | - | | _nss_nss_3_36_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.1 is a patch | - | | | release for NSS 3.36. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 128 | :ref:`mozilla_projects | **NSS, Release Notes** | - | | _nss_nss_3_36_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.2 is a patch | - | | | release for NSS 3.36. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 129 | :ref:`mozilla_projects | **NSS, Release Notes** | - | | _nss_nss_3_36_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.4 is a patch | - | | | release for NSS 3.36. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 130 | :ref:`mozilla_projects | **Mozilla, NSS, Release | - | | _nss_nss_3_36_5_release_notes` | Notes** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.5 is a patch | - | | | release for NSS 3.36. The bug | - | | | fixes in NSS 3.36.5 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 131 | :ref:`mozilla_projects | **Mozilla, NSS, Release | - | | _nss_nss_3_36_6_release_notes` | Notes** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.6 is a patch | - | | | release for NSS 3.36. The bug | - | | | fixes in NSS 3.36.6 are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 132 | :ref:`mozilla_projects | | - | | _nss_nss_3_36_7_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.7 is a patch | - | | | release for NSS 3.36. The bug | - | | | fixes in NSS 3.36.7 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 19 January 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 133 | :ref:`mozilla_projects | | - | | _nss_nss_3_36_8_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.36.8 is a patch | - | | | release for NSS 3.36. The bug | - | | | fixes in NSS 3.36.8 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 21 June 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 134 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_37_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.37, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 135 | :ref:`mozilla_projects | | - | | _nss_nss_3_37_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.37.1 is a patch | - | | | release for NSS 3.37. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 136 | :ref:`mozilla_project | | - | | s_nss_nss_3_37_3release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.37.3 is a patch | - | | | release for NSS 3.37. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 137 | :ref:`mozilla_projec | **Mozilla, NSS, Release | - | | ts_nss_nss_3_38_release_notes` | Notes** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.38, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 138 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_39_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.39, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 139 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_40_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.40, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 140 | :ref:`mozilla_projects | | - | | _nss_nss_3_40_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.40.1, which is a patch | - | | | release for NSS 3.40 | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 141 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_41_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.41 on 7 December 2018, | - | | | which is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 142 | :ref:`mozilla_projects | | - | | _nss_nss_3_41_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.41.1 is a patch | - | | | release for NSS 3.41. The bug | - | | | fixes in NSS 3.41.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 22 January 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 143 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_42_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.42 on 25 January 2019, | - | | | which is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 144 | :ref:`mozilla_projects | | - | | _nss_nss_3_42_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.42.1 on 31 January | - | | | 2019, which is a patch | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 145 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_43_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.43 on 16 March 2019, | - | | | which is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 146 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_44_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.44 on 10 May 2019, | - | | | which is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 147 | :ref:`mozilla_projects | | - | | _nss_nss_3_44_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.44.1 is a patch | - | | | release for NSS 3.44. The bug | - | | | fixes in NSS 3.44.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 21 June 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 148 | :ref:`mozilla_projects | | - | | _nss_nss_3_44_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.44.2 is a patch | - | | | release for NSS 3.44. The bug | - | | | fixes in NSS 3.44.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 2 October 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 149 | :ref:`mozilla_projects | | - | | _nss_nss_3_44_3_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.44.3 is a patch | - | | | release for NSS 3.44. The bug | - | | | fixes in NSS 3.44.3 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 19 November 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 150 | :ref:`mozilla_projects | | - | | _nss_nss_3_44_4_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.44.4 on **19 May | - | | | 2020**. This is a security | - | | | patch release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 151 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_45_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.45 on **5 July 2019**, | - | | | which is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 152 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_46_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.46 on **30 August | - | | | 2019**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 153 | :ref:`mozilla_projects | | - | | _nss_nss_3_46_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.46.1 is a patch | - | | | release for NSS 3.46. The bug | - | | | fixes in NSS 3.46.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 2 October 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 154 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_47_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.47 on **18 October | - | | | 2019**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 155 | :ref:`mozilla_projects | | - | | _nss_nss_3_47_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.47.1 is a patch | - | | | release for NSS 3.47. The bug | - | | | fixes in NSS 3.47.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on 19 November 2019. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 156 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_48_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.48 on **5 December | - | | | 2019**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 157 | :ref:`mozilla_projects | | - | | _nss_nss_3_48_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.48.1 is a patch | - | | | release for NSS 3.48. The bug | - | | | fixes in NSS 3.48.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on **13 January 2020**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 158 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_49_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.49 on **3 January | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 159 | :ref:`mozilla_projects | | - | | _nss_nss_3_49_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.49.1 is a patch | - | | | release for NSS 3.49. The bug | - | | | fixes in NSS 3.49.1 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on **13 January 2020**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 160 | :ref:`mozilla_projects | | - | | _nss_nss_3_49_2_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.49.2 is a patch | - | | | release for NSS 3.49. The bug | - | | | fixes in NSS 3.49.2 are | - | | | described in the "Bugs Fixed" | - | | | section below. It was released | - | | | on **23 January 2020**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 161 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_50_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.50 on **7 February | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 162 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_51_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.51 on **6 March | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 163 | :ref:`mozilla_projects | | - | | _nss_nss_3_51_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.51.1 on **3 April | - | | | 2020**. This is a minor | - | | | release focusing on functional | - | | | bug fixes and low-risk patches | - | | | only. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 164 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_52_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.52 on **1 May 2020**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 165 | :ref:`mozilla_projects | | - | | _nss_nss_3_52_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.52.1 on **19 May | - | | | 2020**. This is a security | - | | | patch release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 166 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_53_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team released Network | - | | | Security Services (NSS) 3.53 | - | | | on **29 May 2020**. NSS 3.53 | - | | | will be a long-term support | - | | | release, supporting Firefox 78 | - | | | ESR. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 167 | :ref:`mozilla_projects | | - | | _nss_nss_3_53_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.53.1 on **16 June | - | | | 2020**. This is a security | - | | | patch release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 168 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_54_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.54 on **26 June | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 169 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_55_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.55 on **24 July | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 170 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_56_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.56 on **21 August | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 171 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_57_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.57 on **18 September | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 172 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_58_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.58 on **16 October | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 173 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_59_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.59 on **13 November | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 174 | :ref:`mozilla_projects | | - | | _nss_nss_3_59_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.59.1 on **18 December | - | | | 2020**, which is a patch | - | | | release for NSS 3.59. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 175 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_60_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.60 on **11 December | - | | | 2020**, which is a minor | - | | | release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 176 | :ref:`mozilla_projects | | - | | _nss_nss_3_60_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team released Network | - | | | Security Services (NSS) 3.60.1 | - | | | on **4 January 2021**, which | - | | | is a patch release for NSS | - | | | 3.60. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 177 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_61_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team released Network | - | | | Security Services (NSS) 3.61 | - | | | on **22 January 2021**, which | - | | | is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 178 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_62_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team released Network | - | | | Security Services (NSS) 3.62 | - | | | on **19 February 2021**, which | - | | | is a minor release. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 179 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_63_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.63 was released on | - | | | **18 March 2021**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 180 | :ref:`mozilla_projects | | - | | _nss_nss_3_63_1_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.63.1 was released on | - | | | **6 April 2021**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 181 | :ref:`mozilla_projec | | - | | ts_nss_nss_3_64_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Network Security Services | - | | | (NSS) 3.64 was released on | - | | | **15 April 2021**. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 182 | :ref:`mozilla_pr | | - | | ojects_nss_nss_api_guidelines` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 183 | :ref:`mozilla_pr | | - | | ojects_nss_nss_config_options` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The specified ciphers will be | - | | | allowed by policy, but an | - | | | application may allow more by | - | | | policy explicitly: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 184 | :ref:`mozilla_projec | **NSS, Tutorial** | - | | ts_nss_nss_developer_tutorial` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | **Line length** should not | - | | | exceed 80 characters. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 185 | :ref:`mozilla_projects_n | | - | | ss_nss_release_notes_template` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS team has released | - | | | Network Security Services | - | | | (NSS) 3.XX, which is a minor | - | | | release. | - | | | or | - | | | Network Security Services | - | | | (NSS) 3.XX.y is a patch | - | | | release for NSS 3.XX. The bug | - | | | fixes in NSS 3.XX.y are | - | | | described in the "Bugs Fixed" | - | | | section below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 186 | :ref:`mozi | **Landing, Mozilla, NSS, | - | | lla_projects_nss_nss_releases` | Networking, Project, Release | - | | | Notes, Security** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The current **Stable** release | - | | | of NSS is 3.64, which was | - | | | released on **15 April 2021**. | - | | | (:ref:`mozilla_project | - | | | s_nss_nss_3_64_release_notes`) | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 187 | :ref:`mozilla | **Example** | - | | _projects_nss_nss_sample_code` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The collection of sample code | - | | | here demonstrates how NSS can | - | | | be used for cryptographic | - | | | operations, certificate | - | | | handling, SSL, etc. It also | - | | | demonstrates some best | - | | | practices in the application | - | | | of cryptography. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 188 | :ref:`mozilla_projec | | - | | ts_nss_nss_sample_code_enc_dec | | - | | _mac_output_plblic_key_as_csr` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Generates encryption/mac keys | - | | | and outputs public key as | - | | | certificate signing request | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 189 | :ref:`mozilla_projects_nss_ns | | - | | s_sample_code_enc_dec_mac_usin | | - | | g_key_wrap_certreq_pkcs10_csr` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Generates encryption/mac keys | - | | | and outputs public key as | - | | | pkcs11 certificate signing | - | | | request | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 190 | :ref:`mozilla_p | | - | | rojects_nss_nss_sample_code_en | | - | | crypt_decrypt_mac_using_token` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Generates encryption/mac keys | - | | | and uses token for storing. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 191 | :ref:`mozilla_pr | **Examples, NSS, Security** | - | | ojects_nss_nss_sample_code_nss | | - | | _sample_code_sample_1_hashing` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This is an example program | - | | | that demonstrates how to | - | | | compute the hash of a file and | - | | | save it to another file. This | - | | | program illustrates the use of | - | | | NSS message APIs. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 192 | :ref:`mozilla_projects_nss_nss | **Examples, NSS, Security** | - | | _sample_code_nss_sample_code_s | | - | | ample_2_initialization_of_nss` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This example program | - | | | demonstrates how to initialize | - | | | the NSS Database. This | - | | | program illustrates password | - | | | handling. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 193 | :ref | **Examples, NSS, Security** | - | | :`mozilla_projects_nss_nss_sam | | - | | ple_code_nss_sample_code_sampl | | - | | e_3_basic_encryption_and_maci` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This example program | - | | | demonstrates how to encrypt | - | | | and MAC a file. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 194 | :ref:`m | | - | | ozilla_projects_nss_nss_sample | | - | | _code_nss_sample_code_sample1` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This is an example program | - | | | that demonstrates how to do | - | | | key generation and transport | - | | | between cooperating servers. | - | | | This program shows the | - | | | following: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 195 | :ref:`m | | - | | ozilla_projects_nss_nss_sample | | - | | _code_nss_sample_code_sample2` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 196 | :ref:`m | | - | | ozilla_projects_nss_nss_sample | | - | | _code_nss_sample_code_sample3` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 197 | :ref:`m | | - | | ozilla_projects_nss_nss_sample | | - | | _code_nss_sample_code_sample4` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 198 | :ref:`m | | - | | ozilla_projects_nss_nss_sample | | - | | _code_nss_sample_code_sample5` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 199 | :ref:`m | | - | | ozilla_projects_nss_nss_sample | | - | | _code_nss_sample_code_sample6` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 200 | :ref:`mozil | **Examples, NSS, Security** | - | | la_projects_nss_nss_sample_cod | | - | | e_nss_sample_code_utililies_1` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This is a library of utilities | - | | | used by many of the samples. | - | | | This code shows the following: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 201 | : | **HTML, Hashing Sample, | - | | ref:`mozilla_projects_nss_nss_ | JavaScript, NSS, Web | - | | sample_code_sample1_-_hashing` | Development, hashing** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS same code below | - | | | computes the hash of a file | - | | | and saves it to another file, | - | | | this illustrates the use of | - | | | NSS message APIs. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 202 | :ref:`mozilla_project | **Example, NSS** | - | | s_nss_nss_sample_code_sample1` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | 1. A program to compute the | - | | | hash of a file and save it to | - | | | another file. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 203 | :ref:`mozilla_pro | **HTML, JavaScript, NSS, NSS | - | | jects_nss_nss_sample_code_samp | Article, NSS Initialization, | - | | le2_-_initialize_nss_database` | Web Development** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS sample code below | - | | | demonstrates how to initialize | - | | | the NSS database. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 204 | :ref:`mozilla_project | | - | | s_nss_nss_sample_code_sample2` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 205 | :ref:`mozilla_projects | **EncDeCMac, HTML, NCC, NCC | - | | _nss_nss_sample_code_sample3_- | Article, Web, Web | - | | _encdecmac_using_token_object` | Development** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Computes the hash of a file | - | | | and saves it to another file, | - | | | illustrates the use of NSS | - | | | message APIs. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 206 | :ref:`moz | | - | | illa_projects_nss_nss_sample_c | | - | | ode_utiltiies_for_nss_samples` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | These utility functions are | - | | | adapted from those found in | - | | | the sectool library used by | - | | | the NSS security tools and | - | | | other NSS test applications. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 207 | :ref:`mozilla_projects_nss | **Build documentation, Guide, | - | | _nss_sources_building_testing` | NSS, Security** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Getting the source code of | - | | | :ref:`mozilla_projects_nss`, | - | | | how to build it, and how to | - | | | run its test suite. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 208 | :ref:`mozill | **NSS** | - | | a_projects_nss_nss_tech_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 209 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note1` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The main non-streaming APIs | - | | | for these two decoders have an | - | | | identical prototype : | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 210 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note2` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The logger displays all | - | | | activity between NSS and a | - | | | specified PKCS #11 module. It | - | | | works by inserting a special | - | | | set of entry points between | - | | | NSS and the module. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 211 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note3` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 212 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note4` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 213 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note5` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | **Note:** AES encryption, a | - | | | fixed blocksize of 16 bytes is | - | | | used. The Rijndael algorithm | - | | | permits 3 blocksizes (16, 24, | - | | | 32 bytes), but the AES | - | | | standard requires the | - | | | blocksize to be 16 bytes. The | - | | | keysize can vary and these | - | | | keysizes are permitted: 16, | - | | | 24, 32 bytes. | - | | | You can also look at a `sample | - | | | program <. | - | | | ./sample-code/sample2.html>`__ | - | | | illustrating encryption | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 214 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note6` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The following applies to NSS | - | | | 3.8 through 3.10 : | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 215 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note7` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This technical note explains | - | | | how to use NSS to perform RSA | - | | | signing and encryption. The | - | | | industry standard for RSA | - | | | signing and encryption is | - | | | `PKCS | - | | | #1 `__. | - | | | NSS supports PKCS #1 v1.5. NSS | - | | | doesn't yet support PKCS #1 | - | | | v2.0 and v2.1, in particular | - | | | OAEP, but OAEP support is on | - | | | our `to-do | - | | | li | - | | | st `__. | - | | | Your contribution is welcome. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 216 | :ref:`mozilla_projects_nss_ | | - | | nss_tech_notes_nss_tech_note8` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 217 | :ref:`mozilla_proj | **NSS, Security, Third-Party | - | | ects_nss_nss_third-party_code` | Code** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This is a list of third-party | - | | | code included in the NSS | - | | | repository, broken into two | - | | | lists: Code that can be | - | | | compiled into the NSS | - | | | libraries, and code that is | - | | | only used for testing. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 218 | :ref:`mozilla_proje | | - | | cts_nss_nss_tools_sslstrength` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | 2) sslstrength hostname[:port] | - | | | [ciphers=xyz] [debug] | - | | | [verbose] | - | | | [policy=export|domestic] | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 219 | :ref:` | **NSS** | - | | mozilla_projects_nss_overview` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | If you want to add support for | - | | | SSL, S/MIME, or other Internet | - | | | security standards to your | - | | | application, you can use | - | | | Network Security Services | - | | | (NSS) to implement all your | - | | | security features. NSS | - | | | provides a complete | - | | | open-source implementation of | - | | | the crypto libraries used by | - | | | AOL, Red Hat, Google, and | - | | | other companies in a variety | - | | | of products, including the | - | | | following: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 220 | :ref:`mozilla_p | **NSS** | - | | rojects_nss_pkcs_12_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here perform PKCS #12 | - | | | operations required by some of | - | | | the NSS tools and other | - | | | applications. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 221 | :ref:`mozilla_ | **NSS** | - | | projects_nss_pkcs_7_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here perform PKCS #7 | - | | | operations required by mail | - | | | and news applications and by | - | | | some of the NSS tools. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 222 | :ref:`mozilla_ | **NSS** | - | | projects_nss_pkcs11_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This chapter describes the | - | | | core PKCS #11 functions that | - | | | an application needs for | - | | | communicating with | - | | | cryptographic modules. In | - | | | particular, these functions | - | | | are used for obtaining | - | | | certificates, keys, and | - | | | passwords. This was converted | - | | | from `"Chapter 7: PKCS #11 | - | | | Functions" `__. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 223 | :ref:`mozilla_ | | - | | projects_nss_pkcs11_implement` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | **NOTE:** This document was | - | | | originally for the Netscape | - | | | Security Library that came | - | | | with Netscape Communicator | - | | | 4.0. This note will be removed | - | | | once the document is updated | - | | | for the current version of | - | | | NSS. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 224 | :ref | **NSS, Security** | - | | :`mozilla_projects_nss_pkcs11` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | PKCS #11 information for | - | | | implementors of cryptographic | - | | | modules: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 225 | :ref:`mo | **NSS, Security** | - | | zilla_projects_nss_pkcs11_faq` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | NSS searches all the installed | - | | | PKCS #11 modules when looking | - | | | for certificates. Once you've | - | | | installed the module, the | - | | | module's certificates simply | - | | | appear in the list of | - | | | certificates displayed in the | - | | | Certificate window. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 226 | :ref:`mozilla_projects_n | **Authentication, Biometric, | - | | ss_pkcs11_module_installation` | Mozilla, NSS, PKCS #11, | - | | | Projects, Security, Smart | - | | | Card, Smart-card, Smartcard, | - | | | pkcs11** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | `PKCS #11 `__ | - | | | modules are external modules | - | | | which add to Firefox support | - | | | for smartcard readers, | - | | | biometric security devices, | - | | | and external certificate | - | | | stores. This article covers | - | | | the two methods for installing | - | | | PKCS #11 modules into Firefox. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 227 | :ref:`mozilla_pro | **NSS** | - | | jects_nss_pkcs11_module_specs` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The following is a proposal to | - | | | the | - | | | `PKCS `__ | - | | | #11 working group made in | - | | | August 2001 for configuring | - | | | PKCS #11 modules. NSS | - | | | currently implements this | - | | | proposal internally. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 228 | :ref:`mozilla_projec | | - | | ts_nss_python_binding_for_nss` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | python-nss is a Python binding | - | | | for NSS (Network Security | - | | | Services) and NSPR (Netscape | - | | | Portable Runtime). NSS | - | | | provides cryptography services | - | | | supporting SSL, TLS, PKI, | - | | | PKIX, X509, PKCS*, etc. NSS is | - | | | an alternative to OpenSSL and | - | | | used extensively by major | - | | | software projects. NSS is | - | | | FIPS-140 certified. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 229 | :ref:`m | **NSS** | - | | ozilla_projects_nss_reference` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Based on | - | | | :ref:`mozilla_projec | - | | | ts_nss_ssl_functions_sslintro` | - | | | in the SSL Reference. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 230 | :ref: | **NSS** | - | | `mozilla_projects_nss_referenc | | - | | e_building_and_installing_nss` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This chapter describes how to | - | | | build and install NSS. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 231 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_building_and_inst | | - | | alling_nss_build_instructions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Numerous optional features of | - | | | NSS builds are controlled | - | | | through make variables. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 232 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_building_and_inst | | - | | alling_nss_installation_guide` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The build system of NSS | - | | | originated from Netscape's | - | | | build system, which predated | - | | | the "configure; make; make | - | | | test; make install" sequence | - | | | that we're familiar with now. | - | | | Our makefiles also have an | - | | | "install" target, but it has a | - | | | different meaning: our | - | | | "install" means installing the | - | | | headers, libraries, and | - | | | programs in the appropriate | - | | | directories under | - | | | mozilla/dist. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 233 | :ref:`mozilla_project | | - | | s_nss_reference_building_and_i | | - | | nstalling_nss_migration_to_hg` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSPR, NSS and related | - | | | projects have stopped using | - | | | Mozilla'a CVS server, but have | - | | | migrated to | - | | | Mozilla's HG (Mercurial) | - | | | server. | - | | | Each project now lives in its | - | | | own separate space, they can | - | | | be found at: | - | | | https:/ | - | | | /hg.mozilla.org/projects/nspr/ | - | | | https: | - | | | //hg.mozilla.org/projects/nss/ | - | | | https: | - | | | //hg.mozilla.org/projects/jss/ | - | | | | - | | | https://hg.mo | - | | | zilla.org/projects/python-nss/ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 234 | :r | **NSS** | - | | ef:`mozilla_projects_nss_refer | | - | | ence_building_and_installing_n | | - | | ss_sample_manual_installation` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The NSS build system does not | - | | | include a target to install | - | | | header files and shared | - | | | libraries in the system | - | | | directories, so this needs to | - | | | be done manually. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 235 | :ref:`mozilla_projects_ns | **NSS** | - | | s_reference_fc_cancelfunction` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_CancelFunction - cancel a | - | | | function running in parallel | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 236 | :ref:`mozilla_projects_nss_ | **NSS** | - | | reference_fc_closeallsessions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_CloseAllSessions - close | - | | | all sessions between an | - | | | application and a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 237 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_closesession` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_CloseSession - close a | - | | | session opened between an | - | | | application and a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 238 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_fc_copyobject` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_CopyObject - create a copy | - | | | of an object. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 239 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_createobject` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_CreateObject - create a new | - | | | object. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 240 | :ref:`mozilla_proj | **NSS** | - | | ects_nss_reference_fc_decrypt` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Decrypt - Decrypt a block | - | | | of data. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 241 | :ref:`mozilla_projects_nss_ref | **NSS** | - | | erence_fc_decryptdigestupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DecryptDigestUpdate - | - | | | continue a multi-part decrypt | - | | | and digest operation | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 242 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_decryptfinal` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DecryptFinal - finish a | - | | | multi-part decryption | - | | | operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 243 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_decryptinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DecryptInit - initialize a | - | | | decryption operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 244 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_fc_decryptupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DecryptUpdate - decrypt a | - | | | block of a multi-part | - | | | encryption operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 245 | :ref:`mozilla_projects_nss_ref | **NSS** | - | | erence_fc_decryptverifyupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DecryptVerifyUpdate - | - | | | continue a multi-part decrypt | - | | | and verify operation | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 246 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_reference_fc_derivekey` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DeriveKey - derive a key | - | | | from a base key | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 247 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_fc_destroyobject` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DestroyObject - destroy an | - | | | object. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 248 | :ref:`mozilla_pro | **NSS** | - | | jects_nss_reference_fc_digest` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Digest - digest a block of | - | | | data. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 249 | :ref:`mozilla_projects_nss_ref | **NSS** | - | | erence_fc_digestencryptupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DigestEncryptUpdate - | - | | | continue a multi-part digest | - | | | and encryption operation | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 250 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_digestfinal` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DigestFinal - finish a | - | | | multi-part digest operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 251 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_fc_digestinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DigestInit - initialize a | - | | | message-digest operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 252 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_reference_fc_digestkey` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DigestKey - add the digest | - | | | of a key to a multi-part | - | | | digest operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 253 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_digestupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_DigestUpdate - process the | - | | | next block of a multi-part | - | | | digest operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 254 | :ref:`mozilla_proj | **NSS** | - | | ects_nss_reference_fc_encrypt` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Encrypt - Encrypt a block | - | | | of data. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 255 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_encryptfinal` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_EncryptFinal - finish a | - | | | multi-part encryption | - | | | operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 256 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_encryptinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_EncryptInit - initialize an | - | | | encryption operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 257 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_fc_encryptupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_EncryptUpdate - encrypt a | - | | | block of a multi-part | - | | | encryption operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 258 | :ref:`mozilla_proje | **NSS** | - | | cts_nss_reference_fc_finalize` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Finalize - indicate that an | - | | | application is done with the | - | | | PKCS #11 library. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 259 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_findobjects` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_FindObjects - Search for | - | | | one or more objects | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 260 | :ref:`mozilla_projects_nss_ | **NSS** | - | | reference_fc_findobjectsfinal` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_FindObjectsFinal - | - | | | terminate an object search. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 261 | :ref:`mozilla_projects_nss | **NSS** | - | | _reference_fc_findobjectsinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_FindObjectsInit - | - | | | initialize the parameters for | - | | | an object search. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 262 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_generatekey` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GenerateKey - generate a | - | | | new key | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 263 | :ref:`mozilla_projects_nss | **NSS** | - | | _reference_fc_generatekeypair` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GenerateKeyPair - generate | - | | | a new public/private key pair | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 264 | :ref:`mozilla_projects_ns | **NSS** | - | | s_reference_fc_generaterandom` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GenerateRandom - generate a | - | | | random number. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 265 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_getattributevalue` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetAttributeValue - get the | - | | | value of attributes of an | - | | | object. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 266 | :ref:`mozilla_projects_nss | **NSS** | - | | _reference_fc_getfunctionlist` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetFunctionList - get a | - | | | pointer to the list of | - | | | function pointers in the FIPS | - | | | mode of operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 267 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_getfunctionstatus` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetFunctionStatus - get the | - | | | status of a function running | - | | | in parallel | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 268 | :ref:`mozilla_proj | **NSS** | - | | ects_nss_reference_fc_getinfo` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetInfo - return general | - | | | information about the PKCS #11 | - | | | library. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 269 | :ref:`mozilla_projects_nss_ | **NSS** | - | | reference_fc_getmechanisminfo` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetMechanismInfo - get | - | | | information on a particular | - | | | mechanism. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 270 | :ref:`mozilla_projects_nss_ | **NSS** | - | | reference_fc_getmechanismlist` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetMechanismList - get a | - | | | list of mechanism types | - | | | supported by a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 271 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_fc_getobjectsize` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetObjectSize - create a | - | | | copy of an object. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 272 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_getoperationstate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetOperationState - get the | - | | | cryptographic operation state | - | | | of a session. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 273 | :ref:`mozilla_projects_ns | **NSS** | - | | s_reference_fc_getsessioninfo` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetSessionInfo - obtain | - | | | information about a session. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 274 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_getslotinfo` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetSlotInfo - get | - | | | information about a particular | - | | | slot in the system. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 275 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_getslotlist` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetSlotList - Obtain a list | - | | | of slots in the system. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 276 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_gettokeninfo` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_GetTokenInfo - obtain | - | | | information about a particular | - | | | token in the system. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 277 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_fc_initialize` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Initialize - initialize the | - | | | PKCS #11 library. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 278 | :ref:`mozilla_proj | **NSS** | - | | ects_nss_reference_fc_initpin` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | ``FC_InitPIN()`` - Initialize | - | | | the user's PIN. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 279 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_reference_fc_inittoken` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | ``FC_InitToken()`` - | - | | | initialize or re-initialize a | - | | | token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 280 | :ref:`mozilla_pr | **NSS** | - | | ojects_nss_reference_fc_login` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | ``FC_Login()`` - log a user | - | | | into a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 281 | :ref:`mozilla_pro | **NSS** | - | | jects_nss_reference_fc_logout` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Logout - log a user out | - | | | from a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 282 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_opensession` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_OpenSession - open a | - | | | session between an application | - | | | and a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 283 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_fc_seedrandom` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | ``FC_SeedRandom()`` - mix | - | | | additional seed material into | - | | | the random number generator. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 284 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_setattributevalue` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SetAttributeValue - set the | - | | | values of attributes of an | - | | | object. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 285 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_setoperationstate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SetOperationState - restore | - | | | the cryptographic operation | - | | | state of a session. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 286 | :ref:`mozilla_pro | **NSS** | - | | jects_nss_reference_fc_setpin` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SetPIN - Modify the user's | - | | | PIN. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 287 | :ref:`mozilla_p | **NSS** | - | | rojects_nss_reference_fc_sign` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Sign - sign a block of | - | | | data. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 288 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_signencryptupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SignEncryptUpdate - | - | | | continue a multi-part signing | - | | | and encryption operation | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 289 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_reference_fc_signfinal` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SignFinal - finish a | - | | | multi-part signing operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 290 | :ref:`mozilla_proje | **NSS** | - | | cts_nss_reference_fc_signinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SignInit - initialize a | - | | | signing operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 291 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_signrecover` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SignRecover - Sign data in | - | | | a single recoverable | - | | | operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 292 | :ref:`mozilla_projects_nss | **NSS** | - | | _reference_fc_signrecoverinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SignRecoverInit - | - | | | initialize a sign recover | - | | | operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 293 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_fc_signupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_SignUpdate - process the | - | | | next block of a multi-part | - | | | signing operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 294 | :ref:`mozilla_projec | **NSS** | - | | ts_nss_reference_fc_unwrapkey` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_UnwrapKey - unwrap a key | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 295 | :ref:`mozilla_pro | **NSS** | - | | jects_nss_reference_fc_verify` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_Verify - sign a block of | - | | | data. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 296 | :ref:`mozilla_projects | **NSS** | - | | _nss_reference_fc_verifyfinal` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_VerifyFinal - finish a | - | | | multi-part verify operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 297 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_fc_verifyinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_VerifyInit - initialize a | - | | | verification operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 298 | :ref:`mozilla_projects_n | **NSS** | - | | ss_reference_fc_verifyrecover` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_VerifyRecover - Verify data | - | | | in a single recoverable | - | | | operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 299 | :ref:`mozilla_projects_nss_r | **NSS** | - | | eference_fc_verifyrecoverinit` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_VerifyRecoverInit - | - | | | initialize a verification | - | | | operation where data is | - | | | recoverable. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 300 | :ref:`mozilla_projects_ | **NSS** | - | | nss_reference_fc_verifyupdate` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_VerifyUpdate - process the | - | | | next block of a multi-part | - | | | verify operation. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 301 | :ref:`mozilla_projects_nss_ | **NSS** | - | | reference_fc_waitforslotevent` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_WaitForSlotEvent - waits | - | | | for a slot event, such as | - | | | token insertion or token | - | | | removal, to occur. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 302 | :ref:`mozilla_proj | **NSS** | - | | ects_nss_reference_fc_wrapkey` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | FC_WrapKey - wrap a key | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 303 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_nsc_inittoken` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | ``NSC_InitToken()`` - | - | | | initialize or re-initialize a | - | | | token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 304 | :ref:`mozilla_pro | **NSS** | - | | jects_nss_reference_nsc_login` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | ``NSC_Login()`` - log a user | - | | | into a token. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 305 | :ref:`mozilla_projects | | - | | _nss_reference_nspr_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | `NSPR `__ | - | | | is a platform abstraction | - | | | library that provides a | - | | | cross-platform API to common | - | | | OS services. NSS uses NSPR | - | | | internally as the porting | - | | | layer. However, a small | - | | | number of NSPR functions are | - | | | required for using the | - | | | certificate verification and | - | | | SSL functions in NSS. These | - | | | NSPR functions are listed in | - | | | this section. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 306 | :re | **NSS** | - | | f:`mozilla_projects_nss_refere | | - | | nce_nss_certificate_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This chapter describes the | - | | | functions and related types | - | | | used to work with a | - | | | certificate database such as | - | | | the cert8.db database provided | - | | | with NSS. This was converted | - | | | from `"Chapter 5: Certificate | - | | | Functions" `__. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 307 | :r | **NSS** | - | | ef:`mozilla_projects_nss_refer | | - | | ence_nss_cryptographic_module` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This chapter describes the | - | | | data types and functions that | - | | | one can use to perform | - | | | cryptographic operations with | - | | | the NSS cryptographic module. | - | | | The NSS cryptographic module | - | | | uses the industry standard | - | | | `PKCS | - | | | #11 `__ | - | | | v2.20 as its API with some | - | | | extensions. Therefore, an | - | | | application that supports PKCS | - | | | #11 cryptographic tokens can | - | | | be easily modified to use the | - | | | NSS cryptographic module. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 308 | :ref:`mozilla_projects_ns | **NSS** | - | | s_reference_nss_cryptographic_ | | - | | module_fips_mode_of_operation` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | These functions manage | - | | | certificates and keys. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 309 | :re | **NSS** | - | | f:`mozilla_projects_nss_refere | | - | | nce_nss_environment_variables` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | These environment variables | - | | | affect the RUN TIME behavior | - | | | of NSS shared libraries. There | - | | | is a separate set of | - | | | environment variables that | - | | | affect how NSS is built, | - | | | documented below. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 310 | :ref:`mozilla_project | **NSS** | - | | s_nss_reference_nss_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This page lists all exported | - | | | functions in NSS 3.11.7 It was | - | | | ported from | - | | | `here `__. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 311 | :ref:`mozilla_projects | | - | | _nss_reference_nss_initialize` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | NSS_Initialize - initialize | - | | | NSS. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 312 | :ref:`mozilla_projects_ns | **NSS** | - | | s_reference_nss_key_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This chapter describes two | - | | | functions used to manipulate | - | | | private keys and key databases | - | | | such as the key3.db database | - | | | provided with NSS. This was | - | | | converted from `"Chapter 6: | - | | | Key | - | | | Functions" `__. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 313 | :ref:`mozilla_projects_nss_r | | - | | eference_nss_tools_:_certutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | certutil — Manage keys and | - | | | certificate in both NSS | - | | | databases and other NSS tokens | - | | | Synopsis | - | | | certutil [options] | - | | | [[arguments]] | - | | | Description | - | | | The Certificate Database | - | | | Tool, certutil, is a | - | | | command-line utility | - | | | that can create and modify | - | | | certificate and key databases. | - | | | It can specifically list, | - | | | generate, modify, or delete | - | | | certificates, create or | - | | | change the password, | - | | | generate new public and | - | | | private key pairs, | - | | | display the contents of the | - | | | key database, or delete key | - | | | pairs within the key | - | | | database. | - | | | Certificate issuance, part | - | | | of the key and certificate | - | | | management process, requires | - | | | that | - | | | keys and certificates be | - | | | created in the key database. | - | | | This document discusses | - | | | certificate | - | | | and key database | - | | | management. For information on | - | | | the security module database | - | | | management, | - | | | see the modutil manpage. | - | | | Options and Arguments | - | | | Running certutil always | - | | | requires one and only one | - | | | command option to | - | | | specify the type of | - | | | certificate operation. Each | - | | | option may take arguments, | - | | | anywhere from none to | - | | | multiple arguments. The | - | | | command option -H will list | - | | | all the command options | - | | | available and their relevant | - | | | arguments. | - | | | Command Options | - | | | -A | - | | | Add an existing | - | | | certificate to a certificate | - | | | database. | - | | | The certificate | - | | | database should already exist; | - | | | if one is | - | | | not present, this | - | | | command option will initialize | - | | | one by default. | - | | | -B | - | | | Run a series of | - | | | commands from the specified | - | | | batch file. | - | | | This requires the -i | - | | | argument. | - | | | -C | - | | | Create a new binary | - | | | certificate file from a binary | - | | | certificate request | - | | | file. Use the -i argument to | - | | | specify | - | | | the certificate | - | | | request file. If this argument | - | | | is not | - | | | used, certutil | - | | | prompts for a filename. | - | | | -D | - | | | Delete a certificate | - | | | from the certificate database. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 314 | :ref:`mozilla_projects_nss_ | | - | | reference_nss_tools_:_cmsutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 315 | :ref:`mozilla_projects_nss_ | **Reference** | - | | reference_nss_tools_:_crlutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 316 | :ref:`mozilla_projects_nss_ | **Mozilla, NSS, Reference, | - | | reference_nss_tools_:_modutil` | Security, Tools, Utilities, | - | | | modutil** | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 317 | :ref:`mozilla_projects_nss_r | | - | | eference_nss_tools_:_pk12util` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | NSS tools : pk12util | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 318 | :ref:`mozilla_projects_nss | | - | | _reference_nss_tools_:_ssltab` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 319 | :ref:`mozilla_projects_nss | | - | | _reference_nss_tools_:_ssltap` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 320 | :ref:`mozilla_projects_nss_r | | - | | eference_nss_tools_:_vfychain` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 321 | :ref:`mozilla_projects_nss_ | | - | | reference_nss_tools_:_vfyserv` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 322 | :ref:`mozilla_pro | | - | | jects_nss_reference_nss_tools` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | certutil | - | | | :ref:`mozilla_projects_nss_r | - | | | eference_nss_tools_:_certutil` | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 323 | :ref:`mozilla_projec | | - | | ts_nss_reference_troubleshoot` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 324 | :ref:`mozil | | - | | la_projects_nss_release_notes` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This page lists release notes | - | | | for older versions of NSS. | - | | | See :ref:`mozi | - | | | lla_projects_nss_nss_releases` | - | | | :ref:`mozi | - | | | lla_projects_nss_nss_releases` | - | | | for recent release notes. The | - | | | links below are provided for | - | | | historical information. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 325 | :ref:`mozilla_ | **NSS** | - | | projects_nss_s_mime_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here perform S/MIME operations | - | | | using the `S/MIME | - | | | Toolkit `__. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 326 | :ref:`mozil | **NSS** | - | | la_projects_nss_ssl_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here are used to configure | - | | | sockets for communication via | - | | | the SSL and TLS protocols. In | - | | | addition to the functions | - | | | listed here, applications that | - | | | support SSL use some of the | - | | | Certificate functions, Crypto | - | | | functions, and Utility | - | | | functions described below on | - | | | this page. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 327 | :ref:`mozilla_pro | | - | | jects_nss_ssl_functions_gtstd` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | This chapter describes how to | - | | | set up your environment, | - | | | including certificate and key | - | | | databases. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 328 | :ref:`mozilla_projects_nss_ss | **NSS** | - | | l_functions_old_ssl_reference` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *New | - | | | sgroup:*\ `mozilla.dev.tech.cr | - | | | ypto `__\ * | - | | | Writer: Sean Cotter | - | | | Manager: Wan-Teh Chang* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 329 | :ref:`mozilla_pro | | - | | jects_nss_ssl_functions_pkfnc` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 330 | :ref:`mozilla_proj | | - | | ects_nss_ssl_functions_sslcrt` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 331 | :ref:`mozilla_proj | | - | | ects_nss_ssl_functions_sslerr` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 332 | :ref:`mozilla_proj | | - | | ects_nss_ssl_functions_sslfnc` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 333 | :ref:`mozilla_projec | | - | | ts_nss_ssl_functions_sslintro` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | SSL and related APIs allow | - | | | compliant applications to | - | | | configure sockets for | - | | | authenticated, tamper-proof, | - | | | and encrypted communications. | - | | | This chapter introduces some | - | | | of the basic SSL functions. | - | | | `Chapter 2, "Getting Started | - | | | With | - | | | SSL" `__ | - | | | illustrates their use in | - | | | sample client and server | - | | | applications. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 334 | :ref:`mozilla_proj | | - | | ects_nss_ssl_functions_sslkey` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 335 | :ref:`mozilla_proj | | - | | ects_nss_ssl_functions_ssltyp` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 336 | :ref:`mozilla_projects_n | **NSS** | - | | ss_tls_cipher_suite_discovery` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | In order to communicate | - | | | securely, an TLS client and | - | | | TLS server must agree on the | - | | | cryptographic algorithms and | - | | | keys that they will both use | - | | | on the secured connection. | - | | | They must agree on these | - | | | items: | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 337 | :re | **NSS** | - | | f:`mozilla_projects_nss_tools` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 338 | :ref:`mozill | | - | | a_projects_nss_tools_certutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | certutil — Manage keys and | - | | | certificate in the NSS | - | | | database. | - | | | Synopsis | - | | | certutil [options] | - | | | `arguments `__ | - | | | Description | - | | | The Certificate Database | - | | | Tool, certutil, is a | - | | | command-line utility that | - | | | can create and modify | - | | | certificate and key database | - | | | files. It can also | - | | | list, generate, modify, or | - | | | delete certificates within the | - | | | database, create | - | | | or change the password, | - | | | generate new public and | - | | | private key pairs, display | - | | | the contents of the key | - | | | database, or delete key pairs | - | | | within the key | - | | | database. | - | | | The key and certificate | - | | | management process generally | - | | | begins with creating | - | | | keys in the key database, | - | | | then generating and managing | - | | | certificates in the | - | | | certificate database. This | - | | | document discusses certificate | - | | | and key database | - | | | management. For information | - | | | security module database | - | | | management, see the | - | | | modutil manpages. | - | | | Options and Arguments | - | | | Running certutil always | - | | | requires one (and only one) | - | | | option to specify the | - | | | type of certificate | - | | | operation. Each option may | - | | | take arguments, anywhere | - | | | from none to multiple | - | | | arguments. Run the command | - | | | option and -H to see the | - | | | arguments available for | - | | | each command option. | - | | | Options | - | | | Options specify an action | - | | | and are uppercase. | - | | | -A | - | | | Add an existing | - | | | certificate to a certificate | - | | | database. The | - | | | certificate | - | | | database should already exist; | - | | | if one is not present, | - | | | this option will | - | | | initialize one by default. | - | | | -B | - | | | Run a series of | - | | | commands from the specified | - | | | batch file. This | - | | | requires the -i | - | | | argument. | - | | | -C | - | | | Create a new binary | - | | | certificate file from a binary | - | | | certificate | - | | | request file. Use | - | | | the -i argument to specify the | - | | | certificate | - | | | request file. If | - | | | this argument is not used, | - | | | certutil prompts for a | - | | | filename. | - | | | -D | - | | | Delete a | - | | | certificate from the | - | | | certificate database. | - | | | -E | - | | | Add an email | - | | | certificate to the certificate | - | | | database. | - | | | -F | - | | | Delete a private | - | | | key from a key database. | - | | | Specify the key to | - | | | delete with the -n | - | | | argument. Specify the database | - | | | from which to | - | | | delete the key with | - | | | the -d argument. Use the -k | - | | | argument to | - | | | specify explicitly | - | | | whether to delete a DSA, RSA, | - | | | or ECC key. If | - | | | you don't use the | - | | | -k argument, the option looks | - | | | for an RSA key | - | | | matching the | - | | | specified nickname. | - | | | When you delete | - | | | keys, be sure to also remove | - | | | any certificates | - | | | associated with | - | | | those keys from the | - | | | certificate database, by using | - | | | -D. Some smart | - | | | cards (for example, the | - | | | Litronic card) do not let | - | | | you remove a public | - | | | key you have generated. In | - | | | such a case, only | - | | | the private key is | - | | | deleted from the key pair. You | - | | | can display the | - | | | public key with the | - | | | command certutil -K -h | - | | | tokenname. | - | | | -G | - | | | Generate a new | - | | | public and private key pair | - | | | within a key database. | - | | | The key database | - | | | should already exist; if one | - | | | is not present, this | - | | | option will | - | | | initialize one by default. | - | | | Some smart cards (for | - | | | example, the | - | | | Litronic card) can store only | - | | | one key pair. If you | - | | | create a new key | - | | | pair for such a card, the | - | | | previous pair is | - | | | overwritten. | - | | | -H | - | | | Display a list of | - | | | the options and arguments used | - | | | by the | - | | | Certificate | - | | | Database Tool. | - | | | -K | - | | | List the key ID of | - | | | keys in the key database. A | - | | | key ID is the | - | | | modulus of the RSA | - | | | key or the publicValue of the | - | | | DSA key. IDs are | - | | | displayed in | - | | | hexadecimal ("0x" is not | - | | | shown). | - | | | -L | - | | | List all the | - | | | certificates, or display | - | | | information about a named | - | | | certificate, in a | - | | | certificate database. Use the | - | | | -h tokenname | - | | | argument to specify | - | | | the certificate database on a | - | | | particular | - | | | hardware or | - | | | software token. | - | | | -M | - | | | Modify a | - | | | certificate's trust attributes | - | | | using the values of the -t | - | | | argument. | - | | | -N | - | | | Create new | - | | | certificate and key databases. | - | | | -O | - | | | Print the | - | | | certificate chain. | - | | | -R | - | | | Create a | - | | | certificate request file that | - | | | can be submitted to a | - | | | Certificate | - | | | Authority (CA) for processing | - | | | into a finished | - | | | certificate. Output | - | | | defaults to standard out | - | | | unless you use -o | - | | | output-file | - | | | argument. Use the -a argument | - | | | to specify ASCII output. | - | | | -S | - | | | Create an | - | | | individual certificate and add | - | | | it to a certificate | - | | | database. | - | | | -T | - | | | Reset the key | - | | | database or token. | - | | | -U | - | | | List all available | - | | | modules or print a single | - | | | named module. | - | | | -V | - | | | Check the validity | - | | | of a certificate and its | - | | | attributes. | - | | | -W | - | | | Change the password | - | | | to a key database. | - | | | --merge | - | | | Merge a source | - | | | database into the target | - | | | database. This is used to | - | | | merge legacy NSS | - | | | databases (cert8.db and | - | | | key3.db) into the newer | - | | | SQLite databases | - | | | (cert9.db and key4.db). | - | | | --upgrade-merge | - | | | Upgrade an old | - | | | database and merge it into a | - | | | new database. This is | - | | | used to migrate | - | | | legacy NSS databases (cert8.db | - | | | and key3.db) into | - | | | the newer SQLite | - | | | databases (cert9.db and | - | | | key4.db). | - | | | Arguments | - | | | Option arguments modify an | - | | | action and are lowercase. | - | | | -a | - | | | Use ASCII format or | - | | | allow the use of ASCII format | - | | | for input or | - | | | output. This | - | | | formatting follows RFC 1113. | - | | | For certificate | - | | | requests, ASCII | - | | | output defaults to standard | - | | | output unless | - | | | redirected. | - | | | -b validity-time | - | | | Specify a time at | - | | | which a certificate is | - | | | required to be valid. Use | - | | | when checking | - | | | certificate validity with the | - | | | -V option. The format | - | | | of the | - | | | validity-time argument is | - | | | YYMMDDHHMMSS[+HHMM|-HHMM|Z], | - | | | which allows | - | | | offsets to be set relative to | - | | | the validity end time. | - | | | Specifying seconds | - | | | (SS) is optional. When | - | | | specifying an explicit | - | | | time, use a Z at | - | | | the end of the term, | - | | | YYMMDDHHMMSSZ, to close it. | - | | | When specifying an | - | | | offset time, use | - | | | YYMMDDHHMMSS+HHMM or | - | | | YYMMDDHHMMSS-HHMM | - | | | for adding or subtracting | - | | | time, respectively. | - | | | If this option is | - | | | not used, the validity check | - | | | defaults to the | - | | | current system | - | | | time. | - | | | -c issuer | - | | | Identify the | - | | | certificate of the CA from | - | | | which a new certificate | - | | | will derive its | - | | | authenticity. Use the exact | - | | | nickname or alias of | - | | | the CA certificate, | - | | | or use the CA's email address. | - | | | Bracket the | - | | | issuer string with | - | | | quotation marks if it contains | - | | | spaces. | - | | | -d [sql:]directory | - | | | Specify the | - | | | database directory containing | - | | | the certificate and key | - | | | database files. | - | | | certutil supports | - | | | two types of databases: the | - | | | legacy security | - | | | databases | - | | | (cert8.db, key3.db, and | - | | | secmod.db) and new SQLite | - | | | databases | - | | | (cert9.db, key4.db, and | - | | | pkcs11.txt). If the prefix | - | | | sql: | - | | | is not used, then | - | | | the tool assumes that the | - | | | given databases are in | - | | | the old format. | - | | | -e | - | | | Check a | - | | | certificate's signature during | - | | | the process of validating a | - | | | certificate. | - | | | -f password-file | - | | | Specify a file that | - | | | will automatically supply the | - | | | password to | - | | | include in a | - | | | certificate or to access a | - | | | certificate database. This | - | | | is a plain-text | - | | | file containing one password. | - | | | Be sure to prevent | - | | | unauthorized access | - | | | to this file. | - | | | -g keysize | - | | | Set a key size to | - | | | use when generating new public | - | | | and private key | - | | | pairs. The minimum | - | | | is 512 bits and the maximum is | - | | | 8192 bits. The | - | | | default is 1024 | - | | | bits. Any size between the | - | | | minimum and maximum is | - | | | allowed. | - | | | -h tokenname | - | | | Specify the name of | - | | | a token to use or act on. | - | | | Unless specified | - | | | otherwise the | - | | | default token is an internal | - | | | slot (specifically, | - | | | internal slot 2). | - | | | This slot can also be | - | | | explicitly named with the | - | | | string "internal". | - | | | An internal slots is a virtual | - | | | slot maintained | - | | | in software, rather | - | | | than a hardware device. | - | | | Internal slot 2 is | - | | | used by key and | - | | | certificate services. Internal | - | | | slot 1 is used by | - | | | cryptographic | - | | | services. | - | | | -i input_file | - | | | Pass an input file | - | | | to the command. Depending on | - | | | the command | - | | | option, an input | - | | | file can be a specific | - | | | certificate, a certificate | - | | | request file, or a | - | | | batch file of commands. | - | | | -k rsa|dsa|ec|all | - | | | Specify the type of | - | | | a key. The valid options are | - | | | RSA, DSA, ECC, or | - | | | all. The default | - | | | value is rsa. Specifying the | - | | | type of key can | - | | | avoid mistakes | - | | | caused by duplicate nicknames. | - | | | -k key-type-or-id | - | | | Specify the type or | - | | | specific ID of a key. Giving a | - | | | key type | - | | | generates a new key | - | | | pair; giving the ID of an | - | | | existing key reuses | - | | | that key pair | - | | | (which is required to renew | - | | | certificates). | - | | | -l | - | | | Display detailed | - | | | information when validating a | - | | | certificate with | - | | | the -V option. | - | | | -m serial-number | - | | | Assign a unique | - | | | serial number to a certificate | - | | | being created. This | - | | | operation should be | - | | | performed by a CA. The default | - | | | serial number | - | | | is 0 (zero). Serial | - | | | numbers are limited to | - | | | integers. | - | | | -n nickname | - | | | Specify the | - | | | nickname of a certificate or | - | | | key to list, create, add | - | | | to a database, | - | | | modify, or validate. Bracket | - | | | the nickname string | - | | | with quotation | - | | | marks if it contains spaces. | - | | | -o output-file | - | | | Specify the output | - | | | file name for new certificates | - | | | or binary | - | | | certificate | - | | | requests. Bracket the | - | | | output-file string with | - | | | quotation marks if | - | | | it contains spaces. If this | - | | | argument is not | - | | | used the output | - | | | destination defaults to | - | | | standard output. | - | | | -P dbPrefix | - | | | Specify the prefix | - | | | used on the certificate and | - | | | key database file. | - | | | This option is | - | | | provided as a special case. | - | | | Changing the names of | - | | | the certificate and | - | | | key databases is not | - | | | recommended. | - | | | -p phone | - | | | Specify a contact | - | | | telephone number to include in | - | | | new certificates | - | | | or certificate | - | | | requests. Bracket this string | - | | | with quotation marks | - | | | if it contains | - | | | spaces. | - | | | -q pqgfile | - | | | Read an alternate | - | | | PQG value from the specified | - | | | file when | - | | | generating DSA key | - | | | pairs. If this argument is not | - | | | used, certutil | - | | | generates its own | - | | | PQG value. PQG files are | - | | | created with a separate | - | | | DSA utility. | - | | | -q curve-name | - | | | Set the elliptic | - | | | curve name to use when | - | | | generating ECC key pairs. | - | | | A complete list of | - | | | ECC curves is given in the | - | | | help (-H). | - | | | -r | - | | | Display a | - | | | certificate's binary DER | - | | | encoding when listing | - | | | information about | - | | | that certificate with the -L | - | | | option. | - | | | -s subject | - | | | Identify a | - | | | particular certificate owner | - | | | for new certificates or | - | | | certificate | - | | | requests. Bracket this string | - | | | with quotation marks if | - | | | it contains spaces. | - | | | The subject identification | - | | | format follows RFC | - | | | #1485. | - | | | -t trustargs | - | | | Specify the trust | - | | | attributes to modify in an | - | | | existing certificate | - | | | or to apply to a | - | | | certificate when creating it | - | | | or adding it to a | - | | | database. There are | - | | | three available trust | - | | | categories for each | - | | | certificate, | - | | | expressed in the order SSL, | - | | | email, object signing for | - | | | each trust setting. | - | | | In each category position, use | - | | | none, any, or | - | | | all of the | - | | | attribute codes: | - | | | o p - Valid peer | - | | | o P - Trusted | - | | | peer (implies p) | - | | | o c - Valid CA | - | | | o T - Trusted CA | - | | | to issue client certificates | - | | | (implies c) | - | | | o C - Trusted CA | - | | | to issue server certificates | - | | | (SSL only) | - | | | (implies c) | - | | | o u - | - | | | Certificate can be used for | - | | | authentication or signing | - | | | o w - Send | - | | | warning (use with other | - | | | attributes to include a | - | | | warning when | - | | | the certificate is used in | - | | | that context) | - | | | The attribute codes | - | | | for the categories are | - | | | separated by commas, | - | | | and the entire set | - | | | of attributes enclosed by | - | | | quotation marks. For | - | | | example: | - | | | -t "TCu,Cu,Tuw" | - | | | Use the -L option | - | | | to see a list of the current | - | | | certificates and | - | | | trust attributes in | - | | | a certificate database. | - | | | -u certusage | - | | | Specify a usage | - | | | context to apply when | - | | | validating a certificate | - | | | with the -V option. | - | | | The contexts are | - | | | the following: | - | | | o C (as an SSL | - | | | client) | - | | | o V (as an SSL | - | | | server) | - | | | o S (as an email | - | | | signer) | - | | | o R (as an email | - | | | recipient) | - | | | o O (as an OCSP | - | | | status responder) | - | | | o J (as an | - | | | object signer) | - | | | -v valid-months | - | | | Set the number of | - | | | months a new certificate will | - | | | be valid. The | - | | | validity period | - | | | begins at the current system | - | | | time unless an offset | - | | | is added or | - | | | subtracted with the -w option. | - | | | If this argument is not | - | | | used, the default | - | | | validity period is three | - | | | months. When this | - | | | argument is used, | - | | | the default three-month period | - | | | is automatically | - | | | added to any value | - | | | given in the valid-month | - | | | argument. For example, | - | | | using this option | - | | | to set a value of 3 would | - | | | cause 3 to be added to | - | | | the three-month | - | | | default, creating a validity | - | | | period of six months. | - | | | You can use | - | | | negative values to reduce the | - | | | default period. For | - | | | example, setting a | - | | | value of -2 would subtract 2 | - | | | from the default | - | | | and create a | - | | | validity period of one month. | - | | | -w offset-months | - | | | Set an offset from | - | | | the current system time, in | - | | | months, for the | - | | | beginning of a | - | | | certificate's validity period. | - | | | Use when creating | - | | | the certificate or | - | | | adding it to a database. | - | | | Express the offset in | - | | | integers, using a | - | | | minus sign (-) to indicate a | - | | | negative offset. If | - | | | this argument is | - | | | not used, the validity period | - | | | begins at the | - | | | current system | - | | | time. The length of the | - | | | validity period is set with | - | | | the -v argument. | - | | | -X | - | | | Force the key and | - | | | certificate database to open | - | | | in read-write mode. | - | | | This is used with | - | | | the -U and -L command options. | - | | | -x | - | | | Use certutil to | - | | | generate the signature for a | - | | | certificate being | - | | | created or added to | - | | | a database, rather than | - | | | obtaining a signature | - | | | from a separate CA. | - | | | -y exp | - | | | Set an alternate | - | | | exponent value to use in | - | | | generating a new RSA | - | | | public key for the | - | | | database, instead of the | - | | | default value of | - | | | 65537. The | - | | | available alternate values are | - | | | 3 and 17. | - | | | -z noise-file | - | | | Read a seed value | - | | | from the specified file to | - | | | generate a new | - | | | private and public | - | | | key pair. This argument makes | - | | | it possible to | - | | | use | - | | | hardware-generated seed values | - | | | or manually create a value | - | | | from | - | | | the keyboard. The | - | | | minimum file size is 20 bytes. | - | | | -0 SSO_password | - | | | Set a site security | - | | | officer password on a token. | - | | | -1 \| --keyUsage | - | | | keyword,keyword | - | | | Set a Netscape | - | | | Certificate Type Extension in | - | | | the certificate. | - | | | There are several | - | | | available keywords: | - | | | o digital | - | | | signature | - | | | o nonRepudiation | - | | | | - | | | o keyEncipherment | - | | | | - | | | o dataEncipherment | - | | | o keyAgreement | - | | | o certSigning | - | | | o crlSigning | - | | | o critical | - | | | -2 | - | | | Add a basic | - | | | constraint extension to a | - | | | certificate that is being | - | | | created or added to | - | | | a database. This extension | - | | | supports the | - | | | certificate chain | - | | | verification process. certutil | - | | | prompts for the | - | | | certificate | - | | | constraint extension to | - | | | select. | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | -3 | - | | | Add an authority | - | | | key ID extension to a | - | | | certificate that is being | - | | | created or added to | - | | | a database. This extension | - | | | supports the | - | | | identification of a | - | | | particular certificate, from | - | | | among multiple | - | | | certificates | - | | | associated with one subject | - | | | name, as the correct | - | | | issuer of a | - | | | certificate. The Certificate | - | | | Database Tool will prompt | - | | | you to select the | - | | | authority key ID extension. | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | -4 | - | | | Add a CRL | - | | | distribution point extension | - | | | to a certificate that is | - | | | being created or | - | | | added to a database. This | - | | | extension identifies | - | | | the URL of a | - | | | certificate's associated | - | | | certificate revocation list | - | | | (CRL). certutil | - | | | prompts for the URL. | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | -5 \| --nsCertType | - | | | keyword,keyword | - | | | Add a Netscape | - | | | certificate type extension to | - | | | a certificate that is | - | | | being created or | - | | | added to the database. There | - | | | are several | - | | | available keywords: | - | | | o sslClient | - | | | o sslServer | - | | | o smime | - | | | o objectSigning | - | | | o sslCA | - | | | o smimeCA | - | | | | - | | | o objectSigningCA | - | | | o critical | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | -6 \| --extKeyUsage | - | | | keyword,keyword | - | | | Add an extended key | - | | | usage extension to a | - | | | certificate that is being | - | | | created or added to | - | | | the database. Several keywords | - | | | are available: | - | | | o serverAuth | - | | | o clientAuth | - | | | o codeSigning | - | | | | - | | | o emailProtection | - | | | o timeStamp | - | | | o ocspResponder | - | | | o stepUp | - | | | o critical | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | -7 emailAddrs | - | | | Add a | - | | | comma-separated list of email | - | | | addresses to the subject | - | | | alternative name | - | | | extension of a certificate or | - | | | certificate request | - | | | that is being | - | | | created or added to the | - | | | database. Subject | - | | | alternative name | - | | | extensions are described in | - | | | Section 4.2.1.7 of | - | | | RFC 3280. | - | | | -8 dns-names | - | | | Add a | - | | | comma-separated list of DNS | - | | | names to the subject | - | | | alternative | - | | | name extension of a | - | | | certificate or certificate | - | | | request that is | - | | | being created or | - | | | added to the database. Subject | - | | | alternative name | - | | | extensions are | - | | | described in Section 4.2.1.7 | - | | | of RFC 3280. | - | | | --extAIA | - | | | Add the Authority | - | | | Information Access extension | - | | | to the certificate. | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --extSIA | - | | | Add the Subject | - | | | Information Access extension | - | | | to the certificate. | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --extCP | - | | | Add the Certificate | - | | | Policies extension to the | - | | | certificate. X.509 | - | | | certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --extPM | - | | | Add the Policy | - | | | Mappings extension to the | - | | | certificate. X.509 | - | | | certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --extPC | - | | | Add the Policy | - | | | Constraints extension to the | - | | | certificate. X.509 | - | | | certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --extIA | - | | | Add the Inhibit Any | - | | | Policy Access extension to the | - | | | certificate. | - | | | X.509 certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --extSKID | - | | | Add the Subject Key | - | | | ID extension to the | - | | | certificate. X.509 | - | | | certificate | - | | | extensions are described in | - | | | RFC 5280. | - | | | --source-dir certdir | - | | | Identify the | - | | | certificate database directory | - | | | to upgrade. | - | | | --source-prefix certdir | - | | | Give the prefix of | - | | | the certificate and key | - | | | databases to upgrade. | - | | | --upgrade-id uniqueID | - | | | Give the unique ID | - | | | of the database to upgrade. | - | | | --upgrade-token-name name | - | | | Set the name of the | - | | | token to use while it is being | - | | | upgraded. | - | | | -@ pwfile | - | | | Give the name of a | - | | | password file to use for the | - | | | database being | - | | | upgraded. | - | | | Usage and Examples | - | | | Most of the command options | - | | | in the examples listed here | - | | | have more | - | | | arguments available. The | - | | | arguments included in these | - | | | examples are the most | - | | | common ones or are used to | - | | | illustrate a specific | - | | | scenario. Use the -H | - | | | option to show the complete | - | | | list of arguments for each | - | | | command option. | - | | | Creating New Security | - | | | Databases | - | | | Certificates, keys, and | - | | | security modules related to | - | | | managing certificates | - | | | are stored in three related | - | | | databases: | - | | | o cert8.db or cert9.db | - | | | o key3.db or key4.db | - | | | o secmod.db or pkcs11.txt | - | | | These databases must be | - | | | created before certificates or | - | | | keys can be | - | | | generated. | - | | | certutil -N -d | - | | | [sql:]directory | - | | | Creating a Certificate | - | | | Request | - | | | A certificate request | - | | | contains most or all of the | - | | | information that is used | - | | | to generate the final | - | | | certificate. This request is | - | | | submitted separately to | - | | | a certificate authority and | - | | | is then approved by some | - | | | mechanism | - | | | (automatically or by human | - | | | review). Once the request is | - | | | approved, then the | - | | | certificate is generated. | - | | | $ certutil -R -k | - | | | key-type-or-id [-q | - | | | pqgfile|curve-name] -g | - | | | key-size -s subject [-h | - | | | tokenname] -d [sql:]directory | - | | | [-p phone] [-o output-file] | - | | | [-a] | - | | | The -R command options | - | | | requires four arguments: | - | | | o -k to specify either | - | | | the key type to generate or, | - | | | when renewing a | - | | | certificate, the | - | | | existing key pair to use | - | | | o -g to set the keysize | - | | | of the key to generate | - | | | o -s to set the subject | - | | | name of the certificate | - | | | o -d to give the security | - | | | database directory | - | | | The new certificate request | - | | | can be output in ASCII format | - | | | (-a) or can be | - | | | written to a specified file | - | | | (-o). | - | | | For example: | - | | | $ certutil -R -k ec -q | - | | | nistb409 -g 512 -s "CN=John | - | | | Smith,O=Example | - | | | Corp,L=Mountain | - | | | View,ST=California,C=US" -d | - | | | sql:/home/my/sharednssdb -p | - | | | 650-555-0123 -a -o cert.cer | - | | | Generating key. This may | - | | | take a few moments... | - | | | Certificate request generated | - | | | by Netscape | - | | | Phone: 650-555-0123 | - | | | Common Name: John Smith | - | | | Email: (not ed) | - | | | Organization: Example Corp | - | | | State: California | - | | | Country: US | - | | | -----BEGIN NEW CERTIFICATE | - | | | REQUEST----- | - | | | MIIB | - | | | IDCBywIBADBmMQswCQYDVQQGEwJVUz | - | | | ETMBEGA1UECBMKQ2FsaWZvcm5pYTEW | - | | | MBQG | - | | | A1UEBxMNTW91bnRhaW4gVmlldzEVMB | - | | | MGA1UEChMMRXhhbXBsZSBDb3JwMRMw | - | | | EQYD | - | | | VQQDEwpKb2huIFNtaXRoMFwwDQYJKo | - | | | ZIhvcNAQEBBQADSwAwSAJBAMVUpDOZ | - | | | KmHn | - | | | Ox7reP8Cc0Lk+fFWEuYIDX9W5K/Bio | - | | | QOKvEjXyQZhit9aThzBVMoSf1Y1S8J | - | | | CzdU | - | | | bCg1+IbnXaECAwEAAaAAMA0GCSqGSI | - | | | b3DQEBBQUAA0EAryqZvpYrUtQ486Ny | - | | | qmty | - | | | QNjIi1F8c1Z+TL4uFYlMg8z6LG/J/u | - | | | 1E5t1QqB5e9Q4+BhRbrQjRR1JZx3tB | - | | | 1hP9Gg== | - | | | -----END NEW CERTIFICATE | - | | | REQUEST----- | - | | | Creating a Certificate | - | | | A valid certificate must be | - | | | issued by a trusted CA. This | - | | | can be done by | - | | | specifying a CA certificate | - | | | (-c) that is stored in the | - | | | certificate | - | | | database. If a CA key pair | - | | | is not available, you can | - | | | create a self-signed | - | | | certificate using the -x | - | | | argument with the -S command | - | | | option. | - | | | $ certutil -S -k rsa|dsa|ec | - | | | -n certname -s subject [-c | - | | | issuer \|-x] -t trustargs -d | - | | | [sql:]directory [-m | - | | | serial-number] [-v | - | | | valid-months] [-w | - | | | offset-months] [-p phone] [-1] | - | | | [-2] [-3] [-4] [-5 keyword] | - | | | [-6 keyword] [-7 emailAddress] | - | | | [-8 dns-names] [--extAIA] | - | | | [--extSIA] [--extCP] [--extPM] | - | | | [--extPC] [--extIA] | - | | | [--extSKID] | - | | | The series of numbers and | - | | | --ext\* options set | - | | | certificate extensions that | - | | | can be added to the | - | | | certificate when it is | - | | | generated by the CA. | - | | | For example, this creates a | - | | | self-signed certificate: | - | | | $ certutil -S -s "CN=Example | - | | | CA" -n my-ca-cert -x -t | - | | | "C,C,C" -1 -2 -5 -m 3650 | - | | | From there, new | - | | | certificates can reference the | - | | | self-signed certificate: | - | | | $ certutil -S -s "CN=My | - | | | Server Cert" -n my-server-cert | - | | | -c "my-ca-cert" -t "u,u,u" -1 | - | | | -5 -6 -8 -m 730 | - | | | Generating a Certificate | - | | | from a Certificate Request | - | | | When a certificate request | - | | | is created, a certificate can | - | | | be generated by | - | | | using the request and then | - | | | referencing a certificate | - | | | authority signing | - | | | certificate (the issuer | - | | | specified in the -c argument). | - | | | The issuing | - | | | certificate must be in the | - | | | certificate database in the | - | | | specified | - | | | directory. | - | | | certutil -C -c issuer -i | - | | | cert-request-file -o | - | | | output-file [-m serial-number] | - | | | [-v valid-months] [-w | - | | | offset-months] -d | - | | | [sql:]directory [-1] [-2] [-3] | - | | | [-4] [-5 keyword] [-6 keyword] | - | | | [-7 emailAddress] [-8 | - | | | dns-names] | - | | | For example: | - | | | $ certutil -C -c "my-ca-cert" | - | | | -i /home/certs/cert.req -o | - | | | cert.cer -m 010 -v 12 -w 1 -d | - | | | sql:/home/my/sharednssdb -1 | - | | | n | - | | | onRepudiation,dataEncipherment | - | | | -5 sslClient -6 clientAuth -7 | - | | | jsmith@example.com | - | | | Generating Key Pairs | - | | | Key pairs are generated | - | | | automatically with a | - | | | certificate request or | - | | | certificate, but they can | - | | | also be generated | - | | | independently using the -G | - | | | command option. | - | | | certutil -G -d | - | | | [sql:]directory \| -h | - | | | tokenname -k key-type -g | - | | | key-size [-y exponent-value] | - | | | -q pqgfile|curve-name | - | | | For example: | - | | | $ certutil -G -h lunasa -k ec | - | | | -g 256 -q sect193r2 | - | | | Listing Certificates | - | | | The -L command option lists | - | | | all of the certificates listed | - | | | in the | - | | | certificate database. The | - | | | path to the directory (-d) is | - | | | required. | - | | | $ certutil -L -d | - | | | sql:/home/my/sharednssdb | - | | | Certificate | - | | | Nickname | - | | | | - | | | Trust Attributes | - | | | | - | | | | - | | | | - | | | SSL,S/MIME,JAR/XPI | - | | | CA Administrator of Instance | - | | | pki-ca1's Example Domain | - | | | ID u,u,u | - | | | TPS Administrator's Example | - | | | Domain | - | | | ID | - | | | u,u,u | - | | | Google Internet | - | | | Authority | - | | | | - | | | ,, | - | | | Certificate Authority - | - | | | Example | - | | | Domain | - | | | CT,C,C | - | | | Using additional arguments | - | | | with -L can return and print | - | | | the information | - | | | for a single, specific | - | | | certificate. For example, the | - | | | -n argument passes | - | | | the certificate name, while | - | | | the -a argument prints the | - | | | certificate in | - | | | ASCII format: | - | | | $ certutil -L -d | - | | | sql:/home/my/sharednssdb -a -n | - | | | "Certificate Authority - | - | | | Example Domain" | - | | | -----BEGIN CERTIFICATE----- | - | | | MIID | - | | | mTCCAoGgAwIBAgIBATANBgkqhkiG9w | - | | | 0BAQUFADA5MRcwFQYDVQQKEw5FeGFt | - | | | cGxl | - | | | IERvbWFpbjEeMBwGA1UEAxMVQ2VydG | - | | | lmaWNhdGUgQXV0aG9yaXR5MB4XDTEw | - | | | MDQy | - | | | OTIxNTY1OFoXDTEyMDQxODIxNTY1OF | - | | | owOTEXMBUGA1UEChMORXhhbXBsZSBE | - | | | b21h | - | | | aW4xHjAcBgNVBAMTFUNlcnRpZmljYX | - | | | RlIEF1dGhvcml0eTCCASIwDQYJKoZI | - | | | hvcN | - | | | AQEBBQADggEPADCCAQoCggEBAO/bqU | - | | | li2KwqXFKmMMG93KN1SANzNTXA/Vlf | - | | | Tmri | - | | | h3hQgjvR1ktIY9aG6cB7DSKWmtHp/+ | - | | | p4PUCMqL4ZrSGt901qxkePyZ2dYmM2 | - | | | Rnel | - | | | K+SEUIPiUtoZaDhNdiYsE/yuDE8vQW | - | | | j0vHCVL0w72qFUcSQ/WZT7FCrnUIUI | - | | | udeW | - | | | noPSUn70gLhcj/lvxl7K9BHyD4Sq5C | - | | | zktwYtFWLiiwV+ZY/Fl6JgbGaQyQB2 | - | | | bP4i | - | | | RMfloGqsxGuB1evWVDF1haGpFDSPgM | - | | | nEPSLg3/3dXn+HDJbZ29EU8/xKzQEb | - | | | 3V0A | - | | | HKbu80zGllLEt2Zx/WDIrgJEN9yMfg | - | | | KFpcmL+BvIRsmh0VsCAwEAAaOBqzCB | - | | | qDAf | - | | | BgNVHSMEGDAWgBQATgxHQyRUfKIZtd | - | | | p55bZlFr+tFzAPBgNVHRMBAf8EBTAD | - | | | AQH/ | - | | | MA4GA1UdDwEB/wQEAwIBxjAdBgNVHQ | - | | | 4EFgQUAE4MR0MkVHyiGbXaeeW2ZRa/ | - | | | rRcw | - | | | RQYIKwYBBQUHAQEEOTA3MDUGCCsGAQ | - | | | UFBzABhilodHRwOi8vbG9jYWxob3N0 | - | | | Lmxv | - | | | Y2FsZG9tYWluOjkxODAvY2Evb2NzcD | - | | | ANBgkqhkiG9w0BAQUFAAOCAQEAi8Gk | - | | | L3XO | - | | | 43u7/TDOeEsWPmq+jZsDZ3GZ85Ajt3 | - | | | KROLWeKVZZZa2E2Hnsvf2uXbk5amKe | - | | | lRxd | - | | | SeRH9g85pv4KY7Z8xZ71NrI3+K3uwm | - | | | nqkc6t0hhYb1mw/gx8OAAoluQx3biX | - | | | JBDx | - | | | jI73Cf7XUopplHBjjiwyGIJUO8BEZJ | - | | | 5L+TF4P38MJz1snLtzZpEAX5bl0U76 | - | | | bfu/ | - | | | tZFWBbE8YAWYtkCtMcalBPj6jn2WD3 | - | | | M01kGozW4mmbvsj1cRB9HnsGsqyHCu | - | | | U0uj | - | | | lL1H/RWcjn607+CTeKH9jLMUqCIqPJ | - | | | NOa+kq/6F7NhNRRiuzASIbZc30BZ5a | - | | | nI7q5n1USM3eWQlVXw== | - | | | -----END CERTIFICATE----- | - | | | Listing Keys | - | | | Keys are the original | - | | | material used to encrypt | - | | | certificate data. The keys | - | | | generated for certificates | - | | | are stored separately, in the | - | | | key database. | - | | | To list all keys in the | - | | | database, use the -K command | - | | | option and the | - | | | (required) -d argument to | - | | | give the path to the | - | | | directory. | - | | | $ certutil -K -d | - | | | sql:/home/my/sharednssdb | - | | | certutil: Checking token "NSS | - | | | Certificate DB" in slot "NSS | - | | | User Private Key and | - | | | Certificate | - | | | Services " | - | | | < 0> rsa | - | | | 455a6673bde9 | - | | | 375c2887ec8bf8016b3f9f35861d | - | | | Thawte Freemail Member's | - | | | Thawte Consulting (Pty) Ltd. | - | | | ID | - | | | < 1> rsa | - | | | 40defeeb522a | - | | | de11090eacebaaf1196a172127df | - | | | Example Domain Administrator | - | | | Cert | - | | | < 2> rsa | - | | | 1d0b06f44f6c | - | | | 03842f7d4f4a1dc78b3bcd1b85a5 | - | | | John Smith user cert | - | | | There are ways to narrow | - | | | the keys listed in the search | - | | | results: | - | | | o To return a specific | - | | | key, use the -n name argument | - | | | with the name of | - | | | the key. | - | | | o If there are multiple | - | | | security devices loaded, then | - | | | the -h tokenname | - | | | argument can search a | - | | | specific token or all tokens. | - | | | o If there are multiple | - | | | key types available, then the | - | | | -k key-type | - | | | argument can search a | - | | | specific type of key, like | - | | | RSA, DSA, or ECC. | - | | | Listing Security Modules | - | | | The devices that can be | - | | | used to store certificates -- | - | | | both internal | - | | | databases and external | - | | | devices like smart cards -- | - | | | are recognized and used | - | | | by loading security | - | | | modules. The -U command option | - | | | lists all of the | - | | | security modules listed in | - | | | the secmod.db database. The | - | | | path to the | - | | | directory (-d) is required. | - | | | $ certutil -U -d | - | | | sql:/home/my/sharednssdb | - | | | slot: NSS User Private | - | | | Key and Certificate Services | - | | | token: NSS Certificate DB | - | | | slot: NSS Internal | - | | | Cryptographic Services | - | | | token: NSS Generic Crypto | - | | | Services | - | | | Adding Certificates to the | - | | | Database | - | | | Existing certificates or | - | | | certificate requests can be | - | | | added manually to the | - | | | certificate database, even | - | | | if they were generated | - | | | elsewhere. This uses the | - | | | -A command option. | - | | | certutil -A -n certname -t | - | | | trustargs -d [sql:]directory | - | | | [-a] [-i input-file] | - | | | For example: | - | | | $ certutil -A -n "CN=My SSL | - | | | Certificate" -t "u,u,u" -d | - | | | sql:/home/my/sharednssdb -i | - | | | /home/example-certs/cert.cer | - | | | A related command option, | - | | | -E, is used specifically to | - | | | add email | - | | | certificates to the | - | | | certificate database. The -E | - | | | command has the same | - | | | arguments as the -A | - | | | command. The trust arguments | - | | | for certificates have the | - | | | format | - | | | SSL,S/MIME,Code-signing, so | - | | | the middle trust settings | - | | | relate most | - | | | to email certificates | - | | | (though the others can be | - | | | set). For example: | - | | | $ certutil -E -n "CN=John | - | | | Smith Email Cert" -t ",Pu," -d | - | | | sql:/home/my/sharednssdb -i | - | | | /home/example-certs/email.cer | - | | | Deleting Certificates to | - | | | the Database | - | | | Certificates can be deleted | - | | | from a database using the -D | - | | | option. The only | - | | | required options are to | - | | | give the security database | - | | | directory and to | - | | | identify the certificate | - | | | nickname. | - | | | certutil -D -d | - | | | [sql:]directory -n "nickname" | - | | | For example: | - | | | $ certutil -D -d | - | | | sql:/home/my/sharednssdb -n | - | | | "my-ssl-cert" | - | | | Validating Certificates | - | | | A certificate contains an | - | | | expiration date in itself, and | - | | | expired | - | | | certificates are easily | - | | | rejected. However, | - | | | certificates can also be | - | | | revoked before they hit | - | | | their expiration date. | - | | | Checking whether a | - | | | certificate has been | - | | | revoked requires validating | - | | | the certificate. | - | | | Validation can also be used | - | | | to ensure that the certificate | - | | | is only used | - | | | for the purposes it was | - | | | initially issued for. | - | | | Validation is carried out by | - | | | the -V command option. | - | | | certutil -V -n | - | | | certificate-name [-b time] | - | | | [-e] [-u cert-usage] -d | - | | | [sql:]directory | - | | | For example, to validate an | - | | | email certificate: | - | | | $ certutil -V -n "John | - | | | Smith's Email Cert" -e -u S,R | - | | | -d sql:/home/my/sharednssdb | - | | | Modifying Certificate Trust | - | | | Settings | - | | | The trust settings (which | - | | | relate to the operations that | - | | | a certificate is | - | | | allowed to be used for) can | - | | | be changed after a certificate | - | | | is created or | - | | | added to the database. This | - | | | is especially useful for CA | - | | | certificates, but | - | | | it can be performed for any | - | | | type of certificate. | - | | | certutil -M -n | - | | | certificate-name -t trust-args | - | | | -d [sql:]directory | - | | | For example: | - | | | $ certutil -M -n "My CA | - | | | Certificate" -d | - | | | sql:/home/my/sharednssdb -t | - | | | "CTu,CTu,CTu" | - | | | Printing the Certificate | - | | | Chain | - | | | Certificates can be issued | - | | | in chains because every | - | | | certificate authority | - | | | itself has a certificate; | - | | | when a CA issues a | - | | | certificate, it essentially | - | | | stamps that certificate | - | | | with its own fingerprint. The | - | | | -O prints the full | - | | | chain of a certificate, | - | | | going from the initial CA (the | - | | | root CA) through | - | | | ever intermediary CA to the | - | | | actual certificate. For | - | | | example, for an email | - | | | certificate with two CAs in | - | | | the chain: | - | | | $ certutil -d | - | | | sql:/home/my/sharednssdb -O -n | - | | | "jsmith@example.com" | - | | | "Builtin Object Token:Thawte | - | | | Personal Freemail CA" | - | | | [E=personal | - | | | -freemail@thawte.com,CN=Thawte | - | | | Personal Freemail | - | | | CA,OU=Certification Services | - | | | Division,O=Thawte | - | | | Consulting,L=Cape | - | | | Town,ST=Western Cape,C=ZA] | - | | | "Thawte Personal Freemail | - | | | Issuing CA - Thawte | - | | | Consulting" [CN=Thawte | - | | | Personal Freemail Issuing | - | | | CA,O=Thawte Consulting (Pty) | - | | | Ltd.,C=ZA] | - | | | "(null)" | - | | | [ | - | | | E=jsmith@example.com,CN=Thawte | - | | | Freemail Member] | - | | | Resetting a Token | - | | | The device which stores | - | | | certificates -- both external | - | | | hardware devices and | - | | | internal software databases | - | | | -- can be blanked and reused. | - | | | This operation | - | | | is performed on the device | - | | | which stores the data, not | - | | | directly on the | - | | | security databases, so the | - | | | location must be referenced | - | | | through the token | - | | | name (-h) as well as any | - | | | directory path. If there is no | - | | | external token | - | | | used, the default value is | - | | | internal. | - | | | certutil -T -d | - | | | [sql:]directory -h token-name | - | | | -0 security-officer-password | - | | | Many networks have | - | | | dedicated personnel who handle | - | | | changes to security | - | | | tokens (the security | - | | | officer). This person must | - | | | supply the password to | - | | | access the specified token. | - | | | For example: | - | | | $ certutil -T -d | - | | | sql:/home/my/sharednssdb -h | - | | | nethsm -0 secret | - | | | Upgrading or Merging the | - | | | Security Databases | - | | | Many networks or | - | | | applications may be using | - | | | older BerkeleyDB versions of | - | | | the certificate database | - | | | (cert8.db). Databases can be | - | | | upgraded to the new | - | | | SQLite version of the | - | | | database (cert9.db) using the | - | | | --upgrade-merge | - | | | command option or existing | - | | | databases can be merged with | - | | | the new cert9.db | - | | | databases using the | - | | | ---merge command. | - | | | The --upgrade-merge command | - | | | must give information about | - | | | the original | - | | | database and then use the | - | | | standard arguments (like -d) | - | | | to give the | - | | | information about the new | - | | | databases. The command also | - | | | requires information | - | | | that the tool uses for the | - | | | process to upgrade and write | - | | | over the original | - | | | database. | - | | | certutil --upgrade-merge -d | - | | | [sql:]directory [-P dbprefix] | - | | | --source-dir directory | - | | | --source-prefix dbprefix | - | | | --upgrade-id id | - | | | --upgrade-token-name name [-@ | - | | | password-file] | - | | | For example: | - | | | $ certutil --upgrade-merge -d | - | | | sql:/home/my/sharednssdb | - | | | --source-dir | - | | | /opt/my-app/alias/ | - | | | --source-prefix serverapp- | - | | | --upgrade-id 1 | - | | | --upgrade-token-name internal | - | | | The --merge command only | - | | | requires information about the | - | | | location of the | - | | | original database; since it | - | | | doesn't change the format of | - | | | the database, it | - | | | can write over information | - | | | without performing interim | - | | | step. | - | | | certutil --merge -d | - | | | [sql:]directory [-P dbprefix] | - | | | --source-dir directory | - | | | --source-prefix dbprefix [-@ | - | | | password-file] | - | | | For example: | - | | | $ certutil --merge -d | - | | | sql:/home/my/sharednssdb | - | | | --source-dir | - | | | /opt/my-app/alias/ | - | | | --source-prefix serverapp- | - | | | Running certutil Commands | - | | | from a Batch File | - | | | A series of commands can be | - | | | run sequentially from a text | - | | | file with the -B | - | | | command option. The only | - | | | argument for this specifies | - | | | the input file. | - | | | $ certutil -B -i | - | | | /path/to/batch-file | - | | | NSS Database Types | - | | | NSS originally used | - | | | BerkeleyDB databases to store | - | | | security information. | - | | | The last versions of these | - | | | legacy databases are: | - | | | o cert8.db for | - | | | certificates | - | | | o key3.db for keys | - | | | o secmod.db for PKCS #11 | - | | | module information | - | | | BerkeleyDB has performance | - | | | limitations, though, which | - | | | prevent it from | - | | | being easily used by | - | | | multiple applications | - | | | simultaneously. NSS has some | - | | | flexibility that allows | - | | | applications to use their own, | - | | | independent | - | | | database engine while | - | | | keeping a shared database and | - | | | working around the | - | | | access issues. Still, NSS | - | | | requires more flexibility to | - | | | provide a truly | - | | | shared security database. | - | | | In 2009, NSS introduced a | - | | | new set of databases that are | - | | | SQLite databases | - | | | rather than BerkleyDB. | - | | | These new databases provide | - | | | more accessibility and | - | | | performance: | - | | | o cert9.db for | - | | | certificates | - | | | o key4.db for keys | - | | | o pkcs11.txt, which is | - | | | listing of all of the PKCS #11 | - | | | modules contained | - | | | in a new subdirectory | - | | | in the security databases | - | | | directory | - | | | Because the SQLite | - | | | databases are designed to be | - | | | shared, these are the | - | | | shared database type. The | - | | | shared database type is | - | | | preferred; the legacy | - | | | format is included for | - | | | backward compatibility. | - | | | By default, the tools | - | | | (certutil, pk12util, modutil) | - | | | assume that the given | - | | | security databases follow | - | | | the more common legacy type. | - | | | Using the SQLite | - | | | databases must be manually | - | | | specified by using the sql: | - | | | prefix with the | - | | | given security directory. | - | | | For example: | - | | | $ certutil -L -d | - | | | sql:/home/my/sharednssdb | - | | | To set the shared database | - | | | type as the default type for | - | | | the tools, set the | - | | | NSS_DEFAULT_DB_TYPE | - | | | environment variable to sql: | - | | | export | - | | | NSS_DEFAULT_DB_TYPE="sql" | - | | | This line can be set added | - | | | to the ~/.bashrc file to make | - | | | the change | - | | | permanent. | - | | | Most applications do not | - | | | use the shared database by | - | | | default, but they can | - | | | be configured to use them. | - | | | For example, this how-to | - | | | article covers how to | - | | | configure Firefox and | - | | | Thunderbird to use the new | - | | | shared NSS databases: | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | For an engineering draft on | - | | | the changes in the shared NSS | - | | | databases, see | - | | | the NSS project wiki: | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | See Also | - | | | pk12util (1) | - | | | modutil (1) | - | | | certutil has arguments or | - | | | operations that use features | - | | | defined in several | - | | | IETF RFCs. | - | | | | - | | | o `http://tools.ietf.org/htm | - | | | l/rfc5280 `__ | - | | | | - | | | o `http://tools.ietf.org/htm | - | | | l/rfc1113 `__ | - | | | | - | | | o `http://tools.ietf.org/htm | - | | | l/rfc1485 `__ | - | | | The NSS wiki has | - | | | information on the new | - | | | database design and how to | - | | | configure applications to | - | | | use it. | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | Additional Resources | - | | | For information about NSS | - | | | and other tools related to NSS | - | | | (like JSS), check | - | | | out the NSS project wiki at | - | | | | - | | | [1]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | https://lists.mozill | - | | | a.org/listinfo/dev-tech-crypto | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape, Red | - | | | Hat, and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 339 | :ref:`mozil | | - | | la_projects_nss_tools_cmsutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | cmsutil — Performs basic | - | | | cryptograpic operations, such | - | | | as encryption and | - | | | decryption, on | - | | | Cryptographic Message Syntax | - | | | (CMS) messages. | - | | | Synopsis | - | | | cmsutil [options] | - | | | `arguments `__ | - | | | Description | - | | | The cmsutil command-line | - | | | uses the S/MIME Toolkit to | - | | | perform basic | - | | | operations, such as | - | | | encryption and decryption, on | - | | | Cryptographic Message | - | | | Syntax (CMS) messages. | - | | | To run cmsutil, type the | - | | | command cmsutil option | - | | | [arguments] where option | - | | | and arguments are | - | | | combinations of the options | - | | | and arguments listed in the | - | | | following section. Each | - | | | command takes one option. Each | - | | | option may take | - | | | zero or more arguments. To | - | | | see a usage string, issue the | - | | | command without | - | | | options. | - | | | Options and Arguments | - | | | Options | - | | | Options specify an action. | - | | | Option arguments modify an | - | | | action. The options | - | | | and arguments for the | - | | | cmsutil command are defined as | - | | | follows: | - | | | -D | - | | | Decode a message. | - | | | -C | - | | | Encrypt a message. | - | | | -E | - | | | Envelope a message. | - | | | -O | - | | | Create a | - | | | certificates-only message. | - | | | -S | - | | | Sign a message. | - | | | Arguments | - | | | Option arguments modify an | - | | | action and are lowercase. | - | | | -c content | - | | | Use this detached | - | | | content (decode only). | - | | | -d dbdir | - | | | Specify the | - | | | key/certificate database | - | | | directory (default is ".") | - | | | -e envfile | - | | | Specify a file | - | | | containing an enveloped | - | | | message for a set of | - | | | recipients to which | - | | | you would like to send an | - | | | encrypted message. | - | | | If this is the | - | | | first encrypted message for | - | | | that set of recipients, | - | | | a new enveloped | - | | | message will be created that | - | | | you can then use for | - | | | future messages | - | | | (encrypt only). | - | | | -G | - | | | Include a signing | - | | | time attribute (sign only). | - | | | -h num | - | | | Generate email | - | | | headers with info about CMS | - | | | message (decode only). | - | | | -i infile | - | | | Use infile as a | - | | | source of data (default is | - | | | stdin). | - | | | -N nickname | - | | | Specify nickname of | - | | | certificate to sign with (sign | - | | | only). | - | | | -n | - | | | Suppress output of | - | | | contents (decode only). | - | | | -o outfile | - | | | Use outfile as a | - | | | destination of data (default | - | | | is stdout). | - | | | -P | - | | | Include an S/MIME | - | | | capabilities attribute. | - | | | -p password | - | | | Use password as key | - | | | database password. | - | | | -r recipient1,recipient2, | - | | | ... | - | | | Specify list of | - | | | recipients (email addresses) | - | | | for an encrypted or | - | | | enveloped message. | - | | | For certificates-only message, | - | | | list of | - | | | certificates to | - | | | send. | - | | | -T | - | | | Suppress content in | - | | | CMS message (sign only). | - | | | -u certusage | - | | | Set type of cert | - | | | usage (default is | - | | | certUsageEmailSigner). | - | | | -Y ekprefnick | - | | | Specify an | - | | | encryption key preference by | - | | | nickname. | - | | | Usage | - | | | Encrypt Example | - | | | cmsutil -C [-i infile] [-o | - | | | outfile] [-d dbdir] [-p | - | | | password] -r | - | | | "recipient1,recipient2, . . ." | - | | | -e envfile | - | | | Decode Example | - | | | cmsutil -D [-i infile] [-o | - | | | outfile] [-d dbdir] [-p | - | | | password] [-c content] [-n] | - | | | [-h num] | - | | | Envelope Example | - | | | cmsutil -E [-i infile] [-o | - | | | outfile] [-d dbdir] [-p | - | | | password] -r | - | | | "recipient1,recipient2, ..." | - | | | Certificate-only Example | - | | | cmsutil -O [-i infile] [-o | - | | | outfile] [-d dbdir] [-p | - | | | password] -r "cert1,cert2, . . | - | | | ." | - | | | Sign Message Example | - | | | cmsutil -S [-i infile] [-o | - | | | outfile] [-d dbdir] [-p | - | | | password] -N nickname[-TGP] | - | | | [-Y ekprefnick] | - | | | See also | - | | | certutil(1) | - | | | See Also | - | | | Additional Resources | - | | | NSS is maintained in | - | | | conjunction with PKI and | - | | | security-related projects | - | | | through Mozilla dn Fedora. | - | | | The most closely-related | - | | | project is Dogtag PKI, | - | | | with a project wiki at | - | | | [1]\ http: | - | | | //pki.fedoraproject.org/wiki/. | - | | | For information | - | | | specifically about NSS, the | - | | | NSS project wiki is located at | - | | | | - | | | [2]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | pki-devel@redhat.com and | - | | | pki-users@redhat.com | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape and | - | | | now with Red Hat. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | http | - | | | ://pki.fedoraproject.org/wiki/ | - | | | 2. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 340 | :ref:`mozil | | - | | la_projects_nss_tools_crlutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | crlutil — List, generate, | - | | | modify, or delete CRLs within | - | | | the NSS security | - | | | database file(s) and list, | - | | | create, modify or delete | - | | | certificates entries | - | | | in a particular CRL. | - | | | Synopsis | - | | | crlutil [options] | - | | | `arguments `__ | - | | | Description | - | | | The Certificate Revocation | - | | | List (CRL) Management Tool, | - | | | crlutil, is a | - | | | command-line utility that | - | | | can list, generate, modify, or | - | | | delete CRLs | - | | | within the NSS security | - | | | database file(s) and list, | - | | | create, modify or | - | | | delete certificates entries | - | | | in a particular CRL. | - | | | The key and certificate | - | | | management process generally | - | | | begins with creating | - | | | keys in the key database, | - | | | then generating and managing | - | | | certificates in the | - | | | certificate database(see | - | | | certutil tool) and continues | - | | | with certificates | - | | | expiration or revocation. | - | | | This document discusses | - | | | certificate revocation list | - | | | management. For | - | | | information on security | - | | | module database management, | - | | | see Using the Security | - | | | Module Database Tool. For | - | | | information on certificate and | - | | | key database | - | | | management, see Using the | - | | | Certificate Database Tool. | - | | | To run the Certificate | - | | | Revocation List Management | - | | | Tool, type the command | - | | | crlutil option [arguments] | - | | | where options and arguments | - | | | are combinations of the | - | | | options and arguments | - | | | listed in the following | - | | | section. Each command takes | - | | | one option. Each | - | | | option may take zero or | - | | | more arguments. To see a usage | - | | | string, issue the | - | | | command without options, or | - | | | with the -H option. | - | | | Options and Arguments | - | | | Options | - | | | Options specify an action. | - | | | Option arguments modify an | - | | | action. The options | - | | | and arguments for the | - | | | crlutil command are defined as | - | | | follows: | - | | | -G | - | | | Create new | - | | | Certificate Revocation | - | | | List(CRL). | - | | | -D | - | | | Delete Certificate | - | | | Revocation List from cert | - | | | database. | - | | | -I | - | | | Import a CRL to the | - | | | cert database | - | | | -E | - | | | Erase all CRLs of | - | | | specified type from the cert | - | | | database | - | | | -L | - | | | List existing CRL | - | | | located in cert database file. | - | | | -M | - | | | Modify existing CRL | - | | | which can be located in cert | - | | | db or in | - | | | arbitrary file. If | - | | | located in file it should be | - | | | encoded in ASN.1 | - | | | encode format. | - | | | -G | - | | | Arguments | - | | | Option arguments modify an | - | | | action and are lowercase. | - | | | -B | - | | | Bypass CA signature | - | | | checks. | - | | | -P dbprefix | - | | | Specify the prefix | - | | | used on the NSS security | - | | | database files (for | - | | | example, | - | | | my_cert8.db and my_key3.db). | - | | | This option is provided as a | - | | | special case. | - | | | Changing the names of the | - | | | certificate and key | - | | | databases is not | - | | | recommended. | - | | | -a | - | | | Use ASCII format or | - | | | allow the use of ASCII format | - | | | for input and | - | | | output. This | - | | | formatting follows RFC #1113. | - | | | -c crl-gen-file | - | | | Specify script file | - | | | that will be used to control | - | | | crl | - | | | | - | | | generation/modification. See | - | | | crl-cript-file format below. | - | | | If | - | | | options -M|-G is | - | | | used and -c crl-script-file is | - | | | not specified, | - | | | crlutil will read | - | | | script data from standard | - | | | input. | - | | | -d directory | - | | | Specify the | - | | | database directory containing | - | | | the certificate and key | - | | | database files. On | - | | | Unix the Certificate Database | - | | | Tool defaults to | - | | | $HOME/.netscape | - | | | (that is, ~/.netscape). On | - | | | Windows NT the default | - | | | is the current | - | | | directory. | - | | | The NSS database | - | | | files must reside in the same | - | | | directory. | - | | | -i crl-import-file | - | | | Specify the file | - | | | which contains the CRL to | - | | | import | - | | | -f password-file | - | | | Specify a file that | - | | | will automatically supply the | - | | | password to | - | | | include in a | - | | | certificate or to access a | - | | | certificate database. This | - | | | is a plain-text | - | | | file containing one password. | - | | | Be sure to prevent | - | | | unauthorized access | - | | | to this file. | - | | | -l algorithm-name | - | | | Specify a specific | - | | | signature algorithm. List of | - | | | possible | - | | | algorithms: MD2 \| | - | | | MD4 \| MD5 \| SHA1 \| SHA256 | - | | | \| SHA384 \| SHA512 | - | | | -n nickname | - | | | Specify the | - | | | nickname of a certificate or | - | | | key to list, create, add | - | | | to a database, | - | | | modify, or validate. Bracket | - | | | the nickname string | - | | | with quotation | - | | | marks if it contains spaces. | - | | | -o output-file | - | | | Specify the output | - | | | file name for new CRL. Bracket | - | | | the output-file | - | | | string with | - | | | quotation marks if it contains | - | | | spaces. If this | - | | | argument is not | - | | | used the output destination | - | | | defaults to standard | - | | | output. | - | | | -t crl-type | - | | | Specify type of | - | | | CRL. possible types are: 0 - | - | | | SEC_KRL_TYPE, 1 - | - | | | SEC_CRL_TYPE. This | - | | | option is obsolete | - | | | -u url | - | | | Specify the url. | - | | | CRL Generation script syntax | - | | | CRL generation script file | - | | | has the following syntax: | - | | | \* Line with comments | - | | | should have # as a first | - | | | symbol of a line | - | | | \* Set "this update" or | - | | | "next update" CRL fields: | - | | | update=YYYYMMDDhhmmssZ | - | | | nextupdate=YYYYMMDDhhmmssZ | - | | | Field "next update" is | - | | | optional. Time should be in | - | | | GeneralizedTime format | - | | | (YYYYMMDDhhmmssZ). For | - | | | example: 20050204153000Z | - | | | \* Add an extension to a | - | | | CRL or a crl certificate | - | | | entry: | - | | | addext extension-name | - | | | critical/non-critical | - | | | [arg1[arg2 ...]] | - | | | Where: | - | | | extension-name: string | - | | | value of a name of known | - | | | extensions. | - | | | critical/non-critical: is 1 | - | | | when extension is critical and | - | | | 0 otherwise. | - | | | arg1, arg2: specific to | - | | | extension type extension | - | | | parameters | - | | | addext uses the range that | - | | | was set earlier by addcert and | - | | | will install an | - | | | extension to every cert | - | | | entries within the range. | - | | | \* Add certificate | - | | | entries(s) to CRL: | - | | | addcert range date | - | | | range: two integer values | - | | | separated by dash: range of | - | | | certificates that | - | | | will be added by this | - | | | command. dash is used as a | - | | | delimiter. Only one cert | - | | | will be added if there is | - | | | no delimiter. date: revocation | - | | | date of a cert. | - | | | Date should be represented | - | | | in GeneralizedTime format | - | | | (YYYYMMDDhhmmssZ). | - | | | \* Remove certificate | - | | | entry(s) from CRL | - | | | rmcert range | - | | | Where: | - | | | range: two integer values | - | | | separated by dash: range of | - | | | certificates that | - | | | will be added by this | - | | | command. dash is used as a | - | | | delimiter. Only one cert | - | | | will be added if there is | - | | | no delimiter. | - | | | \* Change range of | - | | | certificate entry(s) in CRL | - | | | range new-range | - | | | Where: | - | | | new-range: two integer | - | | | values separated by dash: | - | | | range of certificates | - | | | that will be added by this | - | | | command. dash is used as a | - | | | delimiter. Only one | - | | | cert will be added if there | - | | | is no delimiter. | - | | | Implemented Extensions | - | | | The extensions defined for | - | | | CRL provide methods for | - | | | associating additional | - | | | attributes with CRLs of | - | | | theirs entries. For more | - | | | information see RFC #3280 | - | | | \* Add The Authority Key | - | | | Identifier extension: | - | | | The authority key | - | | | identifier extension provides | - | | | a means of identifying the | - | | | public key corresponding to | - | | | the private key used to sign a | - | | | CRL. | - | | | authKeyId critical [key-id | - | | | \| dn cert-serial] | - | | | Where: | - | | | authKeyIdent: identifies | - | | | the name of an extension | - | | | critical: value of 1 of | - | | | 0. Should be set to 1 if | - | | | this extension is critical or | - | | | 0 otherwise. | - | | | key-id: key identifier | - | | | represented in octet string. | - | | | dn:: is a CA | - | | | distinguished name | - | | | cert-serial: authority | - | | | certificate serial number. | - | | | \* Add Issuer Alternative | - | | | Name extension: | - | | | The issuer alternative | - | | | names extension allows | - | | | additional identities to be | - | | | associated with the issuer | - | | | of the CRL. Defined options | - | | | include an rfc822 | - | | | name (electronic mail | - | | | address), a DNS name, an IP | - | | | address, and a URI. | - | | | issuerAltNames non-critical | - | | | name-list | - | | | Where: | - | | | subjAltNames: identifies | - | | | the name of an extension | - | | | should be set to 0 since | - | | | this is non-critical | - | | | extension name-list: comma | - | | | separated list of names | - | | | \* Add CRL Number | - | | | extension: | - | | | The CRL number is a | - | | | non-critical CRL extension | - | | | which conveys a | - | | | monotonically increasing | - | | | sequence number for a given | - | | | CRL scope and CRL | - | | | issuer. This extension | - | | | allows users to easily | - | | | determine when a particular | - | | | CRL supersedes another CRL | - | | | crlNumber non-critical | - | | | number | - | | | Where: | - | | | crlNumber: identifies the | - | | | name of an extension critical: | - | | | should be set to | - | | | 0 since this is | - | | | non-critical extension number: | - | | | value of long which | - | | | identifies the sequential | - | | | number of a CRL. | - | | | \* Add Revocation Reason | - | | | Code extension: | - | | | The reasonCode is a | - | | | non-critical CRL entry | - | | | extension that identifies the | - | | | reason for the certificate | - | | | revocation. | - | | | reasonCode non-critical | - | | | code | - | | | Where: | - | | | reasonCode: identifies the | - | | | name of an extension | - | | | non-critical: should be | - | | | set to 0 since this is | - | | | non-critical extension code: | - | | | the following codes | - | | | are available: | - | | | unspecified (0), | - | | | keyCompromise (1), | - | | | cACompromise (2), | - | | | affiliationChanged | - | | | (3), superseded (4), | - | | | cessationOfOperation (5), | - | | | certificateHold (6), | - | | | removeFromCRL (8), | - | | | privilegeWithdrawn (9), | - | | | aACompromise (10) | - | | | \* Add Invalidity Date | - | | | extension: | - | | | The invalidity date is a | - | | | non-critical CRL entry | - | | | extension that provides | - | | | the date on which it is | - | | | known or suspected that the | - | | | private key was | - | | | compromised or that the | - | | | certificate otherwise became | - | | | invalid. | - | | | invalidityDate non-critical | - | | | date | - | | | Where: | - | | | crlNumber: identifies the | - | | | name of an extension | - | | | non-critical: should be set | - | | | to 0 since this is | - | | | non-critical extension date: | - | | | invalidity date of a cert. | - | | | Date should be represented | - | | | in GeneralizedTime format | - | | | (YYYYMMDDhhmmssZ). | - | | | Usage | - | | | The Certificate Revocation | - | | | List Management Tool's | - | | | capabilities are grouped | - | | | as follows, using these | - | | | combinations of options and | - | | | arguments. Options and | - | | | arguments in square | - | | | brackets are optional, those | - | | | without square brackets | - | | | are required. | - | | | See "Implemented | - | | | extensions" for more | - | | | information regarding | - | | | extensions and | - | | | their parameters. | - | | | \* Creating or modifying a | - | | | CRL: | - | | | crlutil -G|-M -c crl-gen-file | - | | | -n nickname [-i crl] [-u url] | - | | | [-d keydir] [-P dbprefix] [-l | - | | | alg] [-a] [-B] | - | | | \* Listing all CRls or a | - | | | named CRL: | - | | | crlutil -L [-n | - | | | crl-name] [-d krydir] | - | | | \* Deleting CRL from db: | - | | | crlutil -D -n | - | | | nickname [-d keydir] [-P | - | | | dbprefix] | - | | | \* Erasing CRLs from db: | - | | | crlutil -E [-d | - | | | keydir] [-P dbprefix] | - | | | \* Deleting CRL from db: | - | | | crlutil -D -n | - | | | nickname [-d keydir] [-P | - | | | dbprefix] | - | | | \* Erasing CRLs from db: | - | | | crlutil -E [-d | - | | | keydir] [-P dbprefix] | - | | | \* Import CRL from file: | - | | | crlutil -I -i crl | - | | | [-t crlType] [-u url] [-d | - | | | keydir] [-P dbprefix] [-B] | - | | | See also | - | | | certutil(1) | - | | | See Also | - | | | Additional Resources | - | | | NSS is maintained in | - | | | conjunction with PKI and | - | | | security-related projects | - | | | through Mozilla dn Fedora. | - | | | The most closely-related | - | | | project is Dogtag PKI, | - | | | with a project wiki at | - | | | [1]\ http: | - | | | //pki.fedoraproject.org/wiki/. | - | | | For information | - | | | specifically about NSS, the | - | | | NSS project wiki is located at | - | | | | - | | | [2]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | pki-devel@redhat.com and | - | | | pki-users@redhat.com | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape and | - | | | now with Red Hat. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | http | - | | | ://pki.fedoraproject.org/wiki/ | - | | | 2. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 341 | :ref:`mozil | | - | | la_projects_nss_tools_modutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | modutil — Manage PKCS #11 | - | | | module information within the | - | | | security module | - | | | database. | - | | | Synopsis | - | | | modutil [options] | - | | | `arguments `__ | - | | | Description | - | | | The Security Module | - | | | Database Tool, modutil, is a | - | | | command-line utility for | - | | | managing PKCS #11 module | - | | | information both within | - | | | secmod.db files and | - | | | within hardware tokens. | - | | | modutil can add and delete | - | | | PKCS #11 modules, | - | | | change passwords on | - | | | security databases, set | - | | | defaults, list module | - | | | contents, enable or disable | - | | | slots, enable or disable FIPS | - | | | 140-2 | - | | | compliance, and assign | - | | | default providers for | - | | | cryptographic operations. | - | | | This tool can also create | - | | | certificate, key, and module | - | | | security database | - | | | files. | - | | | The tasks associated with | - | | | security module database | - | | | management are part of | - | | | a process that typically | - | | | also involves managing key | - | | | databases and | - | | | certificate databases. | - | | | Options | - | | | Running modutil always | - | | | requires one (and only one) | - | | | option to specify the | - | | | type of module operation. | - | | | Each option may take | - | | | arguments, anywhere from | - | | | none to multiple arguments. | - | | | Options | - | | | -add modulename | - | | | Add the named PKCS | - | | | #11 module to the database. | - | | | Use this option | - | | | with the -libfile, | - | | | -ciphers, and -mechanisms | - | | | arguments. | - | | | -changepw tokenname | - | | | Change the password | - | | | on the named token. If the | - | | | token has not been | - | | | initialized, this | - | | | option initializes the | - | | | password. Use this option | - | | | with the -pwfile | - | | | and -newpwfile arguments. A | - | | | password is | - | | | equivalent to a | - | | | personal identification number | - | | | (PIN). | - | | | -chkfips | - | | | Verify whether the | - | | | module is in the given FIPS | - | | | mode. true means to | - | | | verify that the | - | | | module is in FIPS mode, while | - | | | false means to | - | | | verify that the | - | | | module is not in FIPS mode. | - | | | -create | - | | | Create new | - | | | certificate, key, and module | - | | | databases. Use the -dbdir | - | | | directory argument | - | | | to specify a directory. If any | - | | | of these | - | | | databases already | - | | | exist in a specified | - | | | directory, modutil returns | - | | | an error message. | - | | | -default modulename | - | | | Specify the | - | | | security mechanisms for which | - | | | the named module will be | - | | | a default provider. | - | | | The security mechanisms are | - | | | specified with the | - | | | -mechanisms | - | | | argument. | - | | | -delete modulename | - | | | Delete the named | - | | | module. The default NSS PKCS | - | | | #11 module cannot be | - | | | deleted. | - | | | -disable modulename | - | | | Disable all slots | - | | | on the named module. Use the | - | | | -slot argument to | - | | | disable a specific | - | | | slot. | - | | | -enable modulename | - | | | Enable all slots on | - | | | the named module. Use the | - | | | -slot argument to | - | | | enable a specific | - | | | slot. | - | | | -fips [true \| false] | - | | | Enable (true) or | - | | | disable (false) FIPS 140-2 | - | | | compliance for the | - | | | default NSS module. | - | | | -force | - | | | Disable modutil's | - | | | interactive prompts so it can | - | | | be run from a | - | | | script. Use this | - | | | option only after manually | - | | | testing each planned | - | | | operation to check | - | | | for warnings and to ensure | - | | | that bypassing the | - | | | prompts will cause | - | | | no security lapses or loss of | - | | | database | - | | | integrity. | - | | | -jar JAR-file | - | | | Add a new PKCS #11 | - | | | module to the database using | - | | | the named JAR | - | | | file. Use this | - | | | command with the -installdir | - | | | and -tempdir | - | | | arguments. The JAR | - | | | file uses the NSS PKCS #11 JAR | - | | | format to | - | | | identify all the | - | | | files to be installed, the | - | | | module's name, the | - | | | mechanism flags, | - | | | and the cipher flags, as well | - | | | as any files to be | - | | | installed on the | - | | | target machine, including the | - | | | PKCS #11 module | - | | | library file and | - | | | other files such as | - | | | documentation. This is | - | | | covered in the JAR | - | | | installation file section in | - | | | the man page, | - | | | which details the | - | | | special script needed to | - | | | perform an installation | - | | | through a server or | - | | | with modutil. | - | | | -list [modulename] | - | | | Display basic | - | | | information about the contents | - | | | of the secmod.db | - | | | file. Specifying a | - | | | modulename displays detailed | - | | | information about | - | | | a particular module | - | | | and its slots and tokens. | - | | | -rawadd | - | | | Add the module spec | - | | | string to the secmod.db | - | | | database. | - | | | -rawlist | - | | | Display the module | - | | | specs for a specified module | - | | | or for all | - | | | loadable modules. | - | | | -undefault modulename | - | | | Specify the | - | | | security mechanisms for which | - | | | the named module will | - | | | not be a default | - | | | provider. The security | - | | | mechanisms are specified | - | | | with the | - | | | -mechanisms argument. | - | | | Arguments | - | | | MODULE | - | | | Give the security | - | | | module to access. | - | | | MODULESPEC | - | | | Give the security | - | | | module spec to load into the | - | | | security database. | - | | | -ciphers cipher-enable-list | - | | | Enable specific | - | | | ciphers in a module that is | - | | | being added to the | - | | | database. The | - | | | cipher-enable-list is a | - | | | colon-delimited list of | - | | | cipher names. | - | | | Enclose this list in quotation | - | | | marks if it contains | - | | | spaces. | - | | | -dbdir [sql:]directory | - | | | Specify the | - | | | database directory in which to | - | | | access or create | - | | | security module | - | | | database files. | - | | | modutil supports | - | | | two types of databases: the | - | | | legacy security | - | | | databases | - | | | (cert8.db, key3.db, and | - | | | secmod.db) and new SQLite | - | | | databases | - | | | (cert9.db, key4.db, and | - | | | pkcs11.txt). If the prefix | - | | | sql: | - | | | is not used, then | - | | | the tool assumes that the | - | | | given databases are in | - | | | the old format. | - | | | --dbprefix prefix | - | | | Specify the prefix | - | | | used on the database files, | - | | | such as my\_ for | - | | | my_cert8.db. This | - | | | option is provided as a | - | | | special case. Changing | - | | | the names of the | - | | | certificate and key databases | - | | | is not recommended. | - | | | -installdir | - | | | root-installation-directory | - | | | Specify the root | - | | | installation directory | - | | | relative to which files | - | | | will be installed | - | | | by the -jar option. This | - | | | directory should be one | - | | | below which it is | - | | | appropriate to store dynamic | - | | | library files, such | - | | | as a server's root | - | | | directory. | - | | | -libfile library-file | - | | | Specify a path to a | - | | | library file containing the | - | | | implementation of | - | | | the PKCS #11 | - | | | interface module that is being | - | | | added to the database. | - | | | -mechanisms mechanism-list | - | | | Specify the | - | | | security mechanisms for which | - | | | a particular module will | - | | | be flagged as a | - | | | default provider. The | - | | | mechanism-list is a | - | | | colon-delimited | - | | | list of mechanism names. | - | | | Enclose this list in | - | | | quotation marks if | - | | | it contains spaces. | - | | | The module becomes | - | | | a default provider for the | - | | | listed mechanisms | - | | | when those | - | | | mechanisms are enabled. If | - | | | more than one module claims | - | | | to be a particular | - | | | mechanism's default provider, | - | | | that mechanism's | - | | | default provider is | - | | | undefined. | - | | | modutil supports | - | | | several mechanisms: RSA, DSA, | - | | | RC2, RC4, RC5, AES, | - | | | DES, DH, SHA1, | - | | | SHA256, SHA512, SSL, TLS, MD5, | - | | | MD2, RANDOM (for | - | | | random number | - | | | generation), and FRIENDLY | - | | | (meaning certificates are | - | | | publicly readable). | - | | | -newpwfile | - | | | new-password-file | - | | | Specify a text file | - | | | containing a token's new or | - | | | replacement | - | | | password so that a | - | | | password can be entered | - | | | automatically with the | - | | | -changepw option. | - | | | -nocertdb | - | | | Do not open the | - | | | certificate or key databases. | - | | | This has several | - | | | effects: | - | | | o With the | - | | | -create command, only a module | - | | | security file is | - | | | created; | - | | | certificate and key databases | - | | | are not created. | - | | | o With the -jar | - | | | command, signatures on the JAR | - | | | file are not | - | | | checked. | - | | | o With the | - | | | -changepw command, the | - | | | password on the NSS internal | - | | | module cannot | - | | | be set or changed, since this | - | | | password is | - | | | stored in the | - | | | key database. | - | | | -pwfile old-password-file | - | | | Specify a text file | - | | | containing a token's existing | - | | | password so that | - | | | a password can be | - | | | entered automatically when the | - | | | -changepw option | - | | | is used to change | - | | | passwords. | - | | | -secmod secmodname | - | | | Give the name of | - | | | the security module database | - | | | (like secmod.db) to | - | | | load. | - | | | -slot slotname | - | | | Specify a | - | | | particular slot to be enabled | - | | | or disabled with the | - | | | -enable or -disable | - | | | options. | - | | | -string CONFIG_STRING | - | | | Pass a | - | | | configuration string for the | - | | | module being added to the | - | | | database. | - | | | -tempdir | - | | | temporary-directory | - | | | Give a directory | - | | | location where temporary files | - | | | are created during | - | | | the installation by | - | | | the -jar option. If no | - | | | temporary directory is | - | | | specified, the | - | | | current directory is used. | - | | | Usage and Examples | - | | | Creating Database Files | - | | | Before any operations can | - | | | be performed, there must be a | - | | | set of security | - | | | databases available. | - | | | modutil can be used to create | - | | | these files. The only | - | | | required argument is the | - | | | database that where the | - | | | databases will be | - | | | located. | - | | | modutil -create -dbdir | - | | | [sql:]directory | - | | | Adding a Cryptographic | - | | | Module | - | | | Adding a PKCS #11 module | - | | | means submitting a supporting | - | | | library file, | - | | | enabling its ciphers, and | - | | | setting default provider | - | | | status for various | - | | | security mechanisms. This | - | | | can be done by supplying all | - | | | of the information | - | | | through modutil directly or | - | | | by running a JAR file and | - | | | install script. For | - | | | the most basic case, simply | - | | | upload the library: | - | | | modutil -add modulename | - | | | -libfile library-file | - | | | [-ciphers cipher-enable-list] | - | | | [-mechanisms mechanism-list] | - | | | For example: | - | | | modutil -dbdir | - | | | sql:/home/my/sharednssdb -add | - | | | "Example PKCS #11 Module" | - | | | -libfile "/tmp/crypto.so" | - | | | -mechanisms RSA:DSA:RC2:RANDOM | - | | | Using database directory ... | - | | | Module "Example PKCS #11 | - | | | Module" added to database. | - | | | Installing a Cryptographic | - | | | Module from a JAR File | - | | | PKCS #11 modules can also | - | | | be loaded using a JAR file, | - | | | which contains all | - | | | of the required libraries | - | | | and an installation script | - | | | that describes how to | - | | | install the module. The JAR | - | | | install script is described in | - | | | more detail in | - | | | [1]the section called “JAR | - | | | Installation File Format”. | - | | | The JAR installation script | - | | | defines the setup information | - | | | for each | - | | | platform that the module | - | | | can be installed on. For | - | | | example: | - | | | Platforms { | - | | | Linux:5.4.08:x86 { | - | | | ModuleName { "Example | - | | | PKCS #11 Module" } | - | | | ModuleFile { crypto.so | - | | | } | - | | | | - | | | DefaultMechanismFlags{0x0000} | - | | | | - | | | CipherEnableFlags{0x0000} | - | | | Files { | - | | | crypto.so { | - | | | Path{ | - | | | /tmp/crypto.so } | - | | | } | - | | | setup.sh { | - | | | Executable | - | | | Path{ | - | | | /tmp/setup.sh } | - | | | } | - | | | } | - | | | } | - | | | Linux:6.0.0:x86 { | - | | | EquivalentPlatform { | - | | | Linux:5.4.08:x86 } | - | | | } | - | | | } | - | | | Both the install script and | - | | | the required libraries must be | - | | | bundled in a | - | | | JAR file, which is | - | | | specified with the -jar | - | | | argument. | - | | | modutil -dbdir | - | | | sql:/home/mt | - | | | "jar-install-filey/sharednssdb | - | | | -jar install.jar -installdir | - | | | sql:/home/my/sharednssdb | - | | | This installation JAR file | - | | | was signed by: | - | | | ---------------- | - | | | ------------------------------ | - | | | **SUBJECT NAME*\* | - | | | C=US, ST=California, | - | | | L=Mountain View, | - | | | CN=Cryptorific Inc., | - | | | OU=Digital ID | - | | | Class 3 - Netscape Object | - | | | Signing, | - | | | OU="w | - | | | ww.verisign.com/repository/CPS | - | | | Incorp. by Ref.,LIAB.LTD(c)9 | - | | | 6", OU=www.verisign.com/CPS | - | | | Incorp.by Ref | - | | | . LIABILITY LTD.(c)97 | - | | | VeriSign, OU=VeriSign Object | - | | | Signing CA - Class 3 | - | | | Organization, OU="VeriSign, | - | | | Inc.", O=VeriSign Trust | - | | | Network \**ISSUER | - | | | NAME**, | - | | | OU=www.verisign.com/CPS | - | | | Incorp.by Ref. LIABILITY | - | | | LTD.(c)97 | - | | | VeriSign, OU=VeriSign Object | - | | | Signing CA - Class 3 | - | | | Organization, | - | | | OU="VeriSign, Inc.", | - | | | O=VeriSign Trust Network | - | | | ---------------- | - | | | ------------------------------ | - | | | Do you wish to continue this | - | | | installation? (y/n) y | - | | | Using installer script | - | | | "installer_script" | - | | | Successfully parsed | - | | | installation script | - | | | Current platform is | - | | | Linux:5.4.08:x86 | - | | | Using installation parameters | - | | | for platform Linux:5.4.08:x86 | - | | | Installed file crypto.so to | - | | | /tmp/crypto.so | - | | | Installed file setup.sh to | - | | | ./pk11inst.dir/setup.sh | - | | | Executing | - | | | "./pk11inst.dir/setup.sh"... | - | | | "./pk11inst.dir/setup.sh" | - | | | executed successfully | - | | | Installed module "Example | - | | | PKCS #11 Module" into module | - | | | database | - | | | Installation completed | - | | | successfully | - | | | Adding Module Spec | - | | | Each module has information | - | | | stored in the security | - | | | database about its | - | | | configuration and | - | | | parameters. These can be added | - | | | or edited using the | - | | | -rawadd command. For the | - | | | current settings or to see the | - | | | format of the | - | | | module spec in the | - | | | database, use the -rawlist | - | | | option. | - | | | modutil -rawadd modulespec | - | | | Deleting a Module | - | | | A specific PKCS #11 module | - | | | can be deleted from the | - | | | secmod.db database: | - | | | modutil -delete modulename | - | | | -dbdir [sql:]directory | - | | | Displaying Module | - | | | Information | - | | | The secmod.db database | - | | | contains information about the | - | | | PKCS #11 modules | - | | | that are available to an | - | | | application or server to use. | - | | | The list of all | - | | | modules, information about | - | | | specific modules, and database | - | | | configuration | - | | | specs for modules can all | - | | | be viewed. | - | | | To simply get a list of | - | | | modules in the database, use | - | | | the -list command. | - | | | modutil -list [modulename] | - | | | -dbdir [sql:]directory | - | | | Listing the modules shows | - | | | the module name, their status, | - | | | and other | - | | | associated security | - | | | databases for certificates and | - | | | keys. For example: | - | | | modutil -list -dbdir | - | | | sql:/home/my/sharednssdb | - | | | Listing of PKCS #11 Modules | - | | | ----------------------------- | - | | | ------------------------------ | - | | | 1. NSS Internal PKCS #11 | - | | | Module | - | | | slots: 2 slots | - | | | attached | - | | | status: loaded | - | | | slot: NSS Internal | - | | | Cryptographic Services | - | | | token: NSS Generic | - | | | Crypto Services | - | | | slot: NSS User | - | | | Private Key and Certificate | - | | | Services | - | | | token: NSS | - | | | Certificate DB | - | | | ----------------------------- | - | | | ------------------------------ | - | | | Passing a specific module | - | | | name with the -list returns | - | | | details information | - | | | about the module itself, | - | | | like supported cipher | - | | | mechanisms, version | - | | | numbers, serial numbers, | - | | | and other information about | - | | | the module and the | - | | | token it is loaded on. For | - | | | example: | - | | | modutil -list "NSS Internal | - | | | PKCS #11 Module" -dbdir | - | | | sql:/home/my/sharednssdb | - | | | ----------------------------- | - | | | ------------------------------ | - | | | Name: NSS Internal PKCS #11 | - | | | Module | - | | | Library file: \**Internal | - | | | ONLY module*\* | - | | | Manufacturer: Mozilla | - | | | Foundation | - | | | Description: NSS Internal | - | | | Crypto Services | - | | | PKCS #11 Version 2.20 | - | | | Library Version: 3.11 | - | | | Cipher Enable Flags: None | - | | | Default Mechanism Flags: | - | | | RSA:RC2:RC4:D | - | | | ES:DH:SHA1:MD5:MD2:SSL:TLS:AES | - | | | Slot: NSS Internal | - | | | Cryptographic Services | - | | | Slot Mechanism Flags: | - | | | RSA:RC2:RC4:D | - | | | ES:DH:SHA1:MD5:MD2:SSL:TLS:AES | - | | | Manufacturer: Mozilla | - | | | Foundation | - | | | Type: Software | - | | | Version Number: 3.11 | - | | | Firmware Version: 0.0 | - | | | Status: Enabled | - | | | Token Name: NSS Generic | - | | | Crypto Services | - | | | Token Manufacturer: Mozilla | - | | | Foundation | - | | | Token Model: NSS 3 | - | | | Token Serial Number: | - | | | 0000000000000000 | - | | | Token Version: 4.0 | - | | | Token Firmware Version: 0.0 | - | | | Access: Write Protected | - | | | Login Type: Public (no | - | | | login required) | - | | | User Pin: NOT Initialized | - | | | Slot: NSS User Private Key | - | | | and Certificate Services | - | | | Slot Mechanism Flags: None | - | | | Manufacturer: Mozilla | - | | | Foundation | - | | | Type: Software | - | | | Version Number: 3.11 | - | | | Firmware Version: 0.0 | - | | | Status: Enabled | - | | | Token Name: NSS Certificate | - | | | DB | - | | | Token Manufacturer: Mozilla | - | | | Foundation | - | | | Token Model: NSS 3 | - | | | Token Serial Number: | - | | | 0000000000000000 | - | | | Token Version: 8.3 | - | | | Token Firmware Version: 0.0 | - | | | Access: NOT Write Protected | - | | | Login Type: Login required | - | | | User Pin: Initialized | - | | | A related command, -rawlist | - | | | returns information about the | - | | | database | - | | | configuration for the | - | | | modules. (This information can | - | | | be edited by loading | - | | | new specs using the -rawadd | - | | | command.) | - | | | modutil -rawlist -dbdir | - | | | sql:/home/my/sharednssdb | - | | | name="NSS Internal PKCS #11 | - | | | Module" | - | | | parameters="configdir=. | - | | | certPrefix= keyPrefix= | - | | | secmod=secmod.db | - | | | flags=readOnly " | - | | | NSS="trustOrder=75 | - | | | cipherOrder=100 | - | | | slotParams={0x00000001=[ | - | | | slotFlags=RSA,RC4,RC2,DES,DH,S | - | | | HA1,MD5,MD2,SSL,TLS,AES,RANDOM | - | | | askpw=any timeout=30 ] } | - | | | Flags=internal,critical" | - | | | Setting a Default Provider | - | | | for Security Mechanisms | - | | | Multiple security modules | - | | | may provide support for the | - | | | same security | - | | | mechanisms. It is possible | - | | | to set a specific security | - | | | module as the | - | | | default provider for a | - | | | specific security mechanism | - | | | (or, conversely, to | - | | | prohibit a provider from | - | | | supplying those mechanisms). | - | | | modutil -default modulename | - | | | -mechanisms mechanism-list | - | | | To set a module as the | - | | | default provider for | - | | | mechanisms, use the -default | - | | | command with a | - | | | colon-separated list of | - | | | mechanisms. The available | - | | | mechanisms depend on the | - | | | module; NSS supplies almost | - | | | all common | - | | | mechanisms. For example: | - | | | modutil -default "NSS | - | | | Internal PKCS #11 Module" | - | | | -dbdir -mechanisms RSA:DSA:RC2 | - | | | Using database directory | - | | | c:\databases... | - | | | Successfully changed | - | | | defaults. | - | | | Clearing the default | - | | | provider has the same format: | - | | | modutil -undefault "NSS | - | | | Internal PKCS #11 Module" | - | | | -dbdir -mechanisms MD2:MD5 | - | | | Enabling and Disabling | - | | | Modules and Slots | - | | | Modules, and specific slots | - | | | on modules, can be selectively | - | | | enabled or | - | | | disabled using modutil. | - | | | Both commands have the same | - | | | format: | - | | | modutil -enable|-disable | - | | | modulename [-slot slotname] | - | | | For example: | - | | | modutil -enable "NSS Internal | - | | | PKCS #11 Module" -slot "NSS | - | | | Internal Cryptographic | - | | | Servi | - | | | ces | - | | | " -dbdir . | - | | | Slot "NSS Internal | - | | | Cryptographic | - | | | Servi | - | | | ces | - | | | " enabled. | - | | | Be sure that the | - | | | appropriate amount of trailing | - | | | whitespace is after the | - | | | slot name. Some slot names | - | | | have a significant amount of | - | | | whitespace that | - | | | must be included, or the | - | | | operation will fail. | - | | | Enabling and Verifying FIPS | - | | | Compliance | - | | | The NSS modules can have | - | | | FIPS 140-2 compliance enabled | - | | | or disabled using | - | | | modutil with the -fips | - | | | option. For example: | - | | | modutil -fips true -dbdir | - | | | sql:/home/my/sharednssdb/ | - | | | FIPS mode enabled. | - | | | To verify that status of | - | | | FIPS mode, run the -chkfips | - | | | command with either a | - | | | true or false flag (it | - | | | doesn't matter which). The | - | | | tool returns the current | - | | | FIPS setting. | - | | | modutil -chkfips false -dbdir | - | | | sql:/home/my/sharednssdb/ | - | | | FIPS mode enabled. | - | | | Changing the Password on a | - | | | Token | - | | | Initializing or changing a | - | | | token's password: | - | | | modutil -changepw tokenname | - | | | [-pwfile old-password-file] | - | | | [-newpwfile new-password-file] | - | | | modutil -dbdir | - | | | sql:/home/my/sharednssdb | - | | | -changepw "NSS Certificate DB" | - | | | Enter old password: | - | | | Incorrect password, try | - | | | again... | - | | | Enter old password: | - | | | Enter new password: | - | | | Re-enter new password: | - | | | Token "Communicator | - | | | Certificate DB" password | - | | | changed successfully. | - | | | JAR Installation File Format | - | | | When a JAR file is run by a | - | | | server, by modutil, or by any | - | | | program that | - | | | does not interpret | - | | | JavaScript, a special | - | | | information file must be | - | | | included | - | | | to install the libraries. | - | | | There are several things to | - | | | keep in mind with | - | | | this file: | - | | | o It must be declared in | - | | | the JAR archive's manifest | - | | | file. | - | | | o The script can have any | - | | | name. | - | | | o The metainfo tag for | - | | | this is Pkcs11_install_script. | - | | | To declare | - | | | meta-information in the | - | | | manifest file, put it in a | - | | | file that is passed | - | | | to signtool. | - | | | Sample Script | - | | | For example, the PKCS #11 | - | | | installer script could be in | - | | | the file | - | | | pk11install. If so, the | - | | | metainfo file for signtool | - | | | includes a line such as | - | | | this: | - | | | + Pkcs11_install_script: | - | | | pk11install | - | | | The script must define the | - | | | platform and version number, | - | | | the module name | - | | | and file, and any optional | - | | | information like supported | - | | | ciphers and | - | | | mechanisms. Multiple | - | | | platforms can be defined in a | - | | | single install file. | - | | | ForwardCompatible { | - | | | IRIX:6.2:mips | - | | | SUNOS:5.5.1:sparc } | - | | | Platforms { | - | | | WINNT::x86 { | - | | | ModuleName { "Example | - | | | Module" } | - | | | ModuleFile { | - | | | win32/fort32.dll } | - | | | | - | | | DefaultMechanismFlags{0x0001} | - | | | | - | | | DefaultCipherFlags{0x0001} | - | | | Files { | - | | | win32/setup.exe { | - | | | Executable | - | | | RelativePath { | - | | | %temp%/setup.exe } | - | | | } | - | | | win32/setup.hlp { | - | | | RelativePath { | - | | | %temp%/setup.hlp } | - | | | } | - | | | win32/setup.cab { | - | | | RelativePath { | - | | | %temp%/setup.cab } | - | | | } | - | | | } | - | | | } | - | | | WIN95::x86 { | - | | | EquivalentPlatform | - | | | {WINNT::x86} | - | | | } | - | | | SUNOS:5.5.1:sparc { | - | | | ModuleName { "Example | - | | | UNIX Module" } | - | | | ModuleFile { | - | | | unix/fort.so } | - | | | | - | | | DefaultMechanismFlags{0x0001} | - | | | | - | | | CipherEnableFlags{0x0001} | - | | | Files { | - | | | unix/fort.so { | - | | | | - | | | Re | - | | | lativePath{%root%/lib/fort.so} | - | | | | - | | | AbsolutePath{/u | - | | | sr/local/netscape/lib/fort.so} | - | | | | - | | | FilePermissions{555} | - | | | } | - | | | xplat/instr.html { | - | | | | - | | | Relat | - | | | ivePath{%root%/docs/inst.html} | - | | | | - | | | AbsolutePath{/usr/ | - | | | local/netscape/docs/inst.html} | - | | | | - | | | FilePermissions{555} | - | | | } | - | | | } | - | | | } | - | | | IRIX:6.2:mips { | - | | | EquivalentPlatform { | - | | | SUNOS:5.5.1:sparc } | - | | | } | - | | | } | - | | | Script Grammar | - | | | The script is basic Java, | - | | | allowing lists, key-value | - | | | pairs, strings, and | - | | | combinations of all of | - | | | them. | - | | | --> valuelist | - | | | valuelist --> value valuelist | - | | | | - | | | value ---> key_value_pair | - | | | string | - | | | key_value_pair --> key { | - | | | valuelist } | - | | | key --> string | - | | | string --> simple_string | - | | | "complex_string" | - | | | simple_string --> [^ | - | | | \\t\n\""{""}"]+ | - | | | complex_string --> | - | | | ([^\"\\\r\n]|(\\\")|(\\\\))+ | - | | | Quotes and backslashes must | - | | | be escaped with a backslash. A | - | | | complex string | - | | | must not include newlines | - | | | or carriage returns.Outside of | - | | | complex strings, | - | | | all white space (for | - | | | example, spaces, tabs, and | - | | | carriage returns) is | - | | | considered equal and is | - | | | used only to delimit tokens. | - | | | Keys | - | | | The Java install file uses | - | | | keys to define the platform | - | | | and module | - | | | information. | - | | | ForwardCompatible gives a | - | | | list of platforms that are | - | | | forward compatible. | - | | | If the current platform | - | | | cannot be found in the list of | - | | | supported | - | | | platforms, then the | - | | | ForwardCompatible list is | - | | | checked for any platforms | - | | | that have the same OS and | - | | | architecture in an earlier | - | | | version. If one is | - | | | found, its attributes are | - | | | used for the current platform. | - | | | Platforms (required) Gives | - | | | a list of platforms. Each | - | | | entry in the list is | - | | | itself a key-value pair: | - | | | the key is the name of the | - | | | platform and the value | - | | | list contains various | - | | | attributes of the platform. | - | | | The platform string is | - | | | in the format system | - | | | name:OS release:architecture. | - | | | The installer obtains | - | | | these values from NSPR. OS | - | | | release is an empty string on | - | | | non-Unix | - | | | operating systems. NSPR | - | | | supports these platforms: | - | | | o AIX (rs6000) | - | | | o BSDI (x86) | - | | | o FREEBSD (x86) | - | | | o HPUX (hppa1.1) | - | | | o IRIX (mips) | - | | | o LINUX (ppc, alpha, x86) | - | | | o MacOS (PowerPC) | - | | | o NCR (x86) | - | | | o NEC (mips) | - | | | o OS2 (x86) | - | | | o OSF (alpha) | - | | | o ReliantUNIX (mips) | - | | | o SCO (x86) | - | | | o SOLARIS (sparc) | - | | | o SONY (mips) | - | | | o SUNOS (sparc) | - | | | o UnixWare (x86) | - | | | o WIN16 (x86) | - | | | o WIN95 (x86) | - | | | o WINNT (x86) | - | | | For example: | - | | | IRIX:6.2:mips | - | | | SUNOS:5.5.1:sparc | - | | | Linux:2.0.32:x86 | - | | | WIN95::x86 | - | | | The module information is | - | | | defined independently for each | - | | | platform in the | - | | | ModuleName, ModuleFile, and | - | | | Files attributes. These | - | | | attributes must be | - | | | given unless an | - | | | EquivalentPlatform attribute | - | | | is specified. | - | | | Per-Platform Keys | - | | | Per-platform keys have | - | | | meaning only within the value | - | | | list of an entry in | - | | | the Platforms list. | - | | | ModuleName (required) gives | - | | | the common name for the | - | | | module. This name is | - | | | used to reference the | - | | | module by servers and by the | - | | | modutil tool. | - | | | ModuleFile (required) names | - | | | the PKCS #11 module file for | - | | | this platform. | - | | | The name is given as the | - | | | relative path of the file | - | | | within the JAR archive. | - | | | Files (required) lists the | - | | | files that need to be | - | | | installed for this | - | | | module. Each entry in the | - | | | file list is a key-value pair. | - | | | The key is the | - | | | path of the file in the JAR | - | | | archive, and the value list | - | | | contains | - | | | attributes of the file. At | - | | | least RelativePath or | - | | | AbsolutePath must be | - | | | specified for each file. | - | | | DefaultMechanismFlags | - | | | specifies mechanisms for which | - | | | this module is the | - | | | default provider; this is | - | | | equivalent to the -mechanism | - | | | option with the | - | | | -add command. This | - | | | key-value pair is a bitstring | - | | | specified in hexadecimal | - | | | (0x) format. It is | - | | | constructed as a bitwise OR. | - | | | If the | - | | | DefaultMechanismFlags entry | - | | | is omitted, the value defaults | - | | | to 0x0. | - | | | RSA: | - | | | 0x00000001 | - | | | DSA: | - | | | 0x00000002 | - | | | RC2: | - | | | 0x00000004 | - | | | RC4: | - | | | 0x00000008 | - | | | DES: | - | | | 0x00000010 | - | | | DH: | - | | | 0x00000020 | - | | | FORTEZZA: | - | | | 0x00000040 | - | | | RC5: | - | | | 0x00000080 | - | | | SHA1: | - | | | 0x00000100 | - | | | MD5: | - | | | 0x00000200 | - | | | MD2: | - | | | 0x00000400 | - | | | RANDOM: | - | | | 0x08000000 | - | | | FRIENDLY: | - | | | 0x10000000 | - | | | OWN_PW_DEFAULTS: | - | | | 0x20000000 | - | | | DISABLE: | - | | | 0x40000000 | - | | | CipherEnableFlags specifies | - | | | ciphers that this module | - | | | provides that NSS | - | | | does not provide (so that | - | | | the module enables those | - | | | ciphers for NSS). This | - | | | is equivalent to the | - | | | -cipher argument with the -add | - | | | command. This key is a | - | | | bitstring specified in | - | | | hexadecimal (0x) format. It is | - | | | constructed as a | - | | | bitwise OR. If the | - | | | CipherEnableFlags entry is | - | | | omitted, the value defaults | - | | | to 0x0. | - | | | EquivalentPlatform | - | | | specifies that the attributes | - | | | of the named platform | - | | | should also be used for the | - | | | current platform. This makes | - | | | it easier when | - | | | more than one platform uses | - | | | the same settings. | - | | | Per-File Keys | - | | | Some keys have meaning only | - | | | within the value list of an | - | | | entry in a Files | - | | | list. | - | | | Each file requires a path | - | | | key the identifies where the | - | | | file is. Either | - | | | RelativePath or | - | | | AbsolutePath must be | - | | | specified. If both are | - | | | specified, the | - | | | relative path is tried | - | | | first, and the absolute path | - | | | is used only if no | - | | | relative root directory is | - | | | provided by the installer | - | | | program. | - | | | RelativePath specifies the | - | | | destination directory of the | - | | | file, relative to | - | | | some directory decided at | - | | | install time. Two variables | - | | | can be used in the | - | | | relative path: %root% and | - | | | %temp%. %root% is replaced at | - | | | run time with the | - | | | directory relative to which | - | | | files should be installed; for | - | | | example, it may | - | | | be the server's root | - | | | directory. The %temp% | - | | | directory is created at the | - | | | beginning of the | - | | | installation and destroyed at | - | | | the end. The purpose of | - | | | %temp% is to hold | - | | | executable files (such as | - | | | setup programs) or files that | - | | | are used by these programs. | - | | | Files destined for the | - | | | temporary directory are | - | | | guaranteed to be in place | - | | | before any executable file is | - | | | run; they are not | - | | | deleted until all | - | | | executable files have | - | | | finished. | - | | | AbsolutePath specifies the | - | | | destination directory of the | - | | | file as an | - | | | absolute path. | - | | | Executable specifies that | - | | | the file is to be executed | - | | | during the course of | - | | | the installation. | - | | | Typically, this string is used | - | | | for a setup program | - | | | provided by a module | - | | | vendor, such as a | - | | | self-extracting setup | - | | | executable. | - | | | More than one file can be | - | | | specified as executable, in | - | | | which case the files | - | | | are run in the order in | - | | | which they are specified in | - | | | the script file. | - | | | FilePermissions sets | - | | | permissions on any referenced | - | | | files in a string of | - | | | octal digits, according to | - | | | the standard Unix format. This | - | | | string is a | - | | | bitwise OR. | - | | | user read: | - | | | 0400 | - | | | user write: | - | | | 0200 | - | | | user execute: | - | | | 0100 | - | | | group read: | - | | | 0040 | - | | | group write: | - | | | 0020 | - | | | group execute: | - | | | 0010 | - | | | other read: | - | | | 0004 | - | | | other write: | - | | | 0002 | - | | | other execute: 0001 | - | | | Some platforms may not | - | | | understand these permissions. | - | | | They are applied only | - | | | insofar as they make sense | - | | | for the current platform. If | - | | | this attribute is | - | | | omitted, a default of 777 | - | | | is assumed. | - | | | NSS Database Types | - | | | NSS originally used | - | | | BerkeleyDB databases to store | - | | | security information. | - | | | The last versions of these | - | | | legacy databases are: | - | | | o cert8.db for | - | | | certificates | - | | | o key3.db for keys | - | | | o secmod.db for PKCS #11 | - | | | module information | - | | | BerkeleyDB has performance | - | | | limitations, though, which | - | | | prevent it from | - | | | being easily used by | - | | | multiple applications | - | | | simultaneously. NSS has some | - | | | flexibility that allows | - | | | applications to use their own, | - | | | independent | - | | | database engine while | - | | | keeping a shared database and | - | | | working around the | - | | | access issues. Still, NSS | - | | | requires more flexibility to | - | | | provide a truly | - | | | shared security database. | - | | | In 2009, NSS introduced a | - | | | new set of databases that are | - | | | SQLite databases | - | | | rather than BerkleyDB. | - | | | These new databases provide | - | | | more accessibility and | - | | | performance: | - | | | o cert9.db for | - | | | certificates | - | | | o key4.db for keys | - | | | o pkcs11.txt, which is | - | | | listing of all of the PKCS #11 | - | | | modules contained | - | | | in a new subdirectory | - | | | in the security databases | - | | | directory | - | | | Because the SQLite | - | | | databases are designed to be | - | | | shared, these are the | - | | | shared database type. The | - | | | shared database type is | - | | | preferred; the legacy | - | | | format is included for | - | | | backward compatibility. | - | | | By default, the tools | - | | | (certutil, pk12util, modutil) | - | | | assume that the given | - | | | security databases follow | - | | | the more common legacy type. | - | | | Using the SQLite | - | | | databases must be manually | - | | | specified by using the sql: | - | | | prefix with the | - | | | given security directory. | - | | | For example: | - | | | modutil -create -dbdir | - | | | sql:/home/my/sharednssdb | - | | | To set the shared database | - | | | type as the default type for | - | | | the tools, set the | - | | | NSS_DEFAULT_DB_TYPE | - | | | environment variable to sql: | - | | | export | - | | | NSS_DEFAULT_DB_TYPE="sql" | - | | | This line can be set added | - | | | to the ~/.bashrc file to make | - | | | the change | - | | | permanent. | - | | | Most applications do not | - | | | use the shared database by | - | | | default, but they can | - | | | be configured to use them. | - | | | For example, this how-to | - | | | article covers how to | - | | | configure Firefox and | - | | | Thunderbird to use the new | - | | | shared NSS databases: | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | For an engineering draft on | - | | | the changes in the shared NSS | - | | | databases, see | - | | | the NSS project wiki: | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | See Also | - | | | certutil (1) | - | | | pk12util (1) | - | | | signtool (1) | - | | | The NSS wiki has | - | | | information on the new | - | | | database design and how to | - | | | configure applications to | - | | | use it. | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | Additional Resources | - | | | For information about NSS | - | | | and other tools related to NSS | - | | | (like JSS), check | - | | | out the NSS project wiki at | - | | | | - | | | [2]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | https://lists.mozill | - | | | a.org/listinfo/dev-tech-crypto | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape, Red | - | | | Hat, and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. JAR Installation File | - | | | Format | - | | | | - | | | ``file:///tmp/xmlto.6gGxS0/ | - | | | modutil.pro...r-install-file`` | - | | | 2. | - | | | https://www.mozilla. | - | | | org/projects/security/pki/nss/ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 342 | :ref:`mozilla_projects_nss_t | | - | | ools_nss_tools_certutil-tasks` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 343 | :ref:`mozilla_projects | **certificates, x509v3** | - | | _nss_tools_nss_tools_certutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Certificate Database Tool | - | | | is a command-line utility that | - | | | can create and modify the | - | | | Netscape Communicator | - | | | ``cert8.db`` and | - | | | ``key3.db``\ database files. | - | | | It can also list, generate, | - | | | modify, or delete certificates | - | | | within the ``cert8.db``\ file | - | | | and create or change the | - | | | password, generate new public | - | | | and private key pairs, display | - | | | the contents of the key | - | | | database, or delete key pairs | - | | | within the ``key3.db`` file. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 344 | :ref:`mozilla_project | | - | | s_nss_tools_nss_tools_cmsutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The cmsutil command-line | - | | | utility uses the `S/MIME | - | | | Toolkit <../smime/>`__ to | - | | | perform basic operations, such | - | | | as encryption and decryption, | - | | | on `Cryptographic Message | - | | | Syntax (CMS) `__ | - | | | messages. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 345 | :ref:`mozilla_project | | - | | s_nss_tools_nss_tools_crlutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 346 | :ref:`mozilla_projects_n | | - | | ss_tools_nss_tools_dbck-tasks` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 347 | :ref:`mozilla_projects_nss_ | | - | | tools_nss_tools_modutil-tasks` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 348 | :ref:`mozilla_project | | - | | s_nss_tools_nss_tools_modutil` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The Security Module Database | - | | | Tool is a command-line utility | - | | | for managing PKCS #11 module | - | | | information within | - | | | ``secmod.db`` files or within | - | | | hardware tokens. You can use | - | | | the tool to add and delete | - | | | PKCS #11 modules, change | - | | | passwords, set defaults, list | - | | | module contents, enable or | - | | | disable slots, enable or | - | | | disable FIPS 140-2 compliance, | - | | | and assign default providers | - | | | for cryptographic operations. | - | | | This tool can also create | - | | | ``key3.db``, ``cert8.db``, and | - | | | ``secmod.db`` security | - | | | database files. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 349 | :ref:`mozilla_projects_nss_t | | - | | ools_nss_tools_pk12util-tasks` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Newsgroup: | - | | | `mozilla.dev.tech | - | | | .crypto `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 350 | :ref:`mozilla_projects | | - | | _nss_tools_nss_tools_pk12util` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The PKCS #12 utility makes | - | | | sharing of certificates among | - | | | Enterprise server 3.x and any | - | | | server (Netscape products or | - | | | non-Netscape products) that | - | | | supports PKCS#12 possible. The | - | | | tool allows you to import | - | | | certificates and keys from | - | | | pkcs #12 files into NSS or | - | | | export them and also list | - | | | certificates and keys in such | - | | | files. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 351 | :ref:`mozilla_projects_nss_ | | - | | tools_nss_tools_signver-tasks` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | *No summary!* | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 352 | :ref:`mozilla_projects_ns | | - | | s_tools_nss_tools_sslstrength` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | A simple command-line client | - | | | which connects to an | - | | | SSL-server, and reports back | - | | | the encryption cipher and | - | | | strength used. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 353 | :ref:`mozilla_projec | | - | | ts_nss_tools_nss_tools_ssltap` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The SSL Debugging Tool is an | - | | | SSL-aware command-line proxy. | - | | | It watches TCP connections and | - | | | displays the data going by. If | - | | | a connection is SSL, the data | - | | | display includes interpreted | - | | | SSL records and handshaking. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 354 | :ref:`mozill | | - | | a_projects_nss_tools_pk12util` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | pk12util — Export and | - | | | import keys and certificate to | - | | | or from a PKCS #12 | - | | | file and the NSS database | - | | | Synopsis | - | | | pk12util [-i p12File [-h | - | | | tokenname] [-v] | - | | | [common-options] ] [ -l | - | | | p12File | - | | | [-h tokenname] [-r] | - | | | [common-options] ] [ -o | - | | | p12File -n certname [-c | - | | | keyCipher] [-C certCipher] | - | | | [-m|--key_len keyLen] | - | | | [-n|--cert_key_len | - | | | certKeyLen] | - | | | [common-options] ] [ | - | | | common-options are: [-d | - | | | [sql:]directory] | - | | | [-P dbprefix] [-k | - | | | slotPasswordFile|-K | - | | | slotPassword] [-w | - | | | p12filePasswordFile|-W | - | | | p12filePassword] ] | - | | | Description | - | | | The PKCS #12 utility, | - | | | pk12util, enables sharing | - | | | certificates among any | - | | | server that supports | - | | | PKCS#12. The tool can import | - | | | certificates and keys | - | | | from PKCS#12 files into | - | | | security databases, export | - | | | certificates, and list | - | | | certificates and keys. | - | | | Options and Arguments | - | | | Options | - | | | -i p12file | - | | | Import keys and | - | | | certificates from a PKCS#12 | - | | | file into a security | - | | | database. | - | | | -l p12file | - | | | List the keys and | - | | | certificates in PKCS#12 file. | - | | | -o p12file | - | | | Export keys and | - | | | certificates from the security | - | | | database to a | - | | | PKCS#12 file. | - | | | Arguments | - | | | -n certname | - | | | Specify the | - | | | nickname of the cert and | - | | | private key to export. | - | | | -d [sql:]directory | - | | | Specify the | - | | | database directory into which | - | | | to import to or export | - | | | from certificates | - | | | and keys. | - | | | pk12util supports | - | | | two types of databases: the | - | | | legacy security | - | | | databases | - | | | (cert8.db, key3.db, and | - | | | secmod.db) and new SQLite | - | | | databases | - | | | (cert9.db, key4.db, and | - | | | pkcs11.txt). If the prefix | - | | | sql: | - | | | is not used, then | - | | | the tool assumes that the | - | | | given databases are in | - | | | the old format. | - | | | -P prefix | - | | | Specify the prefix | - | | | used on the certificate and | - | | | key databases. This | - | | | option is provided | - | | | as a special case. Changing | - | | | the names of the | - | | | certificate and key | - | | | databases is not recommended. | - | | | -h tokenname | - | | | Specify the name of | - | | | the token to import into or | - | | | export from. | - | | | -v | - | | | Enable debug | - | | | logging when importing. | - | | | -k slotPasswordFile | - | | | Specify the text | - | | | file containing the slot's | - | | | password. | - | | | -K slotPassword | - | | | Specify the slot's | - | | | password. | - | | | -w p12filePasswordFile | - | | | Specify the text | - | | | file containing the pkcs #12 | - | | | file password. | - | | | -W p12filePassword | - | | | Specify the pkcs | - | | | #12 file password. | - | | | -c keyCipher | - | | | Specify the key | - | | | encryption algorithm. | - | | | -C certCipher | - | | | Specify the key | - | | | cert (overall package) | - | | | encryption algorithm. | - | | | -m \| --key-len keyLength | - | | | Specify the desired | - | | | length of the symmetric key to | - | | | be used to | - | | | encrypt the private | - | | | key. | - | | | -n \| --cert-key-len | - | | | certKeyLength | - | | | Specify the desired | - | | | length of the symmetric key to | - | | | be used to | - | | | encrypt the | - | | | certificates and other | - | | | meta-data. | - | | | -r | - | | | Dumps all of the | - | | | data in raw (binary) form. | - | | | This must be saved as | - | | | a DER file. The | - | | | default is to return | - | | | information in a pretty-print | - | | | ASCII format, which | - | | | displays the information about | - | | | the | - | | | certificates and | - | | | public keys in the p12 file. | - | | | Return Codes | - | | | o 0 - No error | - | | | o 1 - User Cancelled | - | | | o 2 - Usage error | - | | | o 6 - NLS init error | - | | | o 8 - Certificate DB open | - | | | error | - | | | o 9 - Key DB open error | - | | | o 10 - File | - | | | initialization error | - | | | o 11 - Unicode conversion | - | | | error | - | | | o 12 - Temporary file | - | | | creation error | - | | | o 13 - PKCS11 get slot | - | | | error | - | | | o 14 - PKCS12 decoder | - | | | start error | - | | | o 15 - error read from | - | | | import file | - | | | o 16 - pkcs12 decode | - | | | error | - | | | o 17 - pkcs12 decoder | - | | | verify error | - | | | o 18 - pkcs12 decoder | - | | | validate bags error | - | | | o 19 - pkcs12 decoder | - | | | import bags error | - | | | o 20 - key db conversion | - | | | version 3 to version 2 error | - | | | o 21 - cert db conversion | - | | | version 7 to version 5 error | - | | | o 22 - cert and key dbs | - | | | patch error | - | | | o 23 - get default cert | - | | | db error | - | | | o 24 - find cert by | - | | | nickname error | - | | | o 25 - create export | - | | | context error | - | | | o 26 - PKCS12 add | - | | | password itegrity error | - | | | o 27 - cert and key Safes | - | | | creation error | - | | | o 28 - PKCS12 add cert | - | | | and key error | - | | | o 29 - PKCS12 encode | - | | | error | - | | | Examples | - | | | Importing Keys and | - | | | Certificates | - | | | The most basic usage of | - | | | pk12util for importing a | - | | | certificate or key is the | - | | | PKCS#12 input file (-i) and | - | | | some way to specify the | - | | | security database | - | | | being accessed (either -d | - | | | for a directory or -h for a | - | | | token). | - | | | pk12util -i p12File [-h | - | | | tokenname] [-v] [-d | - | | | [sql:]directory] [-P dbprefix] | - | | | [-k slotPasswordFile|-K | - | | | slotPassword] [-w | - | | | p12filePasswordFile|-W | - | | | p12filePassword] | - | | | For example: | - | | | # pk12util -i | - | | | /tmp/cert-files/users.p12 -d | - | | | sql:/home/my/sharednssdb | - | | | Enter a password which will | - | | | be used to encrypt your keys. | - | | | The password should be at | - | | | least 8 characters long, | - | | | and should contain at least | - | | | one non-alphabetic character. | - | | | Enter new password: | - | | | Re-enter password: | - | | | Enter password for PKCS12 | - | | | file: | - | | | pk12util: PKCS12 IMPORT | - | | | SUCCESSFUL | - | | | Exporting Keys and | - | | | Certificates | - | | | Using the pk12util command | - | | | to export certificates and | - | | | keys requires both | - | | | the name of the certificate | - | | | to extract from the database | - | | | (-n) and the | - | | | PKCS#12-formatted output | - | | | file to write to. There are | - | | | optional parameters | - | | | that can be used to encrypt | - | | | the file to protect the | - | | | certificate material. | - | | | pk12util -o p12File -n | - | | | certname [-c keyCipher] [-C | - | | | certCipher] [-m|--key_len | - | | | keyLen] [-n|--cert_key_len | - | | | certKeyLen] [-d | - | | | [sql:]directory] [-P dbprefix] | - | | | [-k slotPasswordFile|-K | - | | | slotPassword] [-w | - | | | p12filePasswordFile|-W | - | | | p12filePassword] | - | | | For example: | - | | | # pk12util -o certs.p12 -n | - | | | Server-Cert -d | - | | | sql:/home/my/sharednssdb | - | | | Enter password for PKCS12 | - | | | file: | - | | | Re-enter password: | - | | | Listing Keys and | - | | | Certificates | - | | | The information in a .p12 | - | | | file are not human-readable. | - | | | The certificates | - | | | and keys in the file can be | - | | | printed (listed) in a | - | | | human-readable | - | | | pretty-print format that | - | | | shows information for every | - | | | certificate and any | - | | | public keys in the .p12 | - | | | file. | - | | | pk12util -l p12File [-h | - | | | tokenname] [-r] [-d | - | | | [sql:]directory] [-P dbprefix] | - | | | [-k slotPasswordFile|-K | - | | | slotPassword] [-w | - | | | p12filePasswordFile|-W | - | | | p12filePassword] | - | | | For example, this prints | - | | | the default ASCII output: | - | | | # pk12util -l certs.p12 | - | | | Enter password for PKCS12 | - | | | file: | - | | | Key(shrouded): | - | | | Friendly Name: Thawte | - | | | Freemail Member's Thawte | - | | | Consulting (Pty) Ltd. ID | - | | | Encryption algorithm: | - | | | PKCS #12 V2 PBE With SHA-1 And | - | | | 3KEY Triple DES-CBC | - | | | Parameters: | - | | | Salt: | - | | | | - | | | 45:2e:6a:a0:03:4d | - | | | :7b:a1:63:3c:15:ea:67:37:62:1f | - | | | Iteration Count: | - | | | 1 (0x1) | - | | | Certificate: | - | | | Data: | - | | | Version: 3 (0x2) | - | | | Serial Number: 13 | - | | | (0xd) | - | | | Signature Algorithm: | - | | | PKCS #1 SHA-1 With RSA | - | | | Encryption | - | | | Issuer: | - | | | "E=personal | - | | | -freemail@thawte.com,CN=Thawte | - | | | Personal Freemail C | - | | | | - | | | A,OU=Certification Services | - | | | Division,O=Thawte | - | | | Consulting,L=Cape T | - | | | own,ST=Western | - | | | Cape,C=ZA" | - | | | .... | - | | | Alternatively, the -r | - | | | prints the certificates and | - | | | then exports them into | - | | | separate DER binary files. | - | | | This allows the certificates | - | | | to be fed to | - | | | another application that | - | | | supports .p12 files. Each | - | | | certificate is written | - | | | to a sequentially-number | - | | | file, beginning with | - | | | file0001.der and continuing | - | | | through file000N.der, | - | | | incrementing the number for | - | | | every certificate: | - | | | # pk12util -l test.p12 -r | - | | | Enter password for PKCS12 | - | | | file: | - | | | Key(shrouded): | - | | | Friendly Name: Thawte | - | | | Freemail Member's Thawte | - | | | Consulting (Pty) Ltd. ID | - | | | Encryption algorithm: | - | | | PKCS #12 V2 PBE With SHA-1 And | - | | | 3KEY Triple DES-CBC | - | | | Parameters: | - | | | Salt: | - | | | | - | | | 45:2e:6a:a0:03:4d | - | | | :7b:a1:63:3c:15:ea:67:37:62:1f | - | | | Iteration Count: | - | | | 1 (0x1) | - | | | Certificate Friendly Name: | - | | | Thawte Personal Freemail | - | | | Issuing CA - Thawte Consulting | - | | | Certificate Friendly Name: | - | | | Thawte Freemail Member's | - | | | Thawte Consulting (Pty) Ltd. | - | | | ID | - | | | Password Encryption | - | | | PKCS#12 provides for not | - | | | only the protection of the | - | | | private keys but also | - | | | the certificate and | - | | | meta-data associated with the | - | | | keys. Password-based | - | | | encryption is used to | - | | | protect private keys on export | - | | | to a PKCS#12 file | - | | | and, optionally, the entire | - | | | package. If no algorithm is | - | | | specified, the | - | | | tool defaults to using | - | | | PKCS12 V2 PBE with SHA1 and | - | | | 3KEY Triple DES-cbc for | - | | | private key encryption. | - | | | PKCS12 V2 PBE with SHA1 and 40 | - | | | Bit RC4 is the | - | | | default for the overall | - | | | package encryption when not in | - | | | FIPS mode. When in | - | | | FIPS mode, there is no | - | | | package encryption. | - | | | The private key is always | - | | | protected with strong | - | | | encryption by default. | - | | | Several types of ciphers | - | | | are supported. | - | | | Symmetric CBC ciphers for | - | | | PKCS#5 V2 | - | | | DES_CBC | - | | | o RC2-CBC | - | | | o RC5-CBCPad | - | | | o DES-EDE3-CBC | - | | | (the default for key | - | | | encryption) | - | | | o AES-128-CBC | - | | | o AES-192-CBC | - | | | o AES-256-CBC | - | | | | - | | | o CAMELLIA-128-CBC | - | | | | - | | | o CAMELLIA-192-CBC | - | | | | - | | | o CAMELLIA-256-CBC | - | | | PKCS#12 PBE ciphers | - | | | PKCS #12 PBE with | - | | | Sha1 and 128 Bit RC4 | - | | | o PKCS #12 PBE | - | | | with Sha1 and 40 Bit RC4 | - | | | o PKCS #12 PBE | - | | | with Sha1 and Triple DES CBC | - | | | o PKCS #12 PBE | - | | | with Sha1 and 128 Bit RC2 CBC | - | | | o PKCS #12 PBE | - | | | with Sha1 and 40 Bit RC2 CBC | - | | | o PKCS12 V2 PBE | - | | | with SHA1 and 128 Bit RC4 | - | | | o PKCS12 V2 PBE | - | | | with SHA1 and 40 Bit RC4 (the | - | | | default for | - | | | non-FIPS mode) | - | | | o PKCS12 V2 PBE | - | | | with SHA1 and 3KEY Triple | - | | | DES-cbc | - | | | o PKCS12 V2 PBE | - | | | with SHA1 and 2KEY Triple | - | | | DES-cbc | - | | | o PKCS12 V2 PBE | - | | | with SHA1 and 128 Bit RC2 CBC | - | | | o PKCS12 V2 PBE | - | | | with SHA1 and 40 Bit RC2 CBC | - | | | PKCS#5 PBE ciphers | - | | | PKCS #5 Password | - | | | Based Encryption with MD2 and | - | | | DES CBC | - | | | o PKCS #5 | - | | | Password Based Encryption with | - | | | MD5 and DES CBC | - | | | o PKCS #5 | - | | | Password Based Encryption with | - | | | SHA1 and DES CBC | - | | | With PKCS#12, the crypto | - | | | provider may be the soft token | - | | | module or an | - | | | external hardware module. | - | | | If the cryptographic module | - | | | does not support the | - | | | requested algorithm, then | - | | | the next best fit will be | - | | | selected (usually the | - | | | default). If no suitable | - | | | replacement for the desired | - | | | algorithm can be | - | | | found, the tool returns the | - | | | error no security module can | - | | | perform the | - | | | requested operation. | - | | | NSS Database Types | - | | | NSS originally used | - | | | BerkeleyDB databases to store | - | | | security information. | - | | | The last versions of these | - | | | legacy databases are: | - | | | o cert8.db for | - | | | certificates | - | | | o key3.db for keys | - | | | o secmod.db for PKCS #11 | - | | | module information | - | | | BerkeleyDB has performance | - | | | limitations, though, which | - | | | prevent it from | - | | | being easily used by | - | | | multiple applications | - | | | simultaneously. NSS has some | - | | | flexibility that allows | - | | | applications to use their own, | - | | | independent | - | | | database engine while | - | | | keeping a shared database and | - | | | working around the | - | | | access issues. Still, NSS | - | | | requires more flexibility to | - | | | provide a truly | - | | | shared security database. | - | | | In 2009, NSS introduced a | - | | | new set of databases that are | - | | | SQLite databases | - | | | rather than BerkleyDB. | - | | | These new databases provide | - | | | more accessibility and | - | | | performance: | - | | | o cert9.db for | - | | | certificates | - | | | o key4.db for keys | - | | | o pkcs11.txt, which is | - | | | listing of all of the PKCS #11 | - | | | modules contained | - | | | in a new subdirectory | - | | | in the security databases | - | | | directory | - | | | Because the SQLite | - | | | databases are designed to be | - | | | shared, these are the | - | | | shared database type. The | - | | | shared database type is | - | | | preferred; the legacy | - | | | format is included for | - | | | backward compatibility. | - | | | By default, the tools | - | | | (certutil, pk12util, modutil) | - | | | assume that the given | - | | | security databases follow | - | | | the more common legacy type. | - | | | Using the SQLite | - | | | databases must be manually | - | | | specified by using the sql: | - | | | prefix with the | - | | | given security directory. | - | | | For example: | - | | | # pk12util -i | - | | | /tmp/cert-files/users.p12 -d | - | | | sql:/home/my/sharednssdb | - | | | To set the shared database | - | | | type as the default type for | - | | | the tools, set the | - | | | NSS_DEFAULT_DB_TYPE | - | | | environment variable to sql: | - | | | export | - | | | NSS_DEFAULT_DB_TYPE="sql" | - | | | This line can be set added | - | | | to the ~/.bashrc file to make | - | | | the change | - | | | permanent. | - | | | Most applications do not | - | | | use the shared database by | - | | | default, but they can | - | | | be configured to use them. | - | | | For example, this how-to | - | | | article covers how to | - | | | configure Firefox and | - | | | Thunderbird to use the new | - | | | shared NSS databases: | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | For an engineering draft on | - | | | the changes in the shared NSS | - | | | databases, see | - | | | the NSS project wiki: | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | See Also | - | | | certutil (1) | - | | | modutil (1) | - | | | The NSS wiki has | - | | | information on the new | - | | | database design and how to | - | | | configure applications to | - | | | use it. | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | Additional Resources | - | | | For information about NSS | - | | | and other tools related to NSS | - | | | (like JSS), check | - | | | out the NSS project wiki at | - | | | | - | | | [1]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | https://lists.mozill | - | | | a.org/listinfo/dev-tech-crypto | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape, Red | - | | | Hat, and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 355 | :ref:`mozill | | - | | a_projects_nss_tools_signtool` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | signtool — Digitally sign | - | | | objects and files. | - | | | Synopsis | - | | | signtool [-k keyName] | - | | | `-h <-h>`__ `-H <-H>`__ | - | | | `-l <-l>`__ `-L <-L>`__ | - | | | `-M <-M>`__ `-v <-v>`__ | - | | | `-w <-w>`__ | - | | | `-G | - | | | nickname <-G_nickname>`__ `-s | - | | | size <--keysize>`__ `-b | - | | | basename <-b_basename>`__ [[-c | - | | | Compression | - | | | Level] ] [[-d cert-dir] ] | - | | | [[-i installer script] ] [[-m | - | | | metafile] ] [[-x | - | | | name] ] [[-f filename] ] | - | | | [[-t|--token tokenname] ] [[-e | - | | | extension] ] [[-o] | - | | | ] [[-z] ] [[-X] ] | - | | | [[--outfile] ] [[--verbose | - | | | value] ] [[--norecurse] ] | - | | | [[--leavearc] ] [[-j | - | | | directory] ] [[-Z jarfile] ] | - | | | [[-O] ] [[-p password] ] | - | | | [directory-tree] [archive] | - | | | Description | - | | | The Signing Tool, signtool, | - | | | creates digital signatures and | - | | | uses a Java | - | | | Archive (JAR) file to | - | | | associate the signatures with | - | | | files in a directory. | - | | | Electronic software | - | | | distribution over any network | - | | | involves potential | - | | | security problems. To help | - | | | address some of these | - | | | problems, you can | - | | | associate digital | - | | | signatures with the files in a | - | | | JAR archive. Digital | - | | | signatures allow | - | | | SSL-enabled clients to perform | - | | | two important operations: | - | | | \* Confirm the identity of | - | | | the individual, company, or | - | | | other entity whose | - | | | digital signature is | - | | | associated with the files | - | | | \* Check whether the files | - | | | have been tampered with since | - | | | being signed | - | | | If you have a signing | - | | | certificate, you can use | - | | | Netscape Signing Tool to | - | | | digitally sign files and | - | | | package them as a JAR file. An | - | | | object-signing | - | | | certificate is a special | - | | | kind of certificate that | - | | | allows you to associate | - | | | your digital signature with | - | | | one or more files. | - | | | An individual file can | - | | | potentially be signed with | - | | | multiple digital | - | | | signatures. For example, a | - | | | commercial software developer | - | | | might sign the | - | | | files that constitute a | - | | | software product to prove that | - | | | the files are | - | | | indeed from a particular | - | | | company. A network | - | | | administrator manager might | - | | | sign the same files with an | - | | | additional digital signature | - | | | based on a | - | | | company-generated | - | | | certificate to indicate that | - | | | the product is approved for | - | | | use within the company. | - | | | The significance of a | - | | | digital signature is | - | | | comparable to the significance | - | | | of a handwritten signature. | - | | | Once you have signed a file, | - | | | it is difficult | - | | | to claim later that you | - | | | didn't sign it. In some | - | | | situations, a digital | - | | | signature may be considered | - | | | as legally binding as a | - | | | handwritten signature. | - | | | Therefore, you should take | - | | | great care to ensure that you | - | | | can stand behind | - | | | any file you sign and | - | | | distribute. | - | | | For example, if you are a | - | | | software developer, you should | - | | | test your code to | - | | | make sure it is virus-free | - | | | before signing it. Similarly, | - | | | if you are a | - | | | network administrator, you | - | | | should make sure, before | - | | | signing any code, that | - | | | it comes from a reliable | - | | | source and will run correctly | - | | | with the software | - | | | installed on the machines | - | | | to which you are distributing | - | | | it. | - | | | Before you can use Netscape | - | | | Signing Tool to sign files, | - | | | you must have an | - | | | object-signing certificate, | - | | | which is a special certificate | - | | | whose | - | | | associated private key is | - | | | used to create digital | - | | | signatures. For testing | - | | | purposes only, you can | - | | | create an object-signing | - | | | certificate with Netscape | - | | | Signing Tool 1.3. When | - | | | testing is finished and you | - | | | are ready to | - | | | disitribute your software, | - | | | you should obtain an | - | | | object-signing certificate | - | | | from one of two kinds of | - | | | sources: | - | | | \* An independent | - | | | certificate authority (CA) | - | | | that authenticates your | - | | | identity and charges you a | - | | | fee. You typically get a | - | | | certificate from an | - | | | independent CA if you want | - | | | to sign software that will be | - | | | distributed over | - | | | the Internet. | - | | | \* CA server software | - | | | running on your corporate | - | | | intranet or extranet. | - | | | Netscape Certificate | - | | | Management System provides a | - | | | complete management | - | | | solution for creating, | - | | | deploying, and managing | - | | | certificates, including CAs | - | | | that issue object-signing | - | | | certificates. | - | | | You must also have a | - | | | certificate for the CA that | - | | | issues your signing | - | | | certificate before you can | - | | | sign files. If the certificate | - | | | authority's | - | | | certificate isn't already | - | | | installed in your copy of | - | | | Communicator, you | - | | | typically install it by | - | | | clicking the appropriate link | - | | | on the certificate | - | | | authority's web site, for | - | | | example on the page from which | - | | | you initiated | - | | | enrollment for your signing | - | | | certificate. This is the case | - | | | for some test | - | | | certificates, as well as | - | | | certificates issued by | - | | | Netscape Certificate | - | | | Management System: you must | - | | | download the CA certificate in | - | | | addition to | - | | | obtaining your own signing | - | | | certificate. CA certificates | - | | | for several | - | | | certificate authorities are | - | | | preinstalled in the | - | | | Communicator certificate | - | | | database. | - | | | When you receive an | - | | | object-signing certificate for | - | | | your own use, it is | - | | | automatically installed in | - | | | your copy of the Communicator | - | | | client software. | - | | | Communicator supports the | - | | | public-key cryptography | - | | | standard known as PKCS | - | | | #12, which governs key | - | | | portability. You can, for | - | | | example, move an | - | | | object-signing certificate | - | | | and its associated private key | - | | | from one | - | | | computer to another on a | - | | | credit-card-sized device | - | | | called a smart card. | - | | | Options | - | | | -b basename | - | | | Specifies the base | - | | | filename for the .rsa and .sf | - | | | files in the | - | | | META-INF directory | - | | | to conform with the JAR | - | | | format. For example, -b | - | | | signatures causes | - | | | the files to be named | - | | | signatures.rsa and | - | | | signatures.sf. The | - | | | default is signtool. | - | | | -c# | - | | | Specifies the | - | | | compression level for the -J | - | | | or -Z option. The | - | | | symbol # represents | - | | | a number from 0 to 9, where 0 | - | | | means no | - | | | compression and 9 | - | | | means maximum compression. The | - | | | higher the level | - | | | of compression, the | - | | | smaller the output but the | - | | | longer the | - | | | operation takes. If | - | | | the -c# option is not used | - | | | with either the -J | - | | | or the -Z option, | - | | | the default compression value | - | | | used by both the | - | | | -J and -Z options | - | | | is 6. | - | | | -d certdir | - | | | Specifies your | - | | | certificate database | - | | | directory; that is, the | - | | | directory in which | - | | | you placed your key3.db and | - | | | cert7.db files. To | - | | | specify the current | - | | | directory, use "-d." | - | | | (including the period). | - | | | The Unix version of | - | | | signtool assumes ~/.netscape | - | | | unless told | - | | | otherwise. The NT | - | | | version of signtool always | - | | | requires the use of | - | | | the -d option to | - | | | specify where the database | - | | | files are located. | - | | | -e extension | - | | | Tells signtool to | - | | | sign only files with the given | - | | | extension; for | - | | | example, use | - | | | -e".class" to sign only Java | - | | | class files. Note that | - | | | with Netscape | - | | | Signing Tool version 1.1 and | - | | | later this option can | - | | | appear multiple | - | | | times on one command line, | - | | | making it possible to | - | | | specify multiple | - | | | file types or classes to | - | | | include. | - | | | -f commandfile | - | | | Specifies a text | - | | | file containing Netscape | - | | | Signing Tool options and | - | | | arguments in | - | | | keyword=value format. All | - | | | options and arguments can | - | | | be expressed | - | | | through this file. For more | - | | | information about the | - | | | syntax used with | - | | | this file, see "Tips and | - | | | Techniques". | - | | | -i scriptname | - | | | Specifies the name | - | | | of an installer script for | - | | | SmartUpdate. This | - | | | script installs | - | | | files from the JAR archive in | - | | | the local system | - | | | after SmartUpdate | - | | | has validated the digital | - | | | signature. For more | - | | | details, see the | - | | | description of -m that | - | | | follows. The -i option | - | | | provides a | - | | | straightforward way to provide | - | | | this information if you | - | | | don't need to | - | | | specify any metadata other | - | | | than an installer script. | - | | | -j directory | - | | | Specifies a special | - | | | JavaScript directory. This | - | | | option causes the | - | | | specified directory | - | | | to be signed and tags its | - | | | entries as inline | - | | | JavaScript. This | - | | | special type of entry does not | - | | | have to appear in | - | | | the JAR file | - | | | itself. Instead, it is located | - | | | in the HTML page | - | | | containing the | - | | | inline scripts. When you use | - | | | signtool -v, these | - | | | entries are | - | | | displayed with the string NOT | - | | | PRESENT. | - | | | -k key ... directory | - | | | Specifies the | - | | | nickname (key) of the | - | | | certificate you want to sign | - | | | with and signs the | - | | | files in the specified | - | | | directory. The directory | - | | | to sign is always | - | | | specified as the last | - | | | command-line argument. | - | | | Thus, it is | - | | | possible to write signtool -k | - | | | MyCert -d . signdir You | - | | | may have trouble if | - | | | the nickname contains a single | - | | | quotation mark. | - | | | To avoid problems, | - | | | escape the quotation mark | - | | | using the escape | - | | | conventions for | - | | | your platform. It's also | - | | | possible to use the -k | - | | | option without | - | | | signing any files or | - | | | specifying a directory. For | - | | | example, you can | - | | | use it with the -l option to | - | | | get detailed | - | | | information about a | - | | | particular signing | - | | | certificate. | - | | | -G nickname | - | | | Generates a new | - | | | private-public key pair and | - | | | corresponding | - | | | object-signing | - | | | certificate with the given | - | | | nickname. The newly | - | | | generated keys and | - | | | certificate are installed into | - | | | the key and | - | | | certificate | - | | | databases in the directory | - | | | specified by the -d option. | - | | | With the NT version | - | | | of Netscape Signing Tool, you | - | | | must use the -d | - | | | option with the -G | - | | | option. With the Unix version | - | | | of Netscape | - | | | Signing Tool, | - | | | omitting the -d option causes | - | | | the tool to install | - | | | the keys and | - | | | certificate in the | - | | | Communicator key and | - | | | certificate | - | | | databases. If you | - | | | are installing the keys and | - | | | certificate in the | - | | | Communicator | - | | | databases, you must exit | - | | | Communicator before using | - | | | this option; | - | | | otherwise, you risk corrupting | - | | | the databases. In all | - | | | cases, the | - | | | certificate is also output to | - | | | a file named x509.cacert, | - | | | which has the | - | | | MIME-type | - | | | application/x-x509-ca-cert. | - | | | Unlike | - | | | certificates | - | | | normally used to sign finished | - | | | code to be distributed | - | | | over a network, a | - | | | test certificate created with | - | | | -G is not signed | - | | | by a recognized | - | | | certificate authority. | - | | | Instead, it is self-signed. | - | | | In addition, a | - | | | single test signing | - | | | certificate functions as both | - | | | an object-signing | - | | | certificate and a CA. When you | - | | | are using it to | - | | | sign objects, it | - | | | behaves like an object-signing | - | | | certificate. When | - | | | it is imported into | - | | | browser software such as | - | | | Communicator, it | - | | | behaves like an | - | | | object-signing CA and cannot | - | | | be used to sign | - | | | objects. The -G | - | | | option is available in | - | | | Netscape Signing Tool 1.0 | - | | | and later versions | - | | | only. By default, it produces | - | | | only RSA | - | | | certificates with | - | | | 1024-byte keys in the internal | - | | | token. However, | - | | | you can use the -s | - | | | option specify the required | - | | | key size and the -t | - | | | option to specify | - | | | the token. For more | - | | | information about the use of | - | | | the -G option, see | - | | | "Generating Test | - | | | Object-Signing | - | | | | - | | | Certificates""Generating Test | - | | | Object-Signing Certificates" | - | | | on page | - | | | 1241. | - | | | -l | - | | | Lists signing | - | | | certificates, including | - | | | issuing CAs. If any of your | - | | | certificates are | - | | | expired or invalid, the list | - | | | will so specify. | - | | | This option can be | - | | | used with the -k option to | - | | | list detailed | - | | | information about a | - | | | particular signing | - | | | certificate. The -l option | - | | | is available in | - | | | Netscape Signing Tool 1.0 and | - | | | later versions only. | - | | | -J | - | | | Signs a directory | - | | | of HTML files containing | - | | | JavaScript and creates | - | | | as many archive | - | | | files as are specified in the | - | | | HTML tags. Even if | - | | | signtool creates | - | | | more than one archive file, | - | | | you need to supply | - | | | the key database | - | | | password only once. The -J | - | | | option is available | - | | | only in Netscape | - | | | Signing Tool 1.0 and later | - | | | versions. The -J | - | | | option cannot be | - | | | used at the same time as the | - | | | -Z option. If the | - | | | -c# option is not | - | | | used with the -J option, the | - | | | default compression | - | | | value is 6. Note | - | | | that versions 1.1 and later of | - | | | Netscape Signing | - | | | Tool correctly | - | | | recognizes the CODEBASE | - | | | attribute, allows paths to | - | | | be expressed for | - | | | the CLASS and SRC attributes | - | | | instead of filenames | - | | | only, processes | - | | | LINK tags and parses HTML | - | | | correctly, and offers | - | | | clearer error | - | | | messages. | - | | | -L | - | | | Lists the | - | | | certificates in your database. | - | | | An asterisk appears to | - | | | the left of the | - | | | nickname for any certificate | - | | | that can be used to | - | | | sign objects with | - | | | signtool. | - | | | --leavearc | - | | | Retains the | - | | | temporary .arc (archive) | - | | | directories that the -J | - | | | option creates. | - | | | These directories are | - | | | automatically erased by | - | | | default. Retaining | - | | | the temporary directories can | - | | | be an aid to | - | | | debugging. | - | | | -m metafile | - | | | Specifies the name | - | | | of a metadata control file. | - | | | Metadata is signed | - | | | information | - | | | attached either to the JAR | - | | | archive itself or to files | - | | | within the archive. | - | | | This metadata can be any ASCII | - | | | string, but is | - | | | used mainly for | - | | | specifying an installer | - | | | script. The metadata file | - | | | contains one entry | - | | | per line, each with three | - | | | fields: field #1: | - | | | file specification, | - | | | or + if you want to specify | - | | | global metadata | - | | | (that is, metadata | - | | | about the JAR archive itself | - | | | or all entries in | - | | | the archive) field | - | | | #2: the name of the data you | - | | | are specifying; | - | | | for example: | - | | | Install-Script field #3: data | - | | | corresponding to the | - | | | name in field #2 | - | | | For example, the -i option | - | | | uses the equivalent of | - | | | this line: + | - | | | Install-Script: script.js This | - | | | example associates a | - | | | MIME type with a | - | | | file: movie.qt MIME-Type: | - | | | video/quicktime For | - | | | information about | - | | | the way installer script | - | | | information appears in | - | | | the manifest file | - | | | for a JAR archive, see The JAR | - | | | Format on | - | | | Netscape DevEdge. | - | | | -M | - | | | Lists the PKCS #11 | - | | | modules available to signtool, | - | | | including smart | - | | | cards. The -M | - | | | option is available in | - | | | Netscape Signing Tool 1.0 and | - | | | later versions | - | | | only. For information on using | - | | | Netscape Signing | - | | | Tool with smart | - | | | cards, see "Using Netscape | - | | | Signing Tool with Smart | - | | | Cards". For | - | | | information on using the -M | - | | | option to verify | - | | | FIPS-140-1 | - | | | validated mode, see "Netscape | - | | | Signing Tool and | - | | | FIPS-140-1". | - | | | --norecurse | - | | | Blocks recursion | - | | | into subdirectories when | - | | | signing a directory's | - | | | contents or when | - | | | parsing HTML. | - | | | -o | - | | | Optimizes the | - | | | archive for size. Use this | - | | | only if you are signing | - | | | very large archives | - | | | containing hundreds of files. | - | | | This option | - | | | makes the manifest | - | | | files (required by the JAR | - | | | format) considerably | - | | | smaller, but they | - | | | contain slightly less | - | | | information. | - | | | --outfile outputfile | - | | | Specifies a file to | - | | | receive redirected output from | - | | | Netscape | - | | | Signing Tool. | - | | | -p password | - | | | Specifies a | - | | | password for the private-key | - | | | database. Note that the | - | | | password entered on | - | | | the command line is displayed | - | | | as plain text. | - | | | -s keysize | - | | | Specifies the size | - | | | of the key for generated | - | | | certificate. Use the | - | | | -M option to find | - | | | out what tokens are available. | - | | | The -s option can | - | | | be used with the -G | - | | | option only. | - | | | -t token | - | | | Specifies which | - | | | available token should | - | | | generate the key and | - | | | receive the | - | | | certificate. Use the -M option | - | | | to find out what tokens | - | | | are available. The | - | | | -t option can be used with the | - | | | -G option only. | - | | | -v archive | - | | | Displays the | - | | | contents of an archive and | - | | | verifies the cryptographic | - | | | integrity of the | - | | | digital signatures it contains | - | | | and the files with | - | | | which they are | - | | | associated. This includes | - | | | checking that the | - | | | certificate for the | - | | | issuer of the object-signing | - | | | certificate is | - | | | listed in the | - | | | certificate database, that the | - | | | CA's digital | - | | | signature on the | - | | | object-signing certificate is | - | | | valid, that the | - | | | relevant | - | | | certificates have not expired, | - | | | and so on. | - | | | --verbosity value | - | | | Sets the quantity | - | | | of information Netscape | - | | | Signing Tool generates | - | | | in operation. A | - | | | value of 0 (zero) is the | - | | | default and gives full | - | | | information. A | - | | | value of -1 suppresses most | - | | | messages, but not error | - | | | messages. | - | | | -w archive | - | | | Displays the names | - | | | of signers of any files in the | - | | | archive. | - | | | -x directory | - | | | Excludes the | - | | | specified directory from | - | | | signing. Note that with | - | | | Netscape Signing | - | | | Tool version 1.1 and later | - | | | this option can appear | - | | | multiple times on | - | | | one command line, making it | - | | | possible to specify | - | | | several particular | - | | | directories to exclude. | - | | | -z | - | | | Tells signtool not | - | | | to store the signing time in | - | | | the digital | - | | | signature. This | - | | | option is useful if you want | - | | | the expiration date | - | | | of the signature | - | | | checked against the current | - | | | date and time rather | - | | | than the time the | - | | | files were signed. | - | | | -Z jarfile | - | | | Creates a JAR file | - | | | with the specified name. You | - | | | must specify this | - | | | option if you want | - | | | signtool to create the JAR | - | | | file; it does not do | - | | | so automatically. | - | | | If you don't specify -Z, you | - | | | must use an | - | | | external ZIP tool | - | | | to create the JAR file. The -Z | - | | | option cannot be | - | | | used at the same | - | | | time as the -J option. If the | - | | | -c# option is not | - | | | used with the -Z | - | | | option, the default | - | | | compression value is 6. | - | | | The Command File Format | - | | | Entries in a Netscape | - | | | Signing Tool command file have | - | | | this general format: | - | | | keyword=value Everything | - | | | before the = sign on a single | - | | | line is a keyword, | - | | | and everything from the = | - | | | sign to the end of line is a | - | | | value. The value | - | | | may include = signs; only | - | | | the first = sign on a line is | - | | | interpreted. Blank | - | | | lines are ignored, but | - | | | white space on a line with | - | | | keywords and values is | - | | | assumed to be part of the | - | | | keyword (if it comes before | - | | | the equal sign) or | - | | | part of the value (if it | - | | | comes after the first equal | - | | | sign). Keywords are | - | | | case insensitive, values | - | | | are generally case sensitive. | - | | | Since the = sign | - | | | and newline delimit the | - | | | value, it should not be | - | | | quoted. | - | | | Subsection | - | | | basename | - | | | Same as -b option. | - | | | compression | - | | | Same as -c option. | - | | | certdir | - | | | Same as -d option. | - | | | extension | - | | | Same as -e option. | - | | | generate | - | | | Same as -G option. | - | | | installscript | - | | | Same as -i option. | - | | | javascriptdir | - | | | Same as -j option. | - | | | htmldir | - | | | Same as -J option. | - | | | certname | - | | | Nickname of | - | | | certificate, as with -k and -l | - | | | -k options. | - | | | signdir | - | | | The directory to be | - | | | signed, as with -k option. | - | | | list | - | | | Same as -l option. | - | | | Value is ignored, but = sign | - | | | must be present. | - | | | listall | - | | | Same as -L option. | - | | | Value is ignored, but = sign | - | | | must be present. | - | | | metafile | - | | | Same as -m option. | - | | | modules | - | | | Same as -M option. | - | | | Value is ignored, but = sign | - | | | must be present. | - | | | optimize | - | | | Same as -o option. | - | | | Value is ignored, but = sign | - | | | must be present. | - | | | password | - | | | Same as -p option. | - | | | keysize | - | | | Same as -s option. | - | | | token | - | | | Same as -t option. | - | | | verify | - | | | Same as -v option. | - | | | who | - | | | Same as -w option. | - | | | exclude | - | | | Same as -x option. | - | | | notime | - | | | Same as -z option. | - | | | value is ignored, but = sign | - | | | must be present. | - | | | jarfile | - | | | Same as -Z option. | - | | | outfile | - | | | Name of a file to | - | | | which output and error | - | | | messages will be | - | | | redirected. This | - | | | option has no command-line | - | | | equivalent. | - | | | Extended Examples | - | | | The following example will | - | | | do this and that | - | | | Listing Available Signing | - | | | Certificates | - | | | You use the -L option to | - | | | list the nicknames for all | - | | | available certificates | - | | | and check which ones are | - | | | signing certificates. | - | | | signtool -L | - | | | using certificate directory: | - | | | /u/jsmith/.netscape | - | | | S Certificates | - | | | - ------------ | - | | | BBN Certificate Services CA | - | | | Root 1 | - | | | IBM World Registry CA | - | | | VeriSign Class 1 CA - | - | | | Individual Subscriber - | - | | | VeriSign, Inc. | - | | | GTE CyberTrust Root CA | - | | | Uptime Group Plc. Class 4 | - | | | CA | - | | | \* Verisign Object Signing | - | | | Cert | - | | | Integrion CA | - | | | GTE CyberTrust Secure | - | | | Server CA | - | | | AT&T Directory Services | - | | | \* test object signing cert | - | | | Uptime Group Plc. Class 1 | - | | | CA | - | | | VeriSign Class 1 Primary CA | - | | | - ------------ | - | | | Certificates that can be used | - | | | to sign objects have \*'s to | - | | | their left. | - | | | Two signing certificates | - | | | are displayed: Verisign Object | - | | | Signing Cert and | - | | | test object signing cert. | - | | | You use the -l option to | - | | | get a list of signing | - | | | certificates only, | - | | | including the signing CA | - | | | for each. | - | | | signtool -l | - | | | using certificate directory: | - | | | /u/jsmith/.netscape | - | | | Object signing certificates | - | | | --------- | - | | | ------------------------------ | - | | | Verisign Object Signing Cert | - | | | Issued by: VeriSign, Inc. | - | | | - Verisign, Inc. | - | | | Expires: Tue May 19, 1998 | - | | | test object signing cert | - | | | Issued by: test object | - | | | signing cert (Signtool 1.0 | - | | | Testing | - | | | Certificate (960187691)) | - | | | Expires: Sun May 17, 1998 | - | | | --------- | - | | | ------------------------------ | - | | | For a list including CAs, | - | | | use the -L option. | - | | | Signing a File | - | | | 1. Create an empty | - | | | directory. | - | | | mkdir signdir | - | | | 2. Put some file into it. | - | | | echo boo > signdir/test.f | - | | | 3. Specify the name of your | - | | | object-signing certificate and | - | | | sign the | - | | | directory. | - | | | signtool -k MySignCert -Z | - | | | testjar.jar signdir | - | | | using key "MySignCert" | - | | | using certificate directory: | - | | | /u/jsmith/.netscape | - | | | Generating | - | | | signdir/META-INF/manifest.mf | - | | | file.. | - | | | --> test.f | - | | | adding signdir/test.f to | - | | | testjar.jar | - | | | Generating signtool.sf file.. | - | | | Enter Password or Pin for | - | | | "Communicator Certificate DB": | - | | | adding | - | | | signdir/META-INF/manifest.mf | - | | | to testjar.jar | - | | | adding | - | | | signdir/META-INF/signtool.sf | - | | | to testjar.jar | - | | | adding | - | | | signdir/META-INF/signtool.rsa | - | | | to testjar.jar | - | | | tree "signdir" signed | - | | | successfully | - | | | 4. Test the archive you | - | | | just created. | - | | | signtool -v testjar.jar | - | | | using certificate directory: | - | | | /u/jsmith/.netscape | - | | | archive "testjar.jar" has | - | | | passed crypto verification. | - | | | status path | - | | | ------------ | - | | | ------------------- | - | | | verified test.f | - | | | Using Netscape Signing Tool | - | | | with a ZIP Utility | - | | | To use Netscape Signing | - | | | Tool with a ZIP utility, you | - | | | must have the utility | - | | | in your path environment | - | | | variable. You should use the | - | | | zip.exe utility | - | | | rather than pkzip.exe, | - | | | which cannot handle long | - | | | filenames. You can use a | - | | | ZIP utility instead of the | - | | | -Z option to package a signed | - | | | archive into a | - | | | JAR file after you have | - | | | signed it: | - | | | cd signdir | - | | | zip -r ../myjar.jar \* | - | | | adding: META-INF/ (stored | - | | | 0%) | - | | | adding: | - | | | META-INF/manifest.mf (deflated | - | | | 15%) | - | | | adding: | - | | | META-INF/signtool.sf (deflated | - | | | 28%) | - | | | adding: | - | | | META-INF/signtool.rsa (stored | - | | | 0%) | - | | | adding: text.txt (stored | - | | | 0%) | - | | | Generating the Keys and | - | | | Certificate | - | | | The signtool option -G | - | | | generates a new public-private | - | | | key pair and | - | | | certificate. It takes the | - | | | nickname of the new | - | | | certificate as an argument. | - | | | The newly generated keys | - | | | and certificate are installed | - | | | into the key and | - | | | certificate databases in | - | | | the directory specified by the | - | | | -d option. With | - | | | the NT version of Netscape | - | | | Signing Tool, you must use the | - | | | -d option with | - | | | the -G option. With the | - | | | Unix version of Netscape | - | | | Signing Tool, omitting | - | | | the -d option causes the | - | | | tool to install the keys and | - | | | certificate in the | - | | | Communicator key and | - | | | certificate databases. In all | - | | | cases, the certificate | - | | | is also output to a file | - | | | named x509.cacert, which has | - | | | the MIME-type | - | | | application/x-x509-ca-cert. | - | | | Certificates contain | - | | | standard information about the | - | | | entity they identify, | - | | | such as the common name and | - | | | organization name. Netscape | - | | | Signing Tool | - | | | prompts you for this | - | | | information when you run the | - | | | command with the -G | - | | | option. However, all of the | - | | | requested fields are optional | - | | | for test | - | | | certificates. If you do not | - | | | enter a common name, the tool | - | | | provides a | - | | | default name. In the | - | | | following example, the user | - | | | input is in boldface: | - | | | signtool -G MyTestCert | - | | | using certificate directory: | - | | | /u/someuser/.netscape | - | | | Enter certificate | - | | | information. All fields are | - | | | optional. Acceptable | - | | | characters are numbers, | - | | | letters, spaces, and | - | | | apostrophes. | - | | | certificate common name: Test | - | | | Object Signing Certificate | - | | | organization: Netscape | - | | | Communications Corp. | - | | | organization unit: Server | - | | | Products Division | - | | | state or province: California | - | | | country (must be exactly 2 | - | | | characters): US | - | | | username: someuser | - | | | email address: | - | | | someuser@netscape.com | - | | | Enter Password or Pin for | - | | | "Communicator Certificate DB": | - | | | [Password will not echo] | - | | | generated public/private key | - | | | pair | - | | | certificate request generated | - | | | certificate has been signed | - | | | certificate "MyTestCert" | - | | | added to database | - | | | Exported certificate to | - | | | x509.raw and x509.cacert. | - | | | The certificate information | - | | | is read from standard input. | - | | | Therefore, the | - | | | information can be read | - | | | from a file using the | - | | | redirection operator (<) in | - | | | some operating systems. To | - | | | create a file for this | - | | | purpose, enter each of | - | | | the seven input fields, in | - | | | order, on a separate line. | - | | | Make sure there is a | - | | | newline character at the | - | | | end of the last line. Then run | - | | | signtool with | - | | | standard input redirected | - | | | from your file as follows: | - | | | signtool -G MyTestCert | - | | | inputfile | - | | | The prompts show up on the | - | | | screen, but the responses will | - | | | be automatically | - | | | read from the file. The | - | | | password will still be read | - | | | from the console | - | | | unless you use the -p | - | | | option to give the password on | - | | | the command line. | - | | | Using the -M Option to List | - | | | Smart Cards | - | | | You can use the -M option | - | | | to list the PKCS #11 modules, | - | | | including smart | - | | | cards, that are available | - | | | to signtool: | - | | | signtool -d | - | | | "c:\netscape\users\jsmith" -M | - | | | using certificate directory: | - | | | c:\netscape\users\username | - | | | Listing of PKCS11 modules | - | | | ----------------- | - | | | ------------------------------ | - | | | 1. Netscape Internal | - | | | PKCS #11 Module | - | | | | - | | | (this module is internally | - | | | loaded) | - | | | | - | | | slots: 2 slots attached | - | | | | - | | | status: loaded | - | | | slot: Communicator | - | | | Internal Cryptographic | - | | | Services Version 4.0 | - | | | token: Communicator | - | | | Generic Crypto Svcs | - | | | slot: Communicator | - | | | User Private Key and | - | | | Certificate Services | - | | | token: Communicator | - | | | Certificate DB | - | | | 2. CryptOS | - | | | | - | | | (this is an external module) | - | | | DLL name: core32 | - | | | slots: 1 slots | - | | | attached | - | | | status: loaded | - | | | slot: Litronic 210 | - | | | token: | - | | | | - | | | ----------------- | - | | | ------------------------------ | - | | | Using Netscape Signing Tool | - | | | and a Smart Card to Sign Files | - | | | The signtool command | - | | | normally takes an argument of | - | | | the -k option to | - | | | specify a signing | - | | | certificate. To sign with a | - | | | smart card, you supply only | - | | | the fully qualified name of | - | | | the certificate. | - | | | To see fully qualified | - | | | certificate names when you run | - | | | Communicator, click | - | | | the Security button in | - | | | Navigator, then click Yours | - | | | under Certificates in | - | | | the left frame. Fully | - | | | qualified names are of the | - | | | format smart | - | | | card:certificate, for | - | | | example "MyCard:My Signing | - | | | Cert". You use this name | - | | | with the -k argument as | - | | | follows: | - | | | signtool -k "MyCard:My | - | | | Signing Cert" directory | - | | | Verifying FIPS Mode | - | | | Use the -M option to verify | - | | | that you are using the | - | | | FIPS-140-1 module. | - | | | signtool -d | - | | | "c:\netscape\users\jsmith" -M | - | | | using certificate directory: | - | | | c:\netscape\users\jsmith | - | | | Listing of PKCS11 modules | - | | | ----------------- | - | | | ------------------------------ | - | | | 1. Netscape Internal PKCS | - | | | #11 Module | - | | | (this module is | - | | | internally loaded) | - | | | slots: 2 slots | - | | | attached | - | | | status: loaded | - | | | slot: Communicator | - | | | Internal Cryptographic | - | | | Services Version 4.0 | - | | | token: Communicator | - | | | Generic Crypto Svcs | - | | | slot: Communicator User | - | | | Private Key and Certificate | - | | | Services | - | | | token: Communicator | - | | | Certificate DB | - | | | ----------------- | - | | | ------------------------------ | - | | | This Unix example shows | - | | | that Netscape Signing Tool is | - | | | using a FIPS-140-1 | - | | | module: | - | | | signtool -d | - | | | "c:\netscape\users\jsmith" -M | - | | | using certificate directory: | - | | | c:\netscape\users\jsmith | - | | | Enter Password or Pin for | - | | | "Communicator Certificate DB": | - | | | [password will not echo] | - | | | Listing of PKCS11 modules | - | | | ----------------- | - | | | ------------------------------ | - | | | 1. Netscape Internal FIPS | - | | | PKCS #11 Module | - | | | (this module is internally | - | | | loaded) | - | | | slots: 1 slots attached | - | | | status: loaded | - | | | slot: Netscape Internal | - | | | FIPS-140-1 Cryptographic | - | | | Services | - | | | token: Communicator | - | | | Certificate DB | - | | | ----------------- | - | | | ------------------------------ | - | | | See Also | - | | | signver (1) | - | | | The NSS wiki has | - | | | information on the new | - | | | database design and how to | - | | | configure applications to | - | | | use it. | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | Additional Resources | - | | | For information about NSS | - | | | and other tools related to NSS | - | | | (like JSS), check | - | | | out the NSS project wiki at | - | | | | - | | | [1]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | https://lists.mozill | - | | | a.org/listinfo/dev-tech-crypto | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape, Red | - | | | Hat, and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 356 | :ref:`mozil | | - | | la_projects_nss_tools_signver` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | signver — Verify a detached | - | | | PKCS#7 signature for a file. | - | | | Synopsis | - | | | signtool -A \| -V -d | - | | | directory [-a] [-i input_file] | - | | | [-o output_file] [-s | - | | | signature_file] [-v] | - | | | Description | - | | | The Signature Verification | - | | | Tool, signver, is a simple | - | | | command-line utility | - | | | that unpacks a | - | | | base-64-encoded PKCS#7 signed | - | | | object and verifies the | - | | | digital signature using | - | | | standard cryptographic | - | | | techniques. The Signature | - | | | Verification Tool can also | - | | | display the contents of the | - | | | signed object. | - | | | Options | - | | | -A | - | | | Displays all of the | - | | | information in the PKCS#7 | - | | | signature. | - | | | -V | - | | | Verifies the | - | | | digital signature. | - | | | -d [sql:]directory | - | | | Specify the | - | | | database directory which | - | | | contains the certificates and | - | | | keys. | - | | | signver supports | - | | | two types of databases: the | - | | | legacy security | - | | | databases | - | | | (cert8.db, key3.db, and | - | | | secmod.db) and new SQLite | - | | | databases | - | | | (cert9.db, key4.db, and | - | | | pkcs11.txt). If the prefix | - | | | sql: | - | | | is not used, then | - | | | the tool assumes that the | - | | | given databases are in | - | | | the old format. | - | | | -a | - | | | Sets that the given | - | | | signature file is in ASCII | - | | | format. | - | | | -i input_file | - | | | Gives the input | - | | | file for the object with | - | | | signed data. | - | | | -o output_file | - | | | Gives the output | - | | | file to which to write the | - | | | results. | - | | | -s signature_file | - | | | Gives the input | - | | | file for the digital | - | | | signature. | - | | | -v | - | | | Enables verbose | - | | | output. | - | | | Extended Examples | - | | | Verifying a Signature | - | | | The -V option verifies that | - | | | the signature in a given | - | | | signature file is | - | | | valid when used to sign the | - | | | given object (from the input | - | | | file). | - | | | signver -V -s signature_file | - | | | -i signed_file -d | - | | | sql:/home/my/sharednssdb | - | | | signatureValid=yes | - | | | Printing Signature Data | - | | | The -A option prints all of | - | | | the information contained in a | - | | | signature file. | - | | | Using the -o option prints | - | | | the signature file information | - | | | to the given | - | | | output file rather than | - | | | stdout. | - | | | signver -A -s signature_file | - | | | -o output_file | - | | | NSS Database Types | - | | | NSS originally used | - | | | BerkeleyDB databases to store | - | | | security information. | - | | | The last versions of these | - | | | legacy databases are: | - | | | o cert8.db for | - | | | certificates | - | | | o key3.db for keys | - | | | o secmod.db for PKCS #11 | - | | | module information | - | | | BerkeleyDB has performance | - | | | limitations, though, which | - | | | prevent it from | - | | | being easily used by | - | | | multiple applications | - | | | simultaneously. NSS has some | - | | | flexibility that allows | - | | | applications to use their own, | - | | | independent | - | | | database engine while | - | | | keeping a shared database and | - | | | working around the | - | | | access issues. Still, NSS | - | | | requires more flexibility to | - | | | provide a truly | - | | | shared security database. | - | | | In 2009, NSS introduced a | - | | | new set of databases that are | - | | | SQLite databases | - | | | rather than BerkleyDB. | - | | | These new databases provide | - | | | more accessibility and | - | | | performance: | - | | | o cert9.db for | - | | | certificates | - | | | o key4.db for keys | - | | | o pkcs11.txt, which is | - | | | listing of all of the PKCS #11 | - | | | modules contained | - | | | in a new subdirectory | - | | | in the security databases | - | | | directory | - | | | Because the SQLite | - | | | databases are designed to be | - | | | shared, these are the | - | | | shared database type. The | - | | | shared database type is | - | | | preferred; the legacy | - | | | format is included for | - | | | backward compatibility. | - | | | By default, the tools | - | | | (certutil, pk12util, modutil) | - | | | assume that the given | - | | | security databases follow | - | | | the more common legacy type. | - | | | Using the SQLite | - | | | databases must be manually | - | | | specified by using the sql: | - | | | prefix with the | - | | | given security directory. | - | | | For example: | - | | | # signver -A -s signature -d | - | | | sql:/home/my/sharednssdb | - | | | To set the shared database | - | | | type as the default type for | - | | | the tools, set the | - | | | NSS_DEFAULT_DB_TYPE | - | | | environment variable to sql: | - | | | export | - | | | NSS_DEFAULT_DB_TYPE="sql" | - | | | This line can be set added | - | | | to the ~/.bashrc file to make | - | | | the change | - | | | permanent. | - | | | Most applications do not | - | | | use the shared database by | - | | | default, but they can | - | | | be configured to use them. | - | | | For example, this how-to | - | | | article covers how to | - | | | configure Firefox and | - | | | Thunderbird to use the new | - | | | shared NSS databases: | - | | | | - | | | o https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | For an engineering draft on | - | | | the changes in the shared NSS | - | | | databases, see | - | | | the NSS project wiki: | - | | | | - | | | o https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | See Also | - | | | signtool (1) | - | | | The NSS wiki has | - | | | information on the new | - | | | database design and how to | - | | | configure applications to | - | | | use it. | - | | | o Setting up the shared | - | | | NSS database | - | | | | - | | | https://wiki.m | - | | | ozilla.org/NSS_Shared_DB_Howto | - | | | o Engineering and | - | | | technical information about | - | | | the shared NSS database | - | | | | - | | | https:// | - | | | wiki.mozilla.org/NSS_Shared_DB | - | | | Additional Resources | - | | | For information about NSS | - | | | and other tools related to NSS | - | | | (like JSS), check | - | | | out the NSS project wiki at | - | | | | - | | | [1]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | https://lists.mozill | - | | | a.org/listinfo/dev-tech-crypto | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape, Red | - | | | Hat, and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 357 | :ref:`mozi | | - | | lla_projects_nss_tools_ssltap` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | ssltap — Tap into SSL | - | | | connections and display the | - | | | data going by | - | | | Synopsis | - | | | libssltap [-vhfsxl] [-p | - | | | port] [hostname:port] | - | | | Description | - | | | The SSL Debugging Tool | - | | | ssltap is an SSL-aware | - | | | command-line proxy. It | - | | | watches TCP connections and | - | | | displays the data going by. If | - | | | a connection is | - | | | SSL, the data display | - | | | includes interpreted SSL | - | | | records and handshaking | - | | | Options | - | | | -v | - | | | Print a version | - | | | string for the tool. | - | | | -h | - | | | Turn on hex/ASCII | - | | | printing. Instead of | - | | | outputting raw data, the | - | | | command interprets | - | | | each record as a numbered line | - | | | of hex values, | - | | | followed by the | - | | | same data as ASCII characters. | - | | | The two parts are | - | | | separated by a | - | | | vertical bar. Nonprinting | - | | | characters are replaced | - | | | by dots. | - | | | -f | - | | | Turn on fancy | - | | | printing. Output is printed in | - | | | colored HTML. Data | - | | | sent from the | - | | | client to the server is in | - | | | blue; the server's reply | - | | | is in red. When | - | | | used with looping mode, the | - | | | different connections | - | | | are separated with | - | | | horizontal lines. You can use | - | | | this option to | - | | | upload the output | - | | | into a browser. | - | | | -s | - | | | Turn on SSL parsing | - | | | and decoding. The tool does | - | | | not automatically | - | | | detect SSL | - | | | sessions. If you are | - | | | intercepting an SSL | - | | | connection, | - | | | use this option so | - | | | that the tool can detect and | - | | | decode SSL | - | | | structures. | - | | | If the tool detects | - | | | a certificate chain, it saves | - | | | the DER-encoded | - | | | certificates into | - | | | files in the current | - | | | directory. The files are | - | | | named cert.0x, | - | | | where x is the sequence number | - | | | of the certificate. | - | | | If the -s option is | - | | | used with -h, two separate | - | | | parts are printed | - | | | for each record: | - | | | the plain hex/ASCII output, | - | | | and the parsed SSL | - | | | output. | - | | | -x | - | | | Turn on hex/ASCII | - | | | printing of undecoded data | - | | | inside parsed SSL | - | | | records. Used only | - | | | with the -s option. This | - | | | option uses the same | - | | | output format as | - | | | the -h option. | - | | | -l prefix | - | | | Turn on looping; | - | | | that is, continue to accept | - | | | connections rather | - | | | than stopping after | - | | | the first connection is | - | | | complete. | - | | | -p port | - | | | Change the default | - | | | rendezvous port (1924) to | - | | | another port. | - | | | The following are | - | | | well-known port numbers: | - | | | \* HTTP 80 | - | | | \* HTTPS 443 | - | | | \* SMTP 25 | - | | | \* FTP 21 | - | | | \* IMAP 143 | - | | | \* IMAPS 993 (IMAP | - | | | over SSL) | - | | | \* NNTP 119 | - | | | \* NNTPS 563 (NNTP | - | | | over SSL) | - | | | Usage and Examples | - | | | You can use the SSL | - | | | Debugging Tool to intercept | - | | | any connection | - | | | information. Although you | - | | | can run the tool at its most | - | | | basic by issuing | - | | | the ssltap command with no | - | | | options other than | - | | | hostname:port, the | - | | | information you get in this | - | | | way is not very useful. For | - | | | example, assume | - | | | your development machine is | - | | | called intercept. The simplest | - | | | way to use the | - | | | debugging tool is to | - | | | execute the following command | - | | | from a command shell: | - | | | $ ssltap www.netscape.com | - | | | The program waits for an | - | | | incoming connection on the | - | | | default port 1924. In | - | | | your browser window, enter | - | | | the URL http://intercept:1924. | - | | | The browser | - | | | retrieves the requested | - | | | page from the server at | - | | | www.netscape.com, but the | - | | | page is intercepted and | - | | | passed on to the browser by | - | | | the debugging tool on | - | | | intercept. On its way to | - | | | the browser, the data is | - | | | printed to the command | - | | | shell from which you issued | - | | | the command. Data sent from | - | | | the client to the | - | | | server is surrounded by the | - | | | following symbols: --> [ data | - | | | ] Data sent from | - | | | the server to the client is | - | | | surrounded by the following | - | | | symbols: "left | - | | | arrow"-- [ data ] The raw | - | | | data stream is sent to | - | | | standard output and is | - | | | not interpreted in any way. | - | | | This can result in peculiar | - | | | effects, such as | - | | | sounds, flashes, and even | - | | | crashes of the command shell | - | | | window. To output a | - | | | basic, printable | - | | | interpretation of the data, | - | | | use the -h option, or, if you | - | | | are looking at an SSL | - | | | connection, the -s option. You | - | | | will notice that the | - | | | page you retrieved looks | - | | | incomplete in the browser. | - | | | This is because, by | - | | | default, the tool closes | - | | | down after the first | - | | | connection is complete, so | - | | | the browser is not able to | - | | | load images. To make the tool | - | | | continue to | - | | | accept connections, switch | - | | | on looping mode with the -l | - | | | option. The | - | | | following examples show the | - | | | output from commonly used | - | | | combinations of | - | | | options. | - | | | Example 1 | - | | | $ ssltap.exe -sx -p 444 | - | | | interzone.mcom.com:443 > | - | | | sx.txt | - | | | Output | - | | | Connected to | - | | | interzone.mcom.com:443 | - | | | -->; [ | - | | | alloclen = 66 bytes | - | | | [ssl2] ClientHelloV2 { | - | | | version = {0x03, | - | | | 0x00} | - | | | | - | | | cipher-specs-length = 39 | - | | | (0x27) | - | | | sid-length = 0 | - | | | (0x00) | - | | | challenge-length | - | | | = 16 (0x10) | - | | | cipher-suites = { | - | | | (0x010080) | - | | | SSL2/RSA/RC4-128/MD5 | - | | | (0x020080) | - | | | SSL2/RSA/RC4-40/MD5 | - | | | (0x030080) | - | | | SSL2/RSA/RC2CBC128/MD5 | - | | | (0x040080) | - | | | SSL2/RSA/RC2CBC40/MD5 | - | | | (0x060040) | - | | | SSL2/RSA/DES64CBC/MD5 | - | | | (0x0700c0) | - | | | SSL2/RSA/3DES192EDE-CBC/MD5 | - | | | (0x000004) | - | | | SSL3/RSA/RC4-128/MD5 | - | | | (0x00ffe0) | - | | | SS | - | | | L3/RSA-FIPS/3DES192EDE-CBC/SHA | - | | | (0x00000a) | - | | | SSL3/RSA/3DES192EDE-CBC/SHA | - | | | (0x00ffe1) | - | | | SSL3/RSA-FIPS/DES64CBC/SHA | - | | | (0x000009) | - | | | SSL3/RSA/DES64CBC/SHA | - | | | (0x000003) | - | | | SSL3/RSA/RC4-40/MD5 | - | | | (0x000006) | - | | | SSL3/RSA/RC2CBC40/MD5 | - | | | } | - | | | session-id = { } | - | | | challenge = { | - | | | 0xec5d 0x8edb 0x37c9 0xb5c9 | - | | | 0x7b70 0x8fe9 0xd1d3 | - | | | 0x2592 } | - | | | } | - | | | ] | - | | | <-- [ | - | | | SSLRecord { | - | | | 0: 16 03 00 03 | - | | | e5 | - | | | | - | | | \|..... | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 997 (0x3e5) | - | | | handshake { | - | | | 0: 02 00 00 | - | | | 46 | - | | | | - | | | \|...F | - | | | type = 2 (server_hello) | - | | | length = 70 (0x000046) | - | | | ServerHello { | - | | | server_version = | - | | | {3, 0} | - | | | random = {...} | - | | | 0: 77 8c 6e 26 6c 0c ec | - | | | c0 d9 58 4f 47 d3 2d 01 45 | - | | | \| | - | | | wn&l.ì..XOG.-.E | - | | | 10: 5c 17 75 43 a7 4c 88 | - | | | c7 88 64 3c 50 41 48 4f 7f | - | | | \| | - | | | \.uC§L.Ç.d [ | - | | | SSLRecord { | - | | | 0: 16 03 00 00 | - | | | 44 | - | | | | - | | | \|....D | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 68 (0x44) | - | | | handshake { | - | | | 0: 10 00 00 | - | | | 40 | - | | | | - | | | \|...@ | - | | | type = 16 | - | | | (client_key_exchange) | - | | | length = 64 (0x000040) | - | | | ClientKeyExchange { | - | | | message = {...} | - | | | } | - | | | } | - | | | } | - | | | ] | - | | | --> [ | - | | | SSLRecord { | - | | | 0: 14 03 00 00 | - | | | 01 | - | | | | - | | | \|..... | - | | | type = 20 | - | | | (change_cipher_spec) | - | | | version = { 3,0 } | - | | | length = 1 (0x1) | - | | | 0: | - | | | 01 | - | | | | - | | | \|. | - | | | } | - | | | SSLRecord { | - | | | 0: 16 03 00 00 | - | | | 38 | - | | | | - | | | \|....8 | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 56 (0x38) | - | | | < encrypted > | - | | | } | - | | | ] | - | | | <-- [ | - | | | SSLRecord { | - | | | 0: 14 03 00 00 | - | | | 01 | - | | | | - | | | \|..... | - | | | type = 20 | - | | | (change_cipher_spec) | - | | | version = { 3,0 } | - | | | length = 1 (0x1) | - | | | 0: | - | | | 01 | - | | | | - | | | \|. | - | | | } | - | | | ] | - | | | <-- [ | - | | | SSLRecord { | - | | | 0: 16 03 00 00 | - | | | 38 | - | | | | - | | | \|....8 | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 56 (0x38) | - | | | < encrypted | - | | | > | - | | | } | - | | | ] | - | | | --> [ | - | | | SSLRecord { | - | | | 0: 17 03 00 01 | - | | | 1f | - | | | | - | | | \|..... | - | | | type = 23 | - | | | (application_data) | - | | | version = { 3,0 } | - | | | length = 287 (0x11f) | - | | | < encrypted > | - | | | } | - | | | ] | - | | | <-- [ | - | | | SSLRecord { | - | | | 0: 17 03 00 00 | - | | | a0 | - | | | | - | | | \|.... | - | | | type = 23 | - | | | (application_data) | - | | | version = { 3,0 } | - | | | length = 160 (0xa0) | - | | | < encrypted > | - | | | } | - | | | ] | - | | | <-- [ | - | | | SSLRecord { | - | | | 0: 17 03 00 00 | - | | | df | - | | | | - | | | \|....ß | - | | | type = 23 | - | | | (application_data) | - | | | version = { 3,0 } | - | | | length = 223 (0xdf) | - | | | < encrypted > | - | | | } | - | | | SSLRecord { | - | | | 0: 15 03 00 00 | - | | | 12 | - | | | | - | | | \|..... | - | | | type = 21 (alert) | - | | | version = { 3,0 } | - | | | length = 18 (0x12) | - | | | < encrypted > | - | | | } | - | | | ] | - | | | Server socket closed. | - | | | Example 2 | - | | | The -s option turns on SSL | - | | | parsing. Because the -x option | - | | | is not used in | - | | | this example, undecoded | - | | | values are output as raw data. | - | | | The output is | - | | | routed to a text file. | - | | | $ ssltap -s -p 444 | - | | | interzone.mcom.com:443 > s.txt | - | | | Output | - | | | Connected to | - | | | interzone.mcom.com:443 | - | | | --> [ | - | | | alloclen = 63 bytes | - | | | [ssl2] ClientHelloV2 { | - | | | version = {0x03, | - | | | 0x00} | - | | | | - | | | cipher-specs-length = 36 | - | | | (0x24) | - | | | sid-length = 0 | - | | | (0x00) | - | | | challenge-length | - | | | = 16 (0x10) | - | | | cipher-suites = { | - | | | (0x010080) | - | | | SSL2/RSA/RC4-128/MD5 | - | | | (0x020080) | - | | | SSL2/RSA/RC4-40/MD5 | - | | | (0x030080) | - | | | SSL2/RSA/RC2CBC128/MD5 | - | | | (0x060040) | - | | | SSL2/RSA/DES64CBC/MD5 | - | | | (0x0700c0) | - | | | SSL2/RSA/3DES192EDE-CBC/MD5 | - | | | (0x000004) | - | | | SSL3/RSA/RC4-128/MD5 | - | | | (0x00ffe0) | - | | | SS | - | | | L3/RSA-FIPS/3DES192EDE-CBC/SHA | - | | | (0x00000a) | - | | | SSL3/RSA/3DES192EDE-CBC/SHA | - | | | (0x00ffe1) | - | | | SSL3/RSA-FIPS/DES64CBC/SHA | - | | | (0x000009) | - | | | SSL3/RSA/DES64CBC/SHA | - | | | (0x000003) | - | | | SSL3/RSA/RC4-40/MD5 | - | | | } | - | | | session-id = { | - | | | } | - | | | challenge = { | - | | | 0x713c 0x9338 0x30e1 0xf8d6 | - | | | 0xb934 0x7351 0x200c | - | | | 0x3fd0 } | - | | | ] | - | | | >-- [ | - | | | SSLRecord { | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 997 (0x3e5) | - | | | handshake { | - | | | type = 2 | - | | | (server_hello) | - | | | length = 70 | - | | | (0x000046) | - | | | ServerHello { | - | | | server_version = | - | | | {3, 0} | - | | | random = {...} | - | | | session ID = { | - | | | length = 32 | - | | | contents = | - | | | {..} | - | | | } | - | | | cipher_suite = | - | | | (0x0003) SSL3/RSA/RC4-40/MD5 | - | | | } | - | | | type = 11 | - | | | (certificate) | - | | | length = 709 | - | | | (0x0002c5) | - | | | CertificateChain | - | | | { | - | | | chainlength = | - | | | 706 (0x02c2) | - | | | Certificate { | - | | | size = 703 | - | | | (0x02bf) | - | | | data = { | - | | | saved in file 'cert.001' } | - | | | } | - | | | } | - | | | type = 12 | - | | | (server_key_exchange) | - | | | length = 202 | - | | | (0x0000ca) | - | | | type = 14 | - | | | (server_hello_done) | - | | | length = 0 | - | | | (0x000000) | - | | | } | - | | | } | - | | | ] | - | | | --> [ | - | | | SSLRecord { | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 68 (0x44) | - | | | handshake { | - | | | type = 16 | - | | | (client_key_exchange) | - | | | length = 64 | - | | | (0x000040) | - | | | ClientKeyExchange | - | | | { | - | | | message = | - | | | {...} | - | | | } | - | | | } | - | | | } | - | | | ] | - | | | --> [ | - | | | SSLRecord { | - | | | type = 20 | - | | | (change_cipher_spec) | - | | | version = { 3,0 } | - | | | length = 1 (0x1) | - | | | } | - | | | SSLRecord { | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 56 (0x38) | - | | | > encrypted > | - | | | } | - | | | ] | - | | | >-- [ | - | | | SSLRecord { | - | | | type = 20 | - | | | (change_cipher_spec) | - | | | version = { 3,0 } | - | | | length = 1 (0x1) | - | | | } | - | | | ] | - | | | >-- [ | - | | | SSLRecord { | - | | | type = 22 (handshake) | - | | | version = { 3,0 } | - | | | length = 56 (0x38) | - | | | > encrypted > | - | | | } | - | | | ] | - | | | --> [ | - | | | SSLRecord { | - | | | type = 23 | - | | | (application_data) | - | | | version = { 3,0 } | - | | | length = 287 (0x11f) | - | | | > encrypted > | - | | | } | - | | | ] | - | | | [ | - | | | SSLRecord { | - | | | type = 23 | - | | | (application_data) | - | | | version = { 3,0 } | - | | | length = 160 (0xa0) | - | | | > encrypted > | - | | | } | - | | | ] | - | | | >-- [ | - | | | SSLRecord { | - | | | type = 23 | - | | | (application_data) | - | | | version = { 3,0 } | - | | | length = 223 (0xdf) | - | | | > encrypted > | - | | | } | - | | | SSLRecord { | - | | | type = 21 (alert) | - | | | version = { 3,0 } | - | | | length = 18 (0x12) | - | | | > encrypted > | - | | | } | - | | | ] | - | | | Server socket closed. | - | | | Example 3 | - | | | In this example, the -h | - | | | option turns hex/ASCII format. | - | | | There is no SSL | - | | | parsing or decoding. The | - | | | output is routed to a text | - | | | file. | - | | | $ ssltap -h -p 444 | - | | | interzone.mcom.com:443 > h.txt | - | | | Output | - | | | Connected to | - | | | interzone.mcom.com:443 | - | | | --> [ | - | | | 0: 80 40 01 03 00 00 27 | - | | | 00 00 00 10 01 00 80 02 00 | - | | | \| .@....'......... | - | | | 10: 80 03 00 80 04 00 80 | - | | | 06 00 40 07 00 c0 00 00 04 | - | | | \| .........@...... | - | | | 20: 00 ff e0 00 00 0a 00 | - | | | ff e1 00 00 09 00 00 03 00 | - | | | \| ........á....... | - | | | 30: 00 06 9b fe 5b 56 96 | - | | | 49 1f 9f ca dd d5 ba b9 52 | - | | | \| ..þ[V.I.\xd9 ...º¹R | - | | | 40: 6f | - | | | 2d | - | | | | - | | | \|o- | - | | | ] | - | | | <-- [ | - | | | 0: 16 03 00 03 e5 02 00 | - | | | 00 46 03 00 7f e5 0d 1b 1d | - | | | \| ........F....... | - | | | 10: 68 7f 3a 79 60 d5 17 | - | | | 3c 1d 9c 96 b3 88 d2 69 3b | - | | | \| h.:y`..<..³.Òi; | - | | | 20: 78 e2 4b 8b a6 52 12 | - | | | 4b 46 e8 c2 20 14 11 89 05 | - | | | \| x.K.¦R.KFè. ... | - | | | 30: 4d 52 91 fd 93 e0 51 | - | | | 48 91 90 08 96 c1 b6 76 77 | - | | | \| MR.ý..QH.....¶vw | - | | | 40: 2a f4 00 08 a1 06 61 | - | | | a2 64 1f 2e 9b 00 03 00 0b | - | | | \| \*ô..¡.a¢d...... | - | | | 50: 00 02 c5 00 02 c2 00 | - | | | 02 bf 30 82 02 bb 30 82 02 | - | | | \| ..Å......0...0.. | - | | | 60: 24 a0 03 02 01 02 02 | - | | | 02 01 36 30 0d 06 09 2a 86 | - | | | \| $ .......60...*. | - | | | 70: 48 86 f7 0d 01 01 04 | - | | | 05 00 30 77 31 0b 30 09 06 | - | | | \| H.÷......0w1.0.. | - | | | 80: 03 55 04 06 13 02 55 | - | | | 53 31 2c 30 2a 06 03 55 04 | - | | | \| .U....US1,0*..U. | - | | | 90: 0a 13 23 4e 65 74 73 | - | | | 63 61 70 65 20 43 6f 6d 6d | - | | | \| ..#Netscape Comm | - | | | a0: 75 6e 69 63 61 74 69 | - | | | 6f 6e 73 20 43 6f 72 70 6f | - | | | \| unications Corpo | - | | | b0: 72 61 74 69 6f 6e 31 | - | | | 11 30 0f 06 03 55 04 0b 13 | - | | | \| ration1.0...U... | - | | | c0: 08 48 61 72 64 63 6f | - | | | 72 65 31 27 30 25 06 03 55 | - | | | \| .Hardcore1'0%..U | - | | | d0: 04 03 13 1e 48 61 72 | - | | | 64 63 6f 72 65 20 43 65 72 | - | | | \| ....Hardcore Cer | - | | | e0: 74 69 66 69 63 61 74 | - | | | 65 20 53 65 72 76 65 72 20 | - | | | \| tificate Server | - | | | f0: 49 49 30 1e 17 0d 39 | - | | | 38 30 35 31 36 30 31 30 33 | - | | | \| II0...9805160103 | - | | | | - | | | ] | - | | | | - | | | Server socket closed. | - | | | Example 4 | - | | | In this example, the -s | - | | | option turns on SSL parsing, | - | | | and the -h option | - | | | turns on hex/ASCII format. | - | | | Both formats are shown for | - | | | each record. The | - | | | output is routed to a text | - | | | file. | - | | | $ ssltap -hs -p 444 | - | | | interzone.mcom.com:443 > | - | | | hs.txt | - | | | Output | - | | | Connected to | - | | | interzone.mcom.com:443 | - | | | --> [ | - | | | 0: 80 3d 01 03 00 00 24 | - | | | 00 00 00 10 01 00 80 02 00 | - | | | \| .=....$......... | - | | | 10: 80 03 00 80 04 00 80 | - | | | 06 00 40 07 00 c0 00 00 04 | - | | | \| .........@...... | - | | | 20: 00 ff e0 00 00 0a 00 | - | | | ff e1 00 00 09 00 00 03 03 | - | | | \| ........á....... | - | | | 30: 55 e6 e4 99 79 c7 d7 | - | | | 2c 86 78 96 5d b5 cf e9 | - | | | \|U..yÇ\xb0 ,.x.]µÏé | - | | | alloclen = 63 bytes | - | | | [ssl2] ClientHelloV2 { | - | | | version = {0x03, | - | | | 0x00} | - | | | | - | | | cipher-specs-length = 36 | - | | | (0x24) | - | | | sid-length = 0 | - | | | (0x00) | - | | | challenge-length | - | | | = 16 (0x10) | - | | | cipher-suites = { | - | | | (0x010080) | - | | | SSL2/RSA/RC4-128/MD5 | - | | | (0x020080) | - | | | SSL2/RSA/RC4-40/MD5 | - | | | (0x030080) | - | | | SSL2/RSA/RC2CBC128/MD5 | - | | | (0x040080) | - | | | SSL2/RSA/RC2CBC40/MD5 | - | | | (0x060040) | - | | | SSL2/RSA/DES64CBC/MD5 | - | | | (0x0700c0) | - | | | SSL2/RSA/3DES192EDE-CBC/MD5 | - | | | (0x000004) | - | | | SSL3/RSA/RC4-128/MD5 | - | | | (0x00ffe0) | - | | | SS | - | | | L3/RSA-FIPS/3DES192EDE-CBC/SHA | - | | | (0x00000a) | - | | | SSL3/RSA/3DES192EDE-CBC/SHA | - | | | (0x00ffe1) | - | | | SSL3/RSA-FIPS/DES64CBC/SHA | - | | | (0x000009) | - | | | SSL3/RSA/DES64CBC/SHA | - | | | (0x000003) | - | | | SSL3/RSA/RC4-40/MD5 | - | | | } | - | | | session-id = { } | - | | | challenge = { | - | | | 0x0355 0xe6e4 0x9979 0xc7d7 | - | | | 0x2c86 0x7896 0x5db | - | | | 0xcfe9 } | - | | | } | - | | | ] | - | | | | - | | | Server socket closed. | - | | | Usage Tips | - | | | When SSL restarts a | - | | | previous session, it makes use | - | | | of cached information | - | | | to do a partial handshake. | - | | | If you wish to capture a full | - | | | SSL handshake, | - | | | restart the browser to | - | | | clear the session id cache. | - | | | If you run the tool on a | - | | | machine other than the SSL | - | | | server to which you | - | | | are trying to connect, the | - | | | browser will complain that the | - | | | host name you | - | | | are trying to connect to is | - | | | different from the | - | | | certificate. If you are | - | | | using the default BadCert | - | | | callback, you can still | - | | | connect through a | - | | | dialog. If you are not | - | | | using the default BadCert | - | | | callback, the one you | - | | | supply must allow for this | - | | | possibility. | - | | | See Also | - | | | The NSS Security Tools are | - | | | also documented at | - | | | | - | | | [1]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | Additional Resources | - | | | NSS is maintained in | - | | | conjunction with PKI and | - | | | security-related projects | - | | | through Mozilla dn Fedora. | - | | | The most closely-related | - | | | project is Dogtag PKI, | - | | | with a project wiki at | - | | | [2]\ http: | - | | | //pki.fedoraproject.org/wiki/. | - | | | For information | - | | | specifically about NSS, the | - | | | NSS project wiki is located at | - | | | | - | | | [3]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | pki-devel@redhat.com and | - | | | pki-users@redhat.com | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape and | - | | | now with Red Hat and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | `http://www.mozilla.org/p | - | | | rojects/secu.../pki/nss/tools | - | | | `__ | - | | | 2. | - | | | http | - | | | ://pki.fedoraproject.org/wiki/ | - | | | 3. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 358 | :ref:`mozill | | - | | a_projects_nss_tools_vfychain` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Name | - | | | vfychain — vfychain | - | | | [options] [revocation options] | - | | | certfile [[options] | - | | | certfile] ... | - | | | Synopsis | - | | | vfychain | - | | | Description | - | | | The verification Tool, | - | | | vfychain, verifies certificate | - | | | chains. modutil can | - | | | add and delete PKCS #11 | - | | | modules, change passwords on | - | | | security databases, | - | | | set defaults, list module | - | | | contents, enable or disable | - | | | slots, enable or | - | | | disable FIPS 140-2 | - | | | compliance, and assign default | - | | | providers for | - | | | cryptographic operations. | - | | | This tool can also create | - | | | certificate, key, and | - | | | module security database | - | | | files. | - | | | The tasks associated with | - | | | security module database | - | | | management are part of | - | | | a process that typically | - | | | also involves managing key | - | | | databases and | - | | | certificate databases. | - | | | Options | - | | | -a | - | | | the following | - | | | certfile is base64 encoded | - | | | -b YYMMDDHHMMZ | - | | | Validate date | - | | | (default: now) | - | | | -d directory | - | | | database directory | - | | | -f | - | | | Enable cert | - | | | fetching from AIA URL | - | | | -o oid | - | | | Set policy OID for | - | | | cert validation(Format | - | | | OID.1.2.3) | - | | | -p | - | | | Use PKIX Library to | - | | | validate certificate by | - | | | calling: | - | | | \* | - | | | CERT_VerifyCertificate if | - | | | specified once, | - | | | \* | - | | | CERT_PKIXVerifyCert if | - | | | specified twice and more. | - | | | -r | - | | | Following certfile | - | | | is raw binary DER (default) | - | | | -t | - | | | Following cert is | - | | | explicitly trusted (overrides | - | | | db trust) | - | | | -u usage | - | | | 0=SSL client, 1=SSL | - | | | server, 2=SSL StepUp, 3=SSL | - | | | CA, 4=Email | - | | | signer, 5=Email | - | | | recipient, 6=Object signer, | - | | | | - | | | 9=ProtectedObjectSigner, | - | | | 10=OCSP responder, 11=Any CA | - | | | -v | - | | | Verbose mode. | - | | | Prints root cert | - | | | subject(double the argument | - | | | for | - | | | whole root cert | - | | | info) | - | | | -w password | - | | | Database password | - | | | -W pwfile | - | | | Password file | - | | | Revocation options | - | | | for PKIX API (invoked with -pp | - | | | options) is a | - | | | collection of the | - | | | following flags: [-g type [-h | - | | | flags] [-m type | - | | | [-s flags]] ...] | - | | | ... | - | | | Where: | - | | | -g test-type | - | | | Sets status | - | | | checking test type. Possible | - | | | values are "leaf" or | - | | | "chain" | - | | | -g test type | - | | | Sets status | - | | | checking test type. Possible | - | | | values are "leaf" or | - | | | "chain". | - | | | -h test flags | - | | | Sets revocation | - | | | flags for the test type it | - | | | follows. Possible | - | | | flags: | - | | | "testLocalInfoFirst" and | - | | | "requireFreshInfo". | - | | | -m method type | - | | | Sets method type | - | | | for the test type it follows. | - | | | Possible types are | - | | | "crl" and "ocsp". | - | | | -s method flags | - | | | Sets revocation | - | | | flags for the method it | - | | | follows. Possible types | - | | | are "doNotUse", | - | | | "forbidFetching", | - | | | "ignoreDefaultSrc", | - | | | "requireInfo" and | - | | | "failIfNoInfo". | - | | | Additional Resources | - | | | For information about NSS | - | | | and other tools related to NSS | - | | | (like JSS), check | - | | | out the NSS project wiki at | - | | | | - | | | [1]\ `http://www.mozil | - | | | la.org/projects/security/pki/n | - | | | ss/ `__. | - | | | The NSS site relates | - | | | directly to NSS code | - | | | changes and releases. | - | | | Mailing lists: | - | | | https://lists.mozill | - | | | a.org/listinfo/dev-tech-crypto | - | | | IRC: Freenode at | - | | | #dogtag-pki | - | | | Authors | - | | | The NSS tools were written | - | | | and maintained by developers | - | | | with Netscape, Red | - | | | Hat, and Sun. | - | | | Authors: Elio Maldonado | - | | | , Deon | - | | | Lackey | - | | | . | - | | | Copyright | - | | | (c) 2010, Red Hat, Inc. | - | | | Licensed under the GNU Public | - | | | License version 2. | - | | | References | - | | | Visible links | - | | | 1. | - | | | `http://www.mozi | - | | | lla.org/projects/security/pki/ | - | | | nss/ `__ | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 359 | :ref:`mozil | | - | | la_projects_nss_tools_vfyserv` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | Coming soon | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 360 | :ref:`mozilla | **NSS** | - | | _projects_nss_troubleshooting` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | On this page, let's collect | - | | | information on how to | - | | | troubleshoot NSS at runtime. | - | | | Debugging tips, how to enable | - | | | tracing of the various | - | | | modules, etc. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ - | 361 | :ref:`mozilla_p | **NSS** | - | | rojects_nss_utility_functions` | | - +--------------------------------+--------------------------------+--------------------------------+ - | | | The public functions listed | - | | | here perform initialization | - | | | tasks and other services. | - +--------------------------------+--------------------------------+--------------------------------+ - | | | | - +--------------------------------+--------------------------------+--------------------------------+ \ No newline at end of file diff --git a/nss/doc/rst/legacy/nss_releases/nss_3.16.2_release_notes/index.rst b/nss/doc/rst/legacy/nss_releases/nss_3.16.2_release_notes/index.rst index e4b56a4..d1cda3d 100644 --- a/nss/doc/rst/legacy/nss_releases/nss_3.16.2_release_notes/index.rst +++ b/nss/doc/rst/legacy/nss_releases/nss_3.16.2_release_notes/index.rst @@ -110,5 +110,4 @@ NSS 3.16.2 release notes .. container:: This Bugzilla query returns all the bugs fixed in NSS 3.16.2: - - | https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Components&query_format=advanced&product=NSS&target_milestone=3.16.2 \ No newline at end of file + https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Components&query_format=advanced&product=NSS&target_milestone=3.16.2 diff --git a/nss/doc/rst/legacy/reference/building_and_installing_nss/build_instructions/index.rst b/nss/doc/rst/legacy/reference/building_and_installing_nss/build_instructions/index.rst index bc6e44a..265d507 100644 --- a/nss/doc/rst/legacy/reference/building_and_installing_nss/build_instructions/index.rst +++ b/nss/doc/rst/legacy/reference/building_and_installing_nss/build_instructions/index.rst @@ -47,7 +47,7 @@ Build instructions set to "0". For Windows, install - the `MozillaBuild `__ environment + the `MozillaBuild `__ environment and Microsoft Visual Studio 2010. (The free edition works, and other versions like Visual Studio 2008 and Visual Studio 2012 may also work.) Use start-shell-msvc2010.bat from MozillaBuild to get a bash shell with the PATH already configured, and execute these instructions from within that @@ -149,4 +149,4 @@ Build instructions The output of the build will be in ``mozilla/dist`` subdirectory. For information on troubleshooting the build system, see - :ref:`mozilla_projects_nss_reference_troubleshoot`. \ No newline at end of file + :ref:`mozilla_projects_nss_reference_troubleshoot`. diff --git a/nss/doc/rst/legacy/reference/nss_tools__colon__certutil/index.rst b/nss/doc/rst/legacy/reference/nss_tools__colon__certutil/index.rst index 134cce4..2d6aaa3 100644 --- a/nss/doc/rst/legacy/reference/nss_tools__colon__certutil/index.rst +++ b/nss/doc/rst/legacy/reference/nss_tools__colon__certutil/index.rst @@ -842,4 +842,4 @@ NSS tools : certutil | NOTES | 1. Mozilla NSS bug 836477 - | https://bugzilla.mozilla.org/show_bug.cgi?id=836477 \ No newline at end of file + | https://bugzilla.mozilla.org/show_bug.cgi?id=836477 diff --git a/nss/doc/rst/legacy/ssl_functions/sslfnc/index.rst b/nss/doc/rst/legacy/ssl_functions/sslfnc/index.rst index 4d3f020..9bfbd92 100644 --- a/nss/doc/rst/legacy/ssl_functions/sslfnc/index.rst +++ b/nss/doc/rst/legacy/ssl_functions/sslfnc/index.rst @@ -3592,4 +3592,4 @@ sslfnc ``SSL_RedoHandshake`` only initiates the new handshake by sending the first message of that handshake. To drive the new handshake to completion, you must either call ``SSL_ForceHandshake`` or do another I/O operation (read or write) on the socket. A call to ``SSL_RedoHandshake`` is - typically followed by a call to ``SSL_ForceHandshake``. \ No newline at end of file + typically followed by a call to ``SSL_ForceHandshake``. diff --git a/nss/doc/rst/legacy/tools/nss_tools_modutil/index.rst b/nss/doc/rst/legacy/tools/nss_tools_modutil/index.rst index 65b4317..58c9ab2 100644 --- a/nss/doc/rst/legacy/tools/nss_tools_modutil/index.rst +++ b/nss/doc/rst/legacy/tools/nss_tools_modutil/index.rst @@ -909,4 +909,4 @@ NSS Tools modutil Token "Communicator Certificate DB" password changed successfully. C:\modutil> - -------------- \ No newline at end of file + -------------- diff --git a/nss/doc/rst/releases/index.rst b/nss/doc/rst/releases/index.rst index 85d7a86..94c21e0 100644 --- a/nss/doc/rst/releases/index.rst +++ b/nss/doc/rst/releases/index.rst @@ -8,6 +8,8 @@ Releases :glob: :hidden: + nss_3_92.rst + nss_3_91_0.rst nss_3_90_0.rst nss_3_89_1.rst nss_3_89.rst @@ -54,42 +56,23 @@ Releases .. note:: + **NSS 3.92.0** is the latest version of NSS. + Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_91_0_release_notes` + **NSS 3.90.0 (ESR)** is the latest version of NSS. Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_90_0_release_notes` - .. container:: - Changes in 3.90.0 included in this release: + Changes in 3.92 included in this release: - - Bug 1623338 - ride along: remove a duplicated doc page - - Bug 1623338 - remove a reference to IRC - - Bug 1831983 - clang-format lib/freebl/stubs.c - - Bug 1831983 - Add a constant time select function - - Bug 1774657 - Updating an old dbm with lots of certs with keys to sql results in a database that is slow to access. - - Bug 1830973 - output early build errors by default - - Bug 1804505 - Update the technical constraints for KamuSM - - Bug 1822921 - Add BJCA Global Root CA1 and CA2 root certificates - - Bug 1790763 - Enable default UBSan Checks - - Bug 1786018 - Add explicit handling of zero length records - - Bug 1829391 - Tidy up DTLS ACK Error Handling Path - - Bug 1786018 - Refactor zero length record tests - - Bug 1829112 - Fix compiler warning via correct assert - - Bug 1755267 - run linux tests on nss-t/t-linux-xlarge-gcp - - Bug 1806496 - In FIPS mode, nss should reject RSASSA-PSS salt lengths larger than the output size of the hash function used, or provide an indicator - - Bug 1784163 - Fix reading raw negative numbers - - Bug 1748237 - Repairing unreachable code in clang built with gyp - - Bug 1783647 - Integrate Vale Curve25519 - - Bug 1799468 - Removing unused flags for Hacl* - - Bug 1748237 - Adding a better error message - - Bug 1727555 - Update HACL* till 51a72a953a4ee6f91e63b2816ae5c4e62edf35d6 - - Bug 1782980 - Fall back to the softokn when writing certificate trust - - Bug 1806010 - FIPS-104-3 requires we restart post programmatically - - Bug 1826650 - cmd/ecperf: fix dangling pointer warning on gcc 13 - - Bug 1818766 - Update ACVP dockerfile for compatibility with debian package changes - - Bug 1815796 - Add a CI task for tracking ECCKiila code status, update whitespace in ECCKiila files - - Bug 1819958 - Removed deprecated sprintf function and replaced with snprintf - - Bug 1822076 - fix rst warnings in nss doc - - Bug 1821997 - Fix incorrect pygment style - - Bug 1821292 - Change GYP directive to apply across platforms - - Add libsmime3 abi-check exception for NSS_CMSSignerInfo_GetDigestAlgTag + - Bug 1822935 - Set nssckbi version number to 2.62. + - Bug 1833270 - Add 4 Atos TrustedRoot Root CA certificates to NSS. + - Bug 1839992 - Add 4 SSL.com Root CA certificates. + - Bug 1840429 - Add Sectigo E46 and R46 Root CA certificates. + - Bug 1840437 - Add LAWtrust Root CA2 (4096). + - Bug 1822936 - Remove E-Tugra Certification Authority root. + - Bug 1827224 - Remove Camerfirma Chambers of Commerce Root. + - Bug 1840505 - Remove Hongkong Post Root CA 1. + - Bug 1842928 - Remove E-Tugra Global Root CA ECC v3 and RSA v3. + - Bug 1842937 - Avoid redefining BYTE_ORDER on hppa Linux. diff --git a/nss/doc/rst/releases/nss_3_91.rst b/nss/doc/rst/releases/nss_3_91.rst new file mode 100644 index 0000000..66bd401 --- /dev/null +++ b/nss/doc/rst/releases/nss_3_91.rst @@ -0,0 +1,70 @@ +.. _mozilla_projects_nss_nss_3_91_release_notes: + +NSS 3.91 release notes +====================== + +`Introduction <#introduction>`__ +-------------------------------- + +.. container:: + + Network Security Services (NSS) 3.91 was released on *9 March 2023**. + + +.. _distribution_information: + +`Distribution Information <#distribution_information>`__ +-------------------------------------------------------- + +.. container:: + + The HG tag is NSS_3_91_RTM. NSS 3.91 requires NSPR 4.35 or newer. + + NSS 3.91 source distributions are available on ftp.mozilla.org for secure HTTPS download: + + - Source tarballs: + https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_91_RTM/src/ + + Other releases are available :ref:`mozilla_projects_nss_releases`. + +.. _changes_in_nss_3.91: + +`Changes in NSS 3.91 <#changes_in_nss_3.91>`__ +---------------------------------------------------- + +.. container:: + + - Bug 1837431 - Implementation of the HW support check for ADX instruction + - Bug 1836925 - Removing the support of Curve25519 + - Bug 1839795 - Fix comment about the addition of ticketSupportsEarlyData. + - Bug 1839327 - Adding args to enable-legacy-db build + - Bug 1835357 dbtests.sh failure in "certutil dump keys with explicit default trust flags" + - Bug 1837617: Initialize flags in slot structures + - Bug 1835425: Improve the length check of RSA input to avoid heap overflow + - Bug 1829112 - Followup Fixes + - Bug 1784253: avoid processing unexpected inputs by checking for m_exptmod base sign + - Bug 1826652: add a limit check on order_k to avoid infinite loop + - Bug 1834851 - Update HACL* to commit 5f6051d2. + - Bug 1753026 - add SHA3 to cryptohi and softoken. + - Bug 1753026: HACL SHA3 + - Bug 1836781 - Disabling ASM C25519 for A but X86_64 + +`Compatibility <#compatibility>`__ +---------------------------------- + +.. container:: + + NSS 3.91 shared libraries are backwards-compatible with all older NSS 3.x shared + libraries. A program linked with older NSS 3.x shared libraries will work with + this new version of the shared libraries without recompiling or + relinking. Furthermore, applications that restrict their use of NSS APIs to the + functions listed in NSS Public Functions will remain compatible with future + versions of the NSS shared libraries. + +`Feedback <#feedback>`__ +------------------------ + +.. container:: + + Bugs discovered should be reported by filing a bug report on + `bugzilla.mozilla.org `__ (product NSS). diff --git a/nss/doc/rst/releases/nss_3_92.rst b/nss/doc/rst/releases/nss_3_92.rst new file mode 100644 index 0000000..2eabe8e --- /dev/null +++ b/nss/doc/rst/releases/nss_3_92.rst @@ -0,0 +1,66 @@ +.. _mozilla_projects_nss_nss_3_92_release_notes: + +NSS 3.92 release notes +====================== + +`Introduction <#introduction>`__ +-------------------------------- + +.. container:: + + Network Security Services (NSS) 3.92 was released on *27 July 2023**. + + +.. _distribution_information: + +`Distribution Information <#distribution_information>`__ +-------------------------------------------------------- + +.. container:: + + The HG tag is NSS_3_92_RTM. NSS 3.92 requires NSPR 4.35 or newer. + + NSS 3.92 source distributions are available on ftp.mozilla.org for secure HTTPS download: + + - Source tarballs: + https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_92_RTM/src/ + + Other releases are available :ref:`mozilla_projects_nss_releases`. + +.. _changes_in_nss_3.92: + +`Changes in NSS 3.92 <#changes_in_nss_3.92>`__ +---------------------------------------------------- + +.. container:: + + - Bug 1822935 - Set nssckbi version number to 2.62. + - Bug 1833270 - Add 4 Atos TrustedRoot Root CA certificates to NSS. + - Bug 1839992 - Add 4 SSL.com Root CA certificates. + - Bug 1840429 - Add Sectigo E46 and R46 Root CA certificates. + - Bug 1840437 - Add LAWtrust Root CA2 (4096). + - Bug 1822936 - Remove E-Tugra Certification Authority root. + - Bug 1827224 - Remove Camerfirma Chambers of Commerce Root. + - Bug 1840505 - Remove Hongkong Post Root CA 1. + - Bug 1842928 - Remove E-Tugra Global Root CA ECC v3 and RSA v3. + - Bug 1842937 - Avoid redefining BYTE_ORDER on hppa Linux. + +`Compatibility <#compatibility>`__ +---------------------------------- + +.. container:: + + NSS 3.92 shared libraries are backwards-compatible with all older NSS 3.x shared + libraries. A program linked with older NSS 3.x shared libraries will work with + this new version of the shared libraries without recompiling or + relinking. Furthermore, applications that restrict their use of NSS APIs to the + functions listed in NSS Public Functions will remain compatible with future + versions of the NSS shared libraries. + +`Feedback <#feedback>`__ +------------------------ + +.. container:: + + Bugs discovered should be reported by filing a bug report on + `bugzilla.mozilla.org `__ (product NSS). diff --git a/nss/gtests/common/testvectors/hmac-sha3-224-vectors.h b/nss/gtests/common/testvectors/hmac-sha3-224-vectors.h new file mode 100644 index 0000000..c4bb2bc --- /dev/null +++ b/nss/gtests/common/testvectors/hmac-sha3-224-vectors.h @@ -0,0 +1,795 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha3_224_vectors_h__ +#define hmac_sha3_224_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha3224WycheproofVectors[] = { + {1, "empty message", + "7eef1e40253350eb9307cc6bd8ab8df434bc2faf7095e45b50ffdd64", "", + "f2aa17e549253ac51a9332c5c2390fc0c5003c40bed255df439c3d05", false}, + + {2, "short message", + "8648ee936c6ebc5ae4bb48c1139a54e3ac5d897beec492dc4d740752", "2e", + "e4bbe7b3a8f173736a1b1e58283040bd20090a772ba1d1fa1f0f02ce", false}, + + {3, "short message", + "2297d78cc45faf9b885b36ac80205cc08e1b730f264f23f4edbbb406", "329f", + "ec7ef165239a3eea8ea6310c9b98f33aa036175be706fc0186a86ef9", false}, + + {4, "short message", + "0361a904f7cbd107a617614ab69d11208ee6d423b3ae90e2bb6d7e54", "e6e765", + "fcbcf9840d73b4143fbc2a988b801bea0212049e615dd0e5fd823b0a", false}, + + {5, "short message", + "264a8d2128e8fd0972d9acc66dc275b1286beeb0aff7ce8e97c7b96c", "25838e50", + "edffc65c657d16730fe63bb6326ab7fd4366596ed6a62c26ae43d3d8", false}, + + {6, "short message", + "6dde8828f09b7aa981082aa116fca3b7341721c0440803f52cc9732e", "be81602da7", + "6b349764a2d6cc6cc8ecdbbb2526d7cb9acfe2abe7057dae3755ad20", false}, + + {7, "short message", + "3ba156ffdc55d155bd085105aca64d13044db60c82cf2cd9d61d098f", "69c76c8937a0", + "f0a6bc996be079f62c2c6a73337ce50013a05180a876d3363e07f12a", false}, + + {8, "short message", + "9c2739bae2a863fb0236466ba3408f4eec8d43206d56bb7aa2f8f75e", + "aaf4c9146db948", + "a473dd1d6f34fb1cf2586d1bb5a414d232e7dcc7397a1ef1735fb46f", false}, + + {9, "short message", + "31d9cae2c3df064018209b121f9e883976ea757942ecda9d92fdadfd", + "b844289529206f5a", + "2e44f4d141c338a4c882be2c8d326dda3ab53dcb02536a2096392726", false}, + + {10, "short message", + "89a1b9e9004444c1d4e967570c21a05512d3f618ec168fc3e13ea5a2", + "6b42eb6d84e90c70c2", + "56a078272a84a7dd98d9fd2551679b308f2ca0b8a31ec90448ffc2e4", false}, + + {11, "short message", + "4398731752fd7af1db86ebccbee0ad65eb5faf00ace6c9aa35441faa", + "1ae2e7d917c48026570d", + "37e090b83d12e0663c9ea9037ed32ab67afbfe43783669e6f57544e4", false}, + + {12, "short message", + "339460d6bb26ca60ebcef10c38587b9e575c398491782ccf9e8f6803", + "ca03eb4f37536b2377738e", + "ab81ecca201e69b7a6c11102943d141157865b6884b67da7593b6953", false}, + + {13, "short message", + "025f8380d10b8207b3623e4a90f79c3e753b1be6a35b88b68330a40c", + "e57daef9ede4e915c3a9eece", + "a22d2b3586b2f574eb65798f18a04e763935c88be53963a2e904838a", false}, + + {14, "short message", + "0bdc5f51f8a1a35d75554be70efbcdf51e54f30fa4696f727431941f", + "cc3dd1eb0690f7af09ad408f9c", + "96d7cc8bae498a3345b05d399b126162e156920eddca40e6f488f5bc", false}, + + {15, "short message", + "5ada97d90a74a7d4a68c5464fff25a9b7fa2e75d6acf0a59f143a2e9", + "3fe4ede158af108e09f543e14ab7", + "c5c07816701eecfa1d61b5c11ed9ed1d11ec495f711ec9752e6787ba", false}, + + {16, "short message", + "007afe6b7c0701c30cb76b431afa3510c8b31d21cfe0bbaa5289cd08", + "c2cf80005c591c1f737369fcc212f0", + "fb651bc4f41ab50d88849739529199519e33e948635e246235c81af3", false}, + + {17, "", "26491168a32ce8cbc4c0cd64107e4fcc432f07d59c992862e1e55b1e", + "15e51091b4f424ba1fdecb5e2fba11f6", + "6ca3ae8f244120dee0b4c1d4db3dbed42564c04206fb47cfded97662", false}, + + {18, "", "6978b6c134dd6949832d65e4cb9c1e1dc36beae4a134907c80da0f44", + "6641d834b3fbfdb5d178007801f7b4e7b1", + "fffc90de02cf66f6c9dc4272faf6b5cdcb165b3295add1b359f504cd", false}, + + {19, "", "9f9fb280adf12e739548b1d676cb794d685b9104e63b619b055cb60f", + "91513dd6de40a1c23f8d1eb0ab8f5ea6f6835506ec750894", + "c49f485f16bbc63695ee3e5221d8b3dfda5b85aa461dbe925e44d18d", false}, + + {20, "", "3b1b16e6dd2e69559dbeb964e10fc94c068471b2374d3a2d24d2d466", + "8ecd55b56c668dcb8e8b1efd699c0e4a464204d29af140f87d3f5075495378a3", + "9d849dee727eed22ae379f5bbd3f77a0f35d88f8f39a753013bdd4d0", false}, + + {21, "long message", + "fc296398845063e661bdf36ff3615926eaccbf06947cd31e6677f710", + "62bd0ad75d64c554cb2cc109c6e4019fc601c61cabdf99f8de871edc17a301b4c1f55a15e" + "d66f91eb4666dd08bc59c", + "74dd2a6644c4ee035ae39ad8ff88c93003eeadb7ddc3042e69975816", false}, + + {22, "long message", + "6c98d1feafff9861351966bc6ed19ed467f9dc767fa0df6b56955554", + "e99d51a1d9a25c5842501a5383133578c8debe501581b1610f7575519bbd26f01ab7cbe06" + "9bfd5df3699a2fea5b461a3", + "66f22e75e9cb458aab043c45ac3914e51d4cb6bc4c9c9bc376b566d9", false}, + + {23, "long message", + "42a164f94e33d574118e0f8c938bbc2874bab219ee7a179f21e13b02", + "e895639631f8b5d48e3ce00eb310bf129976ffced96a6f30a09d6ac1c291f73e93690526d" + "86cc4d1a8e21c11f5a8979308", + "bf5f90d12aa12812778beea4cebe1972c715a04d90aa651f95fe58d2", false}, + + {24, "long message", + "c1b5b91210667e72aa510346e1811358815a3330c5ed27a695c39451", + "bf1086c3ea8b8840418c690c92152c73a6730bd1a0210c8b1d25c43a2193e739684f04a25" + "a52cc305599f22ba6f70c8ed00d10b914a9522a25e06c471ebca2ff1bb4fa6799b8512202" + "0978dfa66ef12ed26ad38331b26eaf591afceac96d8c771eae50fb7f46242337dd0029f48" + "13b53", + "37d74bbc46661f0e2819bf745b136ab9a2ac5833b0b53ec4e25fc59a", false}, + + {25, "long message", + "4f09d14d40e475b68288c080668ebb1bc8c6be3191f6664d91a23fcd", + "ae8b6ecc219b368d22fb596e42652d0bffee0b20d69cfd089ce3dc9303ba2f054ccaf5f51" + "47c7968a028b140f5e3c9274eae2afc61c3bb6298dc598df77dec1cd2dd84212693b082b8" + "132ad0f0b19f66db69fa7f6bf352b4feac724ce048440d2a42b44d53bb62fe2ab25f7f54b" + "edf9ce7ddafd8e09330dacc6d52ee9b65f5", + "8cf86ed44adb37c55b7a9be866b89b8fec1d772050b5424a5fa890d2", false}, + + {26, "long message", + "613f414cd94130bb8a6243e12eccd90836808428b4a7177867934da0", + "f696b9063b64816a45064f48ca05ffe4d5cc3d0b3beb0dd4057b6ada994969bf039bfbb72" + "ce197101cc4e4b3959b3702f045afb7fb3113c997606dcaf2aaab31e02ac6ee597dfc0f91" + "43d0effedc9ae7ea10e7ddb1db860a91afec62c48ed9c0a6c10b4da1de748caf7f7a5e017" + "99ac57090daf4e3352fe859c5131c205d262d", + "0c8165ba519c38c931095d5d4cd13c8fb3035252896f26c058167fe0", false}, + + {27, "long message", + "5b88275307aaf691a0cf0c51f50553dda972d14f8afff98e62c2d972", + "57e4efbde1ce9fee2e29db19dfc6ba3bcb17f33765af7f20133bbd1910d542145c7def187" + "a304517b8d8954454a90a717f67f9c8cc587965fd9b43f41ecc50b3458d8ce9f66b475f1e" + "aef4a29ba89a3d58e5011c92acd1536fcd18abec29411b389b64f7f344777ed6deae32127" + "abaa69a50ba22a11d6e59354f2ff0e3c3e3293cdc335411cf55b180bab59da36903a6fba9" + "1df34d2aadf7017ff49a4fbd73c9c74469f225dafc0a0c7048c2b824cc0cba8cad8aced11" + "b8cdac3243cdb5b654f7a15ce2014e92ee287d06904d778512a1b1f5ec0c9b090b9ab439c" + "44266b6be3d6a98947d26d079e4f7e849f3c6d93de98624e6c5f53ec02dbd368bc24a300", + "9c62c309977641be25ede8f7cd227df71bbf1514d26c0df5ff3adfe7", false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "42b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "14bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "41b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "17bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "c3b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "95bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b9f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bada5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f9cfe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbdadae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe21d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae01dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe11d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae31dc2dfad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d26e2600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc25fad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662610c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfac9608568f019710300a5e0b56672f6199fc62eb", true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662e00c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2df2d9608568f019710300a5e0b56672f6199fc62eb", true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662602c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfadb608568f019710300a5e0b56672f6199fc62eb", true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c96097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9609568f019710300a5e0b56672f6199fc62eb", true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097ba0d45422de6c5beb14dc05f76ba6da", true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608568e019710300a5e0b56672f6199fc62eb", true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c970978a0d45422de6c5beb14dc05f76ba6da", true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608568d019710300a5e0b56672f6199fc62eb", true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c9709faa0d45422de6c5beb14dc05f76ba6da", true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608560f019710300a5e0b56672f6199fc62eb", true}, + + {58, "Flipped bit 216 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6db", true}, + + {59, "Flipped bit 216 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62ea", true}, + + {60, "Flipped bit 217 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6d8", true}, + + {61, "Flipped bit 217 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62e9", true}, + + {62, "Flipped bit 222 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba69a", true}, + + {63, "Flipped bit 222 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62ab", true}, + + {64, "Flipped bit 223 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba65a", true}, + + {65, "Flipped bit 223 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc626b", true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "42b8f94fe31d2662610c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "14bbda5ae11dc2dfac9608568f019710300a5e0b56672f6199fc62eb", true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f9cfe31d26e2600c97097aa0d45422de6c5beb14dc05f76ba6da", true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbdadae11dc25fad9608568f019710300a5e0b56672f6199fc62eb", true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d26e2600c97097aa0d4d422de6c5beb14dc05f76ba6da", true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "15bbda5ae11dc25fad9608568f019790300a5e0b56672f6199fc62eb", true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "bc4706b01ce2d99d9ff368f6855f2babdd2193a414eb23fa08945925", true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "ea4425a51ee23d205269f7a970fe68efcff5a1f4a998d09e66039d14", true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "00000000000000000000000000000000000000000000000000000000", true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "00000000000000000000000000000000000000000000000000000000", true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "c33879cf639da6e2e08c1789fa2054d4a25eecdb6b945c8577eb265a", true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "953b5ada619d425f2d1688d60f811790b08ade8bd6e7afe1197ce26b", true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "42b9f84ee21c2763610d96087ba1d55523df6d5aea15dd04f66aa7db", true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", + "14badb5be01cc3deac9709578e009611310b5f0a57662e6098fd63ea", true}, + + {82, "empty message", + "26f314170b054daef5349804da18f969c94174baca2beeb009d47a23", "", + "32f3e12826c2c869660ed7ac65a5", false}, + + {83, "short message", + "17429a622dc18d38715b31f8f2b963108e952a6708f3e52d5b25848a", "da", + "24cae2ffb844b1074fbecfa21585", false}, + + {84, "short message", + "0acfe12d89acd7d9ca49bae6318f35b2fbbfc84e5d2c9d4954beded7", "03a8", + "2594d62daaedef9e87080713ead3", false}, + + {85, "short message", + "5a0680f112354bd467865b19ae956b2719e21ecee1a913bdca294339", "a0fb73", + "5111521c27f8235f154cce85d02c", false}, + + {86, "short message", + "46fa59aa524fe30a0f4e39561b5666854440dbd970bb59925ce0ae1a", "c8b2f557", + "038521397a49e95f43c741276bd0", false}, + + {87, "short message", + "29efc5ab5d30e535357603f2711b6e0aa6cf4613546c23144436d213", "c8d9f5b373", + "bcce4dd5a90f1a0431d45e8f1dcf", false}, + + {88, "short message", + "fe60e0322035538f2b1de9de380cde35f291deeb6e027b5d829ecd1e", "185e4cada4f4", + "a11873691fd9ffcad1f1a3f66511", false}, + + {89, "short message", + "1bf7fcdf3742fa77991528cc1c678b98be9876a8c8c5b809beab7d9c", + "9c0f34a5654279", "63722a805684c31a37aba7f5d79a", false}, + + {90, "short message", + "32533c16f792ed0acf8e9e60f54aa173937c7194b882ecc3e671009f", + "f968dc7a19afe339", "348666b68285b51787be5d8d50ca", false}, + + {91, "short message", + "3cf28a476ce7eaecfc3fbf1b0859a042a568740a584c77cb8f9603ac", + "dbca9e4bdd84b38934", "49a78665d8f77df14ad66047c377", false}, + + {92, "short message", + "a2a8090aef69277f92830ec7404c032f8fdebfbceabb9e590968a77f", + "6b790a946a83364c79d7", "e7c0183be70df5d06d288827012b", false}, + + {93, "short message", + "6f999929e91672bac35ea70f8ff8b9aeefa5489493c99b0d27797207", + "b7dabb237aeae2be8b5e19", "920b9e959d3d05bc7065d4f126f1", false}, + + {94, "short message", + "4525b96c263e4d2dab2890aa55f3cc503dc1206d9f1915a6fba5ae61", + "ef858f496fcb7c3fabbfb52e", "b08764fec1a8a75c3cb81204d932", false}, + + {95, "short message", + "f89401acb0a60d07fd733ed563f2ee241f4ecfea8114587a44dfdb0c", + "7d3c0918085984df95097afa81", "32b9e37330307f47ef400277c9a0", false}, + + {96, "short message", + "58bce8c0d17fc7131d2fa2262409bb14663a6e68019f88299987893e", + "1ca50cd6c3f1225eb6c4ec4d6a90", "2adc605564c6da00bb3abebd5066", false}, + + {97, "short message", + "658e510fba4e2208afac98333f9e242bc118f6e79ef0661d619dd32b", + "32c385b75ae84558ca302881c51639", "382cec4b6a5e80a6d703ef323161", false}, + + {98, "", "6a41cc3ca7142ae14e6d979a3f890a331597e592dd74520ce4ea660f", + "78e3a770a8aaaf039fd4c9b6a1780411", "fc51222de880062beb4fb986ba71", false}, + + {99, "", "b8972b93b68302cbaa08d32904eae6375a66f3508ece3c9b22382c7e", + "3687e6287d73c9e3f679a50e7671247127", "2f9a78f5175f17372920c8e7638f", + false}, + + {100, "", "bc570932abfa11050ad4fc80a6d5afe3271d86aa29dc62738b207d14", + "d53202acd2ec74d746531bd9ad3016d0980e0166fb427a08", + "edba9b4466e1145179c53b5eb65c", false}, + + {101, "", "c92a0665c12e87026e1b344f971fdb0e474d450cba834aae40e2d21e", + "4a3a85ac09f5190ab94f73fd91d98f056015263c89ed5da223fc4675cab25cdd", + "05758de1ec12f00f069eed387c83", false}, + + {102, "long message", + "6fbef67cfbacc98c63252b1ca009a60e8e3479769a2d449fb4639064", + "006e179eacfa9e1e628bb7823ee9609ae7968b6df90e176f772a79088d37e9b15cab31292" + "2aaf8fc6583a341002bda", + "c3756d9a9a1ed56b97d7b95e7e46", false}, + + {103, "long message", + "700b09908174f1072e31ae8ccbda1c4460fcf21fdf146a11482b210d", + "f772564ecb109e80eefb1d5a7f1c95e203ba4c980233dd8d13de3046079a6b2ca26dc3521" + "e5e0c807eae7a79877c73e9", + "1f39ce1fcdfc2f19a8f34594f0b1", false}, + + {104, "long message", + "e18a20246ebe1b5796dbfe35110efc7637d74a355f0a6758d4a00b7d", + "77720dde530e6eeaa0e9af3311f7e99189d6c4f7d71d0a4207d62c766bee32020c92f5d5d" + "28d5de4d0d9c94b57ec05f0c3", + "82dcc13275c2178befa27462bff8", false}, + + {105, "long message", + "3c4585a775bec76c7d8b27b87e70a5863a85e6111f3161b3815f59b4", + "628c0ff8c432d74f4cfb77ba46b7cef67a48ac053cf0c18be41648736abcc8c6fbe498152" + "9babd4b27866e34ced16d8b0bec456e14653a1422f5a62556d20b0fe4e03749d5f6e98637" + "5062dbdd82f6e9e1d4ad547c31530c2a31383c25ff57e879eae99d9b3a0da1f3c1dacb975" + "067ac", + "5d763c4c224c4034de56ef2aa1b2", false}, + + {106, "long message", + "acaf94cb1a8ff4677fc586d2bdf981ac3a656b208215e0a7647b420f", + "314c2c25465de3427279dbc89436505fee6d37d56fbda0e5e2a49449d9dbf003027f2e4ef" + "5c52f7af93fd80155a66a1cd6b9885b56d828058a0de7d247e19580b2e8dcbdef2ae46840" + "565fd8b276569c19d7e185116ea11ad67d5fc27f4a6816ba45be5d14f3ba4315c74d1edb2" + "0f217b116be852b62a7f4e32b3e708ff9f7", + "8876296366c17d836b269129af65", false}, + + {107, "long message", + "e490348ad78fd2cd5b51f2795b79e5805ce1d9baf1151dbdf995e1b0", + "f6ff1845842b9e46f79adb1079aff47397391dc269bc0c899ba4087b58a676f5408c3f763" + "7ffc4772af3e41b5cea51058bc528ea09bb4bd797594c798b0f0ff881695e98c08bbb040c" + "12c5cbdb228d61cc99e332e963128d06e97ed2eefded2e1b5a035f3bea68273efac03a894" + "dcf2fcc79a5696218595404b2758deb9a80ee", + "f6970364f45c8b91d57947649742", false}, + + {108, "long message", + "c8e099dbb60a8f19d8b86856b21c55f3437ae27f77dff9808f12a1b5", + "edbc109bf28c8ab32b1238eff1cd14308cdd845fa919bfd8a00c991cf9a8d6b05dd8cc7d2" + "393782949c899de79e771ef7d8567f32287623963048e6c80d91f0778dd63311106e9d091" + "3c08b7a0b7253fa3ce307ac40ec55a4c445f5455a570fec090e251e8646bada1a486d41c3" + "794bce5639732f2c6cfd58081c479a68c515f5d47bc5b2f1622a08d38a596a817f3d4efef" + "8003ae430e6ae93b0a3ae8fa95a2ace3d24d90a9ef861dc04c13e38f6e524b3abdf9cce4f" + "a490707c80c16e254b7a71af00a12dbf473b50b9fe4097ec00ab27e66b6f3022b0f101ee1" + "a9f7fa8652e9f095ca240a446067446867f78e8352c4110794c2e3383dfedfb35e74a33e", + "865b855fbbcb0feb5dbea3507efa", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "42b8f94fe31d2662600c97097aa0", true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "14bbda5ae11dc2dfad9608568f01", true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "41b8f94fe31d2662600c97097aa0", true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "17bbda5ae11dc2dfad9608568f01", true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "c3b8f94fe31d2662600c97097aa0", true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "95bbda5ae11dc2dfad9608568f01", true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b9f94fe31d2662600c97097aa0", true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bada5ae11dc2dfad9608568f01", true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f9cfe31d2662600c97097aa0", true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbdadae11dc2dfad9608568f01", true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe21d2662600c97097aa0", true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae01dc2dfad9608568f01", true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe11d2662600c97097aa0", true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae31dc2dfad9608568f01", true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d26e2600c97097aa0", true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc25fad9608568f01", true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662610c97097aa0", true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfac9608568f01", true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662e00c97097aa0", true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2df2d9608568f01", true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662602c97097aa0", true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfadb608568f01", true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c96097aa0", true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9609568f01", true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097ba0", true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608568e01", true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c970978a0", true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608568d01", true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c9709faa0", true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608560f01", true}, + + {139, "Flipped bit 104 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097aa1", true}, + + {140, "Flipped bit 104 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608568f00", true}, + + {141, "Flipped bit 105 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097aa2", true}, + + {142, "Flipped bit 105 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608568f03", true}, + + {143, "Flipped bit 110 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097ae0", true}, + + {144, "Flipped bit 110 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608568f41", true}, + + {145, "Flipped bit 111 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f94fe31d2662600c97097a20", true}, + + {146, "Flipped bit 111 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbda5ae11dc2dfad9608568f81", true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "42b8f94fe31d2662610c97097aa0", true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "14bbda5ae11dc2dfac9608568f01", true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "43b8f9cfe31d26e2600c97097aa0", true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "15bbdadae11dc25fad9608568f01", true}, + + {151, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "bc4706b01ce2d99d9ff368f6855f", true}, + + {152, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "ea4425a51ee23d205269f7a970fe", true}, + + {153, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "0000000000000000000000000000", true}, + + {154, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "0000000000000000000000000000", true}, + + {155, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "ffffffffffffffffffffffffffff", true}, + + {156, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "ffffffffffffffffffffffffffff", true}, + + {157, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "c33879cf639da6e2e08c1789fa20", true}, + + {158, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "953b5ada619d425f2d1688d60f81", true}, + + {159, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", "", + "42b9f84ee21c2763610d96087ba1", true}, + + {160, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "000102030405060708090a0b0c0d0e0f", "14badb5be01cc3deac9709578e00", true}, + + {161, "short key", "77b0de54e893642caeac34bfd1ab", "", + "ec98a3472919934900eccd3e0ec3ed6b9def6f324b02fd35e1938194", false}, + + {162, "short key", "7346c7e4b118b24e51f4512f906a", + "506d4faf624f92965aa6b5c01e0c80a8", + "09a4d9759d544b73bfd7a663adf5b13c0499073d861f9e1adea5df83", false}, + + {163, "short key", "caa864179f66e826a0ef3b5edbe3", + "73f64253706ce6b5094c24ee012ece9ac2495283dcd8c7f1114e81e4587d8ea4", + "36db20b14b79d6294c9817d1aba325644f58526a1cda8f6f493711c3", false}, + + {164, "short key", "663a97d6b5493dbfa60c8dd087ed", "", + "afa2a693fb38a01a7ee809b44624", false}, + + {165, "short key", "b08c345a7c7166fdd33ce768c1dc", + "9964d80ee2338cffe28483aa446a6f76", "73abc31c5da5608373ec9b8248c7", false}, + + {166, "short key", "fc9d2883c67534fefbd6ed4a9798", + "a49820c194a43deef11f3a0f4eaa80425439fca9d9f1d7c8e665d6b130e4e908", + "9a9703ea2037345f994a3a9d1267", false}, + + {167, "long key", + "cfa639656cd49f8d70f0b1a5a056ab4fc0aeeebc91338d067f36c47b6012dc8d856b8abcc" + "4e1abffc910aeaee21b4d366e907488ffd0ca55b36a621aee0b2e9f0c", + "", "75138f920397e8dc25abff1bbb844fb26a05f39f9456cf7157968b2b", false}, + + {168, "long key", + "b36d3d47a4585b401fc64c98eff56243d4da78863063d814e88f370b92576406d447fcf3d" + "129a1ede57ddc56ea3a0a1f100105a95e83138cdf45ecf2a5992acf90", + "15c75a64b04d097af2371af380079eb8", + "0419e735f2ed98f26ef36f15c320a92512a4c3a53383d255464b70da", false}, + + {169, "long key", + "cf78b991382db5e8666ccb2333fb672179b10a75cf9e5a7699ae640005e19772ef6499a3b" + "c97f12e58e835bb0017bb3b2e64c6ab44a0d619dfa0363484d1c991e2", + "f661e598f180f25dc6dd76db8a9e0e4c9c272b9665a6b1756560c723b8e08595", + "ca4610a8d081fc133fe6657700af54ee66fcda80f4bce0d4be110b51", false}, + + {170, "long key", + "3772ff6bb4e5b2811cfd4d6a3d34dc74bca3dbf89a5817b79d8472a1383b8c9afb27b3006" + "196ce9966829eae6a313c2d724d995f4def17117c09edcfc8c0cbbc93", + "", "1243fc7ecb0fb41e777d2207a72e", false}, + + {171, "long key", + "2ba910bc0bca90644cb21e96063e2cd85f5dd02fda75d353c9b51eaf45eee94c165ca6592" + "d6cfdd987bfdc1cba66363d535a14b2f7ead841b17c4d76a5049105f9", + "7ba461040de9ea3cefd4809124f78b39", "1f30f3b7a7ff3971032def03bf73", false}, + + {172, "long key", + "7fcf3cb1b1c5b537492aede4689284b5881935e3537bb7307198d6518e7a6aabf70b50b44" + "e4a8dfee35e9f5cbada7447e511a37209390fcd171c62075c6a8bf1eb", + "83d29c1c4d059ddb0d2aca787e5b701bac3953fb9bc72dc87b1ef92a582e9748", + "dd10401fac834914f0a9a574c65e", false}}; + +#endif // hmac_sha3_224_vectors_h__ diff --git a/nss/gtests/common/testvectors/hmac-sha3-256-vectors.h b/nss/gtests/common/testvectors/hmac-sha3-256-vectors.h new file mode 100644 index 0000000..f46b37e --- /dev/null +++ b/nss/gtests/common/testvectors/hmac-sha3-256-vectors.h @@ -0,0 +1,841 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha3_256_vectors_h__ +#define hmac_sha3_256_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha3256WycheproofVectors[] = { + {1, "empty message", + "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", "", + "a3c58470afa8835d6e2357fb7b1cd07f8c4bc4c7874ca59d83163f046a9e227e", false}, + + {2, "short message", + "8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a", "77", + "f709a35d41e82e36955512bf5fc1af0c1a9c580ff8fc3199bcb7454027029282", false}, + + {3, "short message", + "85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9", "a59b", + "bd323e494c3d22bde1d11dbde458f81bbe590007b42c4cee1cc45030d2b733cf", false}, + + {4, "short message", + "48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d", + "c7b8b2", + "7ad928d2f7e905aaca9bd63d34e4b84c58ed37f439b9b85b33f1f47c8baa26da", false}, + + {5, "short message", + "de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139", + "cc021d65", + "8a5db60345aa7cc4afb39e645ede87b16e73d37df045623ec58e9e901f96e224", false}, + + {6, "short message", + "b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c", + "a4a6ef6ebd", + "dfd1ddfec9c5133d1a2be33c4a978d3bee78740895a5b1e15c54542842e4c8de", false}, + + {7, "short message", + "1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78", + "667e015df7fc", + "ca5e8f039efc1137cefd128c40e275e727811bc2f785f7222343c2866f80b44d", false}, + + {8, "short message", + "32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154", + "4163a9f77e41f5", + "06d38848b90d0a797567cb6fa68e3b2d970b2c52ea9114786eb54aa22d403e70", false}, + + {9, "short message", + "233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938", + "fdb2ee4b6d1a0ac2", + "799b30418ec2619936b0260bb50264ef4c8233997418604d04f8e8d318d4ff3c", false}, + + {10, "short message", + "b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b", + "dea584d0e2a14ad5fd", + "684383e2460fd270044532e95b5e83fec520ffa99dd2a898aa8c88a5d76da02d", false}, + + {11, "short message", + "d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561", + "18261dc806913c534666", + "665b8f703c719a6a4bfce97567050aba77aaeea66e70fd3ec37d52b9b80ec937", false}, + + {12, "short message", + "835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463", + "26f8083e944bacf04e9a4d", + "5208852f40c5fe6e97ba733a9fd0aa39e039e1b2d2501da361ae0e92fcbd6e7d", false}, + + {13, "short message", + "055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591", + "bfb7d6a08dbaa5225f320887", + "678908a602c9c215049a92221f22981039c2cfd1c699bc360f7da5e6d0967b5a", false}, + + {14, "short message", + "e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a", + "7fe43febc78474649e45bf99b2", + "80bdbf6abc65ee4223fff5e91d61a4a3e3973286dfb4e62b51bff7d2e4a4e43c", false}, + + {15, "short message", + "b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48", + "81c7581a194b5e71b41146a582c1", + "4a57e7b7d438b93c8b7951ef789b93a13b20d6463fdbd4fa0026354b9959a273", false}, + + {16, "short message", + "9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989", + "2a76f2acdace42e3b779724946912c", + "f95b627660ece175304f36a701e647f26f0794b6d5e226f2e272ef9e9bf69744", false}, + + {17, "", "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "aeed3e4d4cb9bbb60d482e98c126c0f5", + "4c5198e69a42db2d77aae9975c96429970a4bc64dd906d8cb16883a216a3f304", false}, + + {18, "", "5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824", + "90fea6cf2bd811b449f333ee9233e57697", + "a8ade6e91e97abb4cf6e92d4bcf1fb3b8f1be3b9da4add09b0e4544b978fbe14", false}, + + {19, "", "383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5", + "3202705af89f9555c540b0e1276911d01971abb2c35c78b2", + "e9b4fe8196723db56d59221197f11a713f21a17fd217788726c4d98a4f5730a0", false}, + + {20, "", "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "d565faa179be14d8c6679e00235fda9db5b4bc13c00b876be62cf61c30dd8392", false}, + + {21, "long message", + "28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f", + "9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f" + "5166935c86f0441905865", + "2876012e6bdfc89899b8d080f5e3ac584c4150e5e0bbbea3a98baa68d74c7893", false}, + + {22, "long message", + "8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0", + "d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367" + "d2eee75c8f805730b89290f", + "394ad185fc8d8b1351c4a3aa96e7f6ccd8e817d86f244a427791f865f5aa1d3c", false}, + + {23, "long message", + "69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10", + "1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c8" + "9f94501a8ade41b26b815c521", + "928d84f9ce34b5b5e6c1d7486a369f2d94186629aad94d644c16728863eb619a", false}, + + {24, "long message", + "23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf", + "84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3" + "733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b" + "9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea20852" + "9a648", + "0e408a884cedac6f019dfc13364dcaf490f3f542b3d4795e10bf9c55641e3b2e", false}, + + {25, "long message", + "7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf", + "9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc" + "937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a" + "6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba" + "956c13508c1c0c25310105239ab73629e30", + "8577a591c1cf204334bc3f45008dc373d2c366c8959a144db9681b364a591d54", false}, + + {26, "long message", + "82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4", + "6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eec" + "c7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5d" + "e77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a" + "0e9dc1ea65f5632730e8744d1db2c40a6595b", + "773a539701e55662fe11f01690b70dac29366e55ac57c251993439972ead7ce4", false}, + + {27, "long message", + "d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db", + "696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31" + "e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e3" + "7dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327df" + "e8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357" + "408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff798" + "6ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df20880" + "81bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe", + "2f2a862bd0d9f305135629396b05988054e0f5103883892271a20b7902e0cb86", false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "51ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0a7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "52ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "097aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d0ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "8b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50aa1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7beb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1686034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb1eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606024383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eaa9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606014383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9ea99b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab16060343837e4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57280d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4a3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80c7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fecb3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a88d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b1b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d5bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4ac0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd1ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a241a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0ea2626394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a141a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0ea2526394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc02341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0eaa726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {58, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc0", true}, + + {59, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ec", true}, + + {60, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc3", true}, + + {61, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ef", true}, + + {62, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccf81", true}, + + {63, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ad", true}, + + {64, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccf41", true}, + + {65, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b36d", true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "51ab1606034383fe4a3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0a7aeb9eab9b57a80c7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab16860343837e4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb1eab9b57280d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab16060343837e4b3b4bc0a341a8ae40ac85e455cdfeed4cac902a7b8ccfc1", true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0b7aeb9eab9b57280d7bd0ea272639ca56144e2a0fc0b979d090c1846c14b3ed", true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "af54e9f9fcbc7c01b4c4b43f5cbe57d1bf537a1baa320112b3536fd58473303e", true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "f48514615464a857f2842f15d8d9c6b5a9ebb1d5f03f46862f6f3e7b93eb4c12", true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "0000000000000000000000000000000000000000000000000000000000000000", true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000", true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d02b968683c3037ecbbbcb4023c128aec02c0564d54d7e6dcc2c10aafb0c4f41", true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "8bfa6b1e2b1bd7288dfb506aa7a6b9cad694ceaa8f4039f950104104ec94336d", true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "51aa1707024282ff4a3a4ac1a240a92f41ad84e554ccffec4dad912b7a8dcec0", true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0a7bea9faa9a56a90c7ad1eb2627384b57154f2b0ec1b878d191c0856d15b2ec", true}, + + {82, "empty message", + "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", "", + "d087790afab25477456d379cab1639d1", false}, + + {83, "short message", + "e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc", "40", + "9bd4531b76933c9267d5dd0ee9bc81b9", false}, + + {84, "short message", + "ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f", "6601", + "79965f484fff8350ddf0fcb0cc513f13", false}, + + {85, "short message", + "73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b", + "f1d300", "37747ec77e7844a81c3355f9c2f72875", false}, + + {86, "short message", + "d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77", + "2ae63cbf", "ad6d1627d7a1f67b855381da44fd4ec3", false}, + + {87, "short message", + "2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8", + "af3a015ea1", "0fca2284a5d3346cbf9b98a65822a8a7", false}, + + {88, "short message", + "665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c", + "3f56935def3f", "8cd87f6ae1614e4a731d52ad0d877442", false}, + + {89, "short message", + "facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493", + "57bb86beed156f", "73941b79cb7c9f0c7b711bb94441b432", false}, + + {90, "short message", + "505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5", + "2e4e7ef728fe11af", "5cf2b04fe3af8d2694ba4e614367c08a", false}, + + {91, "short message", + "f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf", + "852a21d92848e627c7", "3e06ab8ab01fffb65865a7e8a123b374", false}, + + {92, "short message", + "64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4", + "195a3b292f93baff0a2c", "80cb2ab4e57ec551fd73a3fcbc622538", false}, + + {93, "short message", + "b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c", + "afd73117330c6e8528a6e4", "71ceb6dd3ccf0c96b15ae42b432c1d83", false}, + + {94, "short message", + "2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc", + "0ff54d6b6759120c2e8a51e3", "ef5e5e4a958e7820b13fce3d181f2a76", false}, + + {95, "short message", + "abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8", + "f0058d412a104e53d820b95a7f", "d56cbaf3aee9310f66083f242a37affe", false}, + + {96, "short message", + "3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19", + "aacc36972f183057919ff57b49e1", "6520b49b8a11abdbe5ac46f4ec00ffbc", false}, + + {97, "short message", + "c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa", + "5d066a92c300e9b6ddd63a7c13ae33", "3f14e6b55d2691a6048b70bab7ceada6", + false}, + + {98, "", "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd", + "cc37fae15f745a2f40e2c8b192f2b38d", "22f48f8668f5c2505315f0b525cf4f95", + false}, + + {99, "", "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7", + "d5247b8f6c3edcbfb1d591d13ece23d2f5", "31a2a03723c51e04611ab09d47bf2598", + false}, + + {100, "", + "0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5", + "13937f8544f44270d01175a011f7670e93fa6ba7ef02336e", + "ed651a977854fb5cc577ab7db7b567af", false}, + + {101, "", + "96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892", + "91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18", + "a3cdf96778e1f9a42a89f91426873ff1", false}, + + {102, "long message", + "41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4", + "58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3f" + "a55709b73bf620cd9b1cb", + "15cf5da2312cfd8f9debdd8b3ab07d6b", false}, + + {103, "long message", + "649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe", + "39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe67" + "2f13d0808d8b7d957899917", + "5ddcacb9ad0b02dac96012b4a4d1729d", false}, + + {104, "long message", + "7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f", + "3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0" + "e7dd7c43ad35fab1c790f8047", + "781c196c0d71d88e8db7685571ad13e4", false}, + + {105, "long message", + "17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d", + "7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f2581" + "3515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac" + "163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e6" + "3bf0f", + "3c31e9fa2ea634f2bfbd0d7f6dbf29c2", false}, + + {106, "long message", + "424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152", + "d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d" + "08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64" + "af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466" + "019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0", + "0f937aa5b5aa5efa6f8c1940c9b57b19", false}, + + {107, "long message", + "15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6", + "d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd" + "1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098b7f981b2af5189a6adedff5" + "3a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b" + "9527e07d08af52dbcb91ceb3d8b412a2b2402", + "b2948a1b6fa0558d443c0b8cee87c4c8", false}, + + {108, "long message", + "ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0", + "238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1df" + "c18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9af" + "be9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b14" + "3f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a" + "26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7" + "d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db304" + "7e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560", + "9c899283ace03520d5109e43c30d4698", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "51ab1606034383fe4b3b4bc0a341a82e", true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0a7aeb9eab9b57a80d7bd0ea2726394a", + true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "52ab1606034383fe4b3b4bc0a341a82e", true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "097aeb9eab9b57a80d7bd0ea2726394a", + true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d0ab1606034383fe4b3b4bc0a341a82e", true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "8b7aeb9eab9b57a80d7bd0ea2726394a", + true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50aa1606034383fe4b3b4bc0a341a82e", true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7beb9eab9b57a80d7bd0ea2726394a", + true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1686034383fe4b3b4bc0a341a82e", true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb1eab9b57a80d7bd0ea2726394a", + true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606024383fe4b3b4bc0a341a82e", true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eaa9b57a80d7bd0ea2726394a", + true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606014383fe4b3b4bc0a341a82e", true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9ea99b57a80d7bd0ea2726394a", + true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab16060343837e4b3b4bc0a341a82e", true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57280d7bd0ea2726394a", + true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4a3b4bc0a341a82e", true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80c7bd0ea2726394a", + true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fecb3b4bc0a341a82e", true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a88d7bd0ea2726394a", + true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b1b4bc0a341a82e", true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d5bd0ea2726394a", + true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4ac0a341a82e", true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd1ea2726394a", + true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a241a82e", true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0ea2626394a", + true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a141a82e", true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0ea2526394a", + true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc02341a82e", true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0eaa726394a", + true}, + + {139, "Flipped bit 120 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a82f", true}, + + {140, "Flipped bit 120 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0ea2726394b", + true}, + + {141, "Flipped bit 121 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a82c", true}, + + {142, "Flipped bit 121 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0ea27263948", + true}, + + {143, "Flipped bit 126 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a86e", true}, + + {144, "Flipped bit 126 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0ea2726390a", + true}, + + {145, "Flipped bit 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab1606034383fe4b3b4bc0a341a8ae", true}, + + {146, "Flipped bit 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57a80d7bd0ea272639ca", + true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "51ab1606034383fe4a3b4bc0a341a82e", true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0a7aeb9eab9b57a80c7bd0ea2726394a", + true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab16860343837e4b3b4bc0a341a82e", true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb1eab9b57280d7bd0ea2726394a", + true}, + + {151, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "50ab16060343837e4b3b4bc0a341a8ae", true}, + + {152, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0b7aeb9eab9b57280d7bd0ea272639ca", + true}, + + {153, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "af54e9f9fcbc7c01b4c4b43f5cbe57d1", true}, + + {154, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "f48514615464a857f2842f15d8d9c6b5", + true}, + + {155, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "00000000000000000000000000000000", true}, + + {156, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "00000000000000000000000000000000", + true}, + + {157, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "ffffffffffffffffffffffffffffffff", true}, + + {158, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "ffffffffffffffffffffffffffffffff", + true}, + + {159, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d02b968683c3037ecbbbcb4023c128ae", true}, + + {160, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "8bfa6b1e2b1bd7288dfb506aa7a6b9ca", + true}, + + {161, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "51aa1707024282ff4a3a4ac1a240a92f", true}, + + {162, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "0a7bea9faa9a56a90c7ad1eb2627384b", + true}, + + {163, "short key", "a349ac0a9f9f74e48e099cc3dbf9a9c9", "", + "ee8234ca22b6cbd87cc2ba492ecea39aebc634032998965689d393e2d4f88653", false}, + + {164, "short key", "ac686ba0f1a51b4ec4f0b30492b7f556", + "2fa43a14ae500507deb95ab5bd32b0fe", + "39eaea730a72f19b316dae7ae77904000c8e64ac5bb8a1e75eeaea2e3dc3afce", false}, + + {165, "short key", "73ef9ef1a4225e51e3c1db3ace1fa24f", + "ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3", + "4c85f67258256226dcdde626b100daef34dedb8c38b34bf9f3b9db5afe87ae9b", false}, + + {166, "short key", "e34f15c7bd819930fe9d66e0c166e61c", "", + "872026cd30ed8482af7508c0c52c8cb6", false}, + + {167, "short key", "e09eaa5a3f5e56d279d5e7a03373f6ea", + "ef4eab37181f98423e53e947e7050fd0", "6700cfd7fdb1c667ead477fb942ff03b", + false}, + + {168, "short key", "9bd3902ed0996c869b572272e76f3889", + "a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e", + "54632b0ffcbb3763b70c6dd6dc38ed3a", false}, + + {169, "long key", + "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd9" + "74e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "", "7a1ea05873f754f9993062243474d3874f4fffa823ce16a804b22cb101a5b100", + false}, + + {170, "long key", + "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fa" + "c55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "ba448db88f154f775028fdecf9e6752d", + "17831971b854b2210579098b019ae62f3bf56affbd0ecd3bac77a02bd78b4f49", false}, + + {171, "long key", + "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e559" + "0e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "a14f8864e3c71a3da1fd268701547cee12c0b1ddc4f7480f253b7cafc3d04e6a", false}, + + {172, "long key", + "813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf1" + "54c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f", + "", "681f84442bd90223bd5577a7bce8b93e", false}, + + {173, "long key", + "5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740" + "c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4", + "71712de2fac1fb855673bff72af64257", "2e6969e57f7b33e96a31ea194f3e188c", + false}, + + {174, "long key", + "7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade" + "1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5", + "43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98", + "c6712f2c1b0df39eca97ac472b257ecd", false}}; + +#endif // hmac_sha3_256_vectors_h__ diff --git a/nss/gtests/common/testvectors/hmac-sha3-384-vectors.h b/nss/gtests/common/testvectors/hmac-sha3-384-vectors.h new file mode 100644 index 0000000..b6b43e6 --- /dev/null +++ b/nss/gtests/common/testvectors/hmac-sha3-384-vectors.h @@ -0,0 +1,1221 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha3_384_vectors_h__ +#define hmac_sha3_384_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha3384WycheproofVectors[] = { + {1, "empty message", + "ee8df067857df2300fa71a10c30997178bb3796127b5ece5f2ccc170932be0e78ea9b0a59" + "36c09157e671ce7ec9fc510", + "", + "7c87e3bf2a63428c2005a82c1ef0e0152537ce7a6f49344f3a85274724e075f9c833b6b2e" + "6dd257e60222e7126312426", + false}, + + {2, "short message", + "976696c0dc97182ca771975c3928ff9168ef89cd740cd2292858fd916068a702bc1df7c6c" + "d8ee1f0d25e61d4c514cc5d", + "2b", + "b9c77f78d4e7928219105b1fa64d24a98a81816ca0c714d5424d0882ce7bb7be04b5bb4ac" + "2a0092b4f5ce06f04c8654a", + false}, + + {3, "short message", + "c55ea4c64a0a63e2d14ad42559ba7c816b8824d263c2cc6a015761b53f681e514369f0dfb" + "a5cde165320ee10a96eb1fc", + "5abd", + "d26883d233ad5a26257f5ebb088ede5a9155894fd331a79f89d331fe07d2baabd2f3735b9" + "59ad48ad290d38664d0f8eb", + false}, + + {4, "short message", + "2928d465d92fa40072ca9d67761be66e491755e43499003c1057d3bec870f255126c3658d" + "0d8a0c7d207df8710037ca7", + "c405ae", + "1c990f90e90e65bfee62549857bb10455200f425a21ba3f4b12636647c391d56b47e63e0c" + "111b078eda90324799deb3a", + false}, + + {5, "short message", + "686a3730085cc944fceb141628419818e662fe21e52bea2748f3b704f80ce801086db1e30" + "68917b242e62b4d6e6ed685", + "6601c683", + "9911d4e5f30167ec382b7f7b394310a7ea5ecd0394eddea94382f05a8af9533b0b7202471" + "1180add607d290e5f4602dc", + false}, + + {6, "short message", + "f22d867b972b232e3f444a488dd794d170807c70eb650f952b6177596f76c558a5d860d6f" + "7be0be9e666f9bd53732f8d", + "15b29377e0", + "aec46fb03a28d4fa55a5492930d1cb3731c5e80bb0c91f7c1e948680aa666a10f0bcf5389" + "27961ef30fa24673e9ffaf8", + false}, + + {7, "short message", + "3ac9abd53dbd0fbb891f9b5e16dd45df994e5283527832707138fc2712bad9e34761e7d9c" + "6d05d46f2c8323ddb0efe99", + "5a34155b1115", + "ff5391301e105d0f18b8256aa8e5c03f4c57f341e0f61149cb62c0d2366826b8618b4ba28" + "94de235b723755c1cbc7a45", + false}, + + {8, "short message", + "ae3aa94fdd35e2bef40472d29bdad3a409840ea441c3d7025cd72f3e81ff56da602161d84" + "b23d1634061385be30c5bbd", + "8a140d781e7191", + "b99181b96e6dadcdbf203c392a3bfad10130555837ee647a320ca2b723747a5f40bc4803e" + "add9091418041e98ff10658", + false}, + + {9, "short message", + "44b79852cabcf3fe93d2fff55d2afe6a46c35b7ad1954ce0888de7b459b982722faf8b490" + "e6b00e7bcabbd36f18443f5", + "9398cd251deafe8b", + "8968d5e0f3d170c0d1977c7df67a3ec0bb637b19ee73150f84d35c8da9dd02fdbf563c573" + "7834edf790765ba2b478ef0", + false}, + + {10, "short message", + "03fed2f579a3ebdececfb184ebe2984876113399c4a593d98b5f5e606dd330fb394c285d9" + "ead601748259b493335f8e5", + "18d879b1f63df3ac7a", + "c739ac7a0187774cb6ccf81069f75ecdb5e09331281641809e00334dbbc54552c01db07ea" + "fadfcc23cdb6ca324e2c5db", + false}, + + {11, "short message", + "f4ef48bf4056d39dbba4154018c63bdf29420b9991ea594ff05e3cc1cb02e176d54ba038a" + "6b78692519d6788e495bbab", + "0a5de13cd9ba31c94486", + "cf21c5c7b56ae0ff5f95ebc2c7c6b9f95420b249121f9a97d901fb6c64969ec9be82fe2e3" + "36c66fdda3ce306fd422a6e", + false}, + + {12, "short message", + "fc771f7ccd499a1ed633d86876d707b5f1d53c6bcdf21aa2907766ab3ca7fa6cdd6a9b981" + "b1a84a528e81444303f1057", + "03ba11f3f3173b85226b25", + "73942556ed0f294c5674444800c93eba42006083bccbd7bbd486a5ffd59a2be0d86743cdc" + "dbf6f763ff763dca193cb0c", + false}, + + {13, "short message", + "b3999de680b11550e18631c8199f7eb8a74e21bdc9d97f781245c2af19f85497d9f38b250" + "a564e48650fd00be365f155", + "9c658cb5e601d85dc3857863", + "c94c0800814522d1fc042d05c4bf1ef0bd73c61bc847bfdcf3fa48867513815ece4593af5" + "dd03b256e132f5f79894565", + false}, + + {14, "short message", + "88005a62864ea699e1509616ec48033e84d2e2a13b8bc2e8a76f2eccbdb207a95ac8e2f5b" + "5a703b22a0b571e8acc599a", + "5a94f84541a794bf23d72db16d", + "10a3839df086546ebfe7d5dba28d15ea4c27c3f4f1ee402d1e0f63443906c5e34a963b569" + "0093484802c228dd26c1bd6", + false}, + + {15, "short message", + "b1cbda2c9a12f92315a5101aef311e99d6db002b0e04fb53c50106aa4d28e9a346697ba97" + "084572eea56ccfc4ad7e572", + "ce12c0c78e3f6b276ac56ed7435e", + "a0543a371f019bc19f2fbede34ce4efde43984a0c56f453f923e152abf914c4412f46b64b" + "f626f22c309db403fcb7753", + false}, + + {16, "short message", + "08517e8014e00db5c37f2a20f987ea2ec52e7938de018ad6be256ba2236804144ad2a1bcc" + "242738862b40647007e0a2c", + "21e2a0a167789a6b722d1737d92f8b", + "bb74337940cc107f0cbbf1194bf6e784d9acd1d492f112e7f6d656eeca881e09c59fd6dae" + "88a9daeca6d13c8eb9782d1", + false}, + + {17, "", + "503d7478a773b694d6e552c9703cc8bc56fd49fafc9a17cab8b0332dca8d49336fa7e9ec2" + "bcb56253fe5bb504e3e7f7f", + "d96e6fed893addfd9237c81c4f4e341b", + "8651de548c5110fe0112d26c7e0a2f244f84aeff6baf5267cfd3afdb544bb0a5c1b29e9b7" + "8a2e9499e2c4f62c0f16e4a", + false}, + + {18, "", + "41341bab902e767d4d1964c0acfecf46eff1b02b6455bcb2097de9c154be1f667f21be076" + "de18cd2c15c005896fca87f", + "4c43ac7de3631cc86f4da72fe6b6a552f1", + "3bc4757211532a6c6ae964087ec9985f89d02b3925d91064cd09e6f39e5bea6ae451a1f4a" + "723abf2c994d63fb5b80772", + false}, + + {19, "", + "c2f83be1acce7b89a5f9e9ea7e4c4f8b0f4319986fbe479fa3b4a3c298168362393b56ea0" + "3b5cef77f48e5a72abe6d08", + "8dd0cd786cd800ffebec098728923d69249d3223c4c595cb", + "552f35f9431cb7f76fce30c75d1a6d22403859e257f646fe52b2dc9c7cfc7f50670fbf7bb" + "b62f95515f6aae0b1d45792", + false}, + + {20, "", + "6bd2aee9dd98d6b6609fce82181b10c20bba861da68a1590586fab08c5e9e90ff584047db" + "4760828643fea38087160e4", + "33236a9de603c1e4f5e11164224740627d10f6008eb73ec2642321bf0b82d579", + "d45174df3241ddb1a0890178fa4aa54523699b23be61a9616633631a4ef5e39bd2d88f42b" + "d5016aa8bc1148056d8527c", + false}, + + {21, "long message", + "2f98ba2ceaadc5ba08880a35cb0080dc870a5734a782ebe31c4bab100ff8786dcc3be6de1" + "8482ea5d1b3bf14aeabb470", + "2d74a66dacf12edb85ef3073feafd122889cb634add00ff0395d224b4ff8b5d5d67ca6419" + "b6826abffdb41bab427d5", + "00dd35f10e7fc7f1646d250abdf437893f52389df761fdf27840aa1374db786a22365be5a" + "33e09adaaffee19515173d5", + false}, + + {22, "long message", + "5e5f60e40d84c7ca2608af3bcc6e04abc5f8b7ca730a78af7f6f032e5a1501695bd91f3be" + "bb28590af1db90d8390ca58", + "2efe6a14ea8d679e62dbcedf35e61852278c83c54adbe1f1c72cb1a746b11cff8cb4fc3a2" + "c3acd44255d51c020ca6d47", + "f03c7331e8c708a257e7550718d964c0f7e1ac7bf52e9db6ab6f0556b3a575fda6f167860" + "8f6e63ca3f2eb8d371b07de", + false}, + + {23, "long message", + "bc310bc3913d9fe59e2012a058c9e150534d25611e36206cf07ccaefe153f38eb0eaad994" + "1b6883dfbce01bcb5196041", + "9f0747d7396bfbe01cf3e85361e50085e0a91a7490b994031d81851b725065993f45dad0d" + "60d794aedec7ba5d9d6dbbee4", + "aafe3d553f033f4de73aac4c6766583d5b2afa65d03758615066308bc5ae26ed93f28dfe6" + "ded54104eadfcd43c16b284", + false}, + + {24, "long message", + "dc770c64d00d156e43cb74970e3a1a2ad28b6d9ec6b2b6e5ac3e356a99f879cb620f00340" + "c044cc1f31bdccfa0dbd177", + "403fd8e3ef51b6539db658a894be85b58fbc84881e61c5e0cb13ae421a09d31d780603256" + "d390edd056d190856be00ad20a7048f0c67416fe8e02884086155f4263262e8c1275504d4" + "f91f2751d3c3dccd4409ff2b45e41de93f7b104d58f6e15bacb62ace9700615ecc1b30a0c" + "c1b35", + "34706cd3597860733b5e651f99d350e308f596ddb52b01e185bb38a1813bbd91e6e4c64c4" + "fa683d4803c878fc5b42052", + false}, + + {25, "long message", + "cca9299c7bdc26a4b595055c99ca23bec8ed11b5deeda91f83e2365e7340395ceef4e86e5" + "cd91f2593bcfec498a67fc9", + "a05b40b8d3a7bc7b75b0e97309c9bd1c9d8755c1ff5245ef6308a6a5cad3ecfbcb6364b41" + "ca6f3d24bbee844d6204d1026abe345af7bdec114a373b109aa5724b738d50ab7a826c268" + "e873709f8b35135a870045d5fb9daa82d3c245b5338917354e72b3058c9a4b80711746521" + "7d7d14f36f8a8d4e97bc3b93587c92641e7", + "537df9c448ebe5ad42e15687a9fe9fd76c3b8cd854481090118c63e5e6e2bcc1a1f8dc6d7" + "824eeab4823c3ab4de55edd", + false}, + + {26, "long message", + "c728e65e08d9296fe3cdf2dedb49c81a30b603a62569eece4ee5d01e9a32ae3bcb4ec163e" + "455e452582454ceefefc046", + "e6c6bac87c17e269a471434ca9568401451d78c2444a9d6edcda3cdab51c5bed1c19eaf34" + "326580fd85ae5236ad51bc5dae386b36101f54695c595eeedcdd0182a4a117f8093f4f481" + "2e03db396ede9849d193e7722081aeec4be6c4caf6c979d36ead56634a21be21162ea232d" + "ec9cffdbd2474245878dca369e814fd028303", + "0d5bcff1b650c2ac70262e1ef6b74dccdc5b31ecfc32e2e3a862dd61e8e636430e623bfd6" + "20a8e2aaa98c138899560da", + false}, + + {27, "long message", + "90c4215dc3f237435047fefdd8638d339a3fc66fca06c5063eacbda002ab335e621605f67" + "2f3da9f641fae110afc3e7b", + "1ebc22c3031b64615eb6f1a0696e33b7df139a4b891d3e6721cc26c05d55de790dca62366" + "8c10308485d38e95ec4769fa4430ca3ebc25da9f5d31c972674517d9a2222e6b97d8def65" + "12af096c6d1480d83a229c84b7f28c80184b6bebf3f4eff5fc4e5c6cfea4f8eba9a957f79" + "13b20a88ad1734f7c38547e934d1dbf2d73dbd61e31fb1583c7b6577a171e7d02f1904512" + "6ac2973d855bc18d34d32326d1e216da58366a60033450091128ae26a479069bba7b91b2a" + "b7f3c5fbcde391de3ca114b951d6852f92795f8023d7a29a7f4ce61e9241b4f235d21e899" + "087167ab3f3a0e9321c7942b165178788df48d3b106b203ec1e01d29bda41a99ac0d2c00", + "e14912a4d0a3dd7fee54be8055f78f14a72f1d48beb24226380cefd1efc733aad129e504b" + "ebad98d1ff7fc303750073a", + false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d10ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6654fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d20ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6554fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "500ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "e754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00de89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6755fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce81d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fec4542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5335b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44552b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5035b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44562b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b2aaaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f9cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22a2f49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1c50b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf69dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0914728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dbe078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14628e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae079c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e79bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae07ac0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e49bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae0f8c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728669bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {58, "Flipped bit 376 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86f", + true}, + + {59, "Flipped bit 376 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd5", + true}, + + {60, "Flipped bit 377 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86c", + true}, + + {61, "Flipped bit 377 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd6", + true}, + + {62, "Flipped bit 382 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc82e", + true}, + + {63, "Flipped bit 382 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bb94", + true}, + + {64, "Flipped bit 383 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc8ee", + true}, + + {65, "Flipped bit 383 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bb54", + true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d10ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6654fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce81d5235b2aaaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fec4542b3f9cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d00ce89d5235b2aaaf49dae078c0c8429fc3ab699d89837e1d1a9b443a70c9a86cfde0a69" + "0cd4377be0d91acf03fc86e", + true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f9cd0b14728e69bbfe083f02cafd8ccc416525fe4013f7c7a51a8384d47a" + "fefa1fdd528d3fb6258bbd4", + true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "2ff31762adca4dd550b6251f873f373d603c549662767c81e2e564bbc58f365793021f596" + "f32bc8841f26e530fc03791", + true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "98ab01bbabd4c0e32f4eb8d71964409f7c0fd35027333be9ada01bfec08385ae57c7b2b85" + "0105e022ad72c049da7442b", + true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000", + true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000", + true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffff", + true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffff", + true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "508c681dd2b532aa2fc95a60f84048421f432be91d0903fe9d9a1bc4baf04928ec7d60261" + "04dc3f73e8d112c70bf48ee", + true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "e7d47ec4d4abbf9c5031c7a8661b3fe00370ac2f584c4496d2df6481bffcfad128b8cdc72" + "f6f217d55a8537be2d83b54", + true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "d10de99c5334b32bae48dbe179c1c9c39ec2aa689c88827f1c1b9a453b71c8a96dfce1a79" + "1cc4276bf0c90adf13ec96f", + true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6655ff45552a3e1dd1b04629e79abe6182f12daed9cdc517535ee5003e7d7b50a9394c46a" + "eeea0fcd429d2fa6359bad5", + true}, + + {82, "empty message", + "1c678267be13acb464939c2896c9e9ce1deb5b30833bdd9ca00370889b84410782ad52afe" + "25dc10ab7ec5cf5f34793b7", + "", "b1bbb62a3d2e33ab8cdc0da03091bb83efbbe2c484b9ee8b", false}, + + {83, "short message", + "00b184c2c0a491d764a26f8b2e56a965222b36213bdd106ae782305c50f89269902476e5d" + "f3fa58e0ecfae82a9607c8e", + "9f", "424d7ad3fb7addd09488de8b5e5951853ed915a66209ce02", false}, + + {84, "short message", + "055b67edb659e29c10e3e9cd25aa1cd5abf0880e2026ed8436e39b064b7315760cd7a9294" + "ee23d4750969cc8b5dbaed7", + "4047", "deb3604abe3406493230f871adbb10945371c725d77ff001", false}, + + {85, "short message", + "9e3c198e93930f076b035c5fa8f10d9a65e98c66cfb36633e3cb33279cdf57688f10b7472" + "d1fc9d962ce6954519bfbf6", + "88cfab", "8952c88be29d5a7ad5c252197a67d3af7512af0f320d5efb", false}, + + {86, "short message", + "f5f5962bda257b38b2a2318929121b2eaef792d5c6a9585e48b80cf5357b29c3951b787ed" + "3e03e385b05b8ffe6861dc3", + "d9397753", "3afda5e82a3a0b01f6de056633348bff2c59838fc10476af", false}, + + {87, "short message", + "f62820ed5f9833fd22dee7bd49e2c9b19fc9668897c2c33e6c7c1fa5c277c3b9f581faef3" + "ddc664ba537975d8afaa707", + "9b6cc7caa4", "0ebdc562d3b5df13f1370a0a555f30e5d77b92a71c885884", false}, + + {88, "short message", + "f222a1dabf322aff8463acee6444939331212be3e19d31f4b73fdcc97e2925365ea33c985" + "282805c83dcd8fb42a0e214", + "c85ad7872b76", "4fc8b44f25d87a32f6e0dbb7d9851482344d4af5bfd77845", false}, + + {89, "short message", + "56e80f3899e945310a9d9bef3d32091f29c157dd46b2d439ad89d63e14b2c24390f74db4d" + "905f6bd03f75c32e91225fe", + "80ba25f1c27650", "f1686d7c0a808ae4ee2c4d8912b3f6e5bea141de7b80b586", + false}, + + {90, "short message", + "6cb6261a56a21b2c3c13453c158364aafa78f58172a9ae3eeb328ac38808b5c68c111197a" + "303ec36847c9a315ac5eb5b", + "79430de51d68cf34", "7cf93b400cc52b516f12e42270f2591e2cb9b6f98016fe2c", + false}, + + {91, "short message", + "44ca1ecb490470a84c7e13e1f1c69da21f48c33b6f050f48f7f244f0fda8b3c855904ed06" + "12e2dafa5105cbd7f6449eb", + "870b981c8afd9fae1b", "b51efe22849cac69821f995906f002c53bfb71eadb902e1a", + false}, + + {92, "short message", + "aaca68882cfa7250988a247b96cfb3232d6567378f8fa7e7aaaca1c386e1ae15e54957d22" + "bfff1e50ae7f21beea197a5", + "a6f31b822ec24da1b1e9", "755c630f0038e61b0df635a86990a0efce63be5dfa448c68", + false}, + + {93, "short message", + "1b32f9b6378934a502dd74d8b74a4606d5b2c9a8587fab1cfa90d75007734d2b8bdfe6348" + "15243526ebc0f33c04d0d05", + "55367c657c792610efdcc0", + "eb16b29740aa41ce9324d6a29befe848109c8be189983b2b", false}, + + {94, "short message", + "09d91b2fa22e68b5335d478235aa4e157435c9acfed772219adfa1e9dd72f33e1a2183a02" + "03a104f80e643cdf29e5aff", + "b31e254957db6b1b70a06ce2", + "ab2b667e1f8a3e5fedc4da62ab85c422280efdd255005491", false}, + + {95, "short message", + "d311a80ac801e3639b9185608af4a85e4122e29b5c23f05234c30d92d59ad13cb80390e5f" + "a0ea4a54853228b356689f5", + "e6b443dba0dab35d43ca5d6ce6", + "ec3e9d2c208d5739d8509ad6e88ea865383d9f034c3f80a5", false}, + + {96, "short message", + "06297e6c46558b9b0fc36c272b4ae7e65dd536cc1d13acbfa831fa5574b34f99e09adfb7f" + "20321f203075fd26ed2e29d", + "309b95e5f1ec26f70786e74d806d", + "8eb37decaaf8376ea94b82767af4c4be78cb607d9930a28f", false}, + + {97, "short message", + "e8b63a25cd85ad4f39e3c0e9584eacb94d6ae33f984da259aa533d4d28aeb341cf3ffe49c" + "029e4af6a4805f760f35f2c", + "d225c27795f809454bb2c51d21f3ac", + "7194c69928ebc338d6c34ab5aa5506d2fc069743d7660c7b", false}, + + {98, "", + "d83a685ace9fa0c0aa47f0c7b4f0f00717619a82e2eeff87f51f67d814d51dd9e4cad7578" + "a4e49b672b5af83943c2583", + "abfa7f5978f751e87e8b5a15a6e89f4f", + "90247d2933f8f4a6564ad7d272721ff6e76fd4c0e3a8fabc", false}, + + {99, "", + "5beaf406a6627eaafcadb6dea4e27ba4fd879fd3e5bfd87ea3c8d5e0acfbbda2c6bf006be" + "af5a30312e690724c4744a3", + "bc57d467a9a2af64ad5e14b7bc0898dc63", + "7cfaae1946e462ece04ec2fde8fef1a6e9e5a5a51657e14e", false}, + + {100, "", + "76b36cc3b8ca975708ee4b32bdbe40ca13f9ce384c52c4b6602b7fd92164f1fd8432706c1" + "966f648bf4830f4deb34795", + "b1d022c6536f401d147dfc0d7d4e600bb753ef0e9f243bc3", + "f41947ef686bb9a4aa3555f72bb320dab577123f8f7b8add", false}, + + {101, "", + "20569a16f453dd3c34df98155286b1ca8a392ea164c919311f0df9d39d976062f4f992b96" + "def3851886e6295f2615064", + "5402c4e683d1a431868ad528afbf4128b0b10cef947d063b34d376d344b793b2", + "ae11f9b8380ffb396aee5a643dcd8d1cc91544ab18201aec", false}, + + {102, "long message", + "9ef6a55f8a9b6b9ef1f8296167319078163706ae5b60897c2dd6e340b67ed5d577fb54c55" + "47cd5f248f06e7082ffb826", + "6a0d16276941d8f04eac2ec723fa53b9d6b16da7e30e7f2d9ad898e7cbb71bd3dd234ee22" + "836ff4ac6011b6f12bd3a", + "57d58ab4cbc8d53e6c18ce556afa2d9bcf22c1f4486e459c", false}, + + {103, "long message", + "fb56bbbc6d751b744d8c1b57cc27a1d2c2f4e38e3491f54448cfcfb9389b7f63fd0d41920" + "968ef612510625f2637d28d", + "cf1791517ef5a61c0db65a668bee26fdbc975d799b2623cc0f3e4560e80c7014fa9c02d56" + "8c98c86385e000fe6776bb7", + "c4aa19f4243645fa5731e03768d16d55225ade23ee7f371b", false}, + + {104, "long message", + "d041e24e59b34d7a18128a42d8a7a52dcba5d79e5ed585b55c7c9e4946e5ccaf7e59df0f3" + "da98c7d0523e4cc8f9d7da4", + "5279618f1b41534910395a78ded968aee3431085b599c4f55eb5ff8a2e879bc44291d923d" + "e31009db1b9f7f81095afb3ea", + "ee3f2946aa04e60b7f4b7f57ee15dec5a7fcf8d114ebc14d", false}, + + {105, "long message", + "e1ce4884fd74a0e197c68ace3b29b552313af8e451e98d9ab8d0e8f8ee74143e8fcb64462" + "17c0f3123a426b8ab6f62cb", + "71154b9a657b905f884ba5140d5e7b9243fec3e03fbbdbb360c8194963ae43177b5502cd2" + "0f559eeeff8638d028c501926ebc7eddd132ccea29ead7ad0c95a30b9d325952cafb0ea5e" + "c9d9d6fdeb63950d5d69c8bbbea702aed1d444da286807ffd6b36cb49902cba7abf9bda1b" + "577c6", + "928ac14f18d87b8e1eee759b4ffee3c17a2913c914d8974d", false}, + + {106, "long message", + "8a242c22d1b54ce216ca03c88455beb128211a9f35af2343709af7c5f43a681451ea53a36" + "de2e5048eb44a51681c6120", + "ab5eee6b83869119f00dd3cc66dde75cb5700535a90e9b3e32b31434c297ef53f94659d7d" + "9b11323161b2e66c6b9c9ad20e313303f81e88e471786c8e936011f78121e39630b2e0804" + "fc97ce5cb3a34f26949439fe530adcea6e97c78b042e0817253bf75dd54335584122f5edd" + "210341b6d93f58aa1b4de2aad76fecec44f", + "20ccf4f222d139d4ab7623b3a38c91543469270056ff8c80", false}, + + {107, "long message", + "311c4bee7cf257b780135a2e4a6413e68a816f5d8462515dcb1c72494b6335581a9b60a21" + "7b9ff1c75e7768148f8df46", + "63ccc3849c4c323cb6ce926877969048b849ee4af18e71eef52fe9f274a8678560f9a5d47" + "510c3c98c8a08ed4c01a01e0a3663ef0cc6c3cdca6276d91e99b0d414263498fb64ad74b8" + "20ab52b37adeaf27cb44545edb8f09094992837b8d3a0baa2a101a49592eb889dc8bace4c" + "71e3efcb9d4149bd670ce2f774d73c12f2a45", + "dae65a8c37c5458f017770fdbfc2023291e021bddf7625c4", false}, + + {108, "long message", + "fb792867c8928f0503aa24477cebf42e0b018346e3619770b9e8f5097945e2e275ad06f0c" + "12152366ac06e278c94090a", + "0a63e6d91d7a6a18dbad879fb8e23ae351920391eb40fead6cba846768a2c6797ff347b43" + "01327b09afc41f7b803af6b61f6d9b818e0ddcc02536d0543dbf1a87f2c5e020f64590943" + "44b72596d548435c313544e92c254d54a70a1d6f6edd2f82540a1ea2e82125b0715fa0f89" + "0bb2be4ba0065d2ba0144854682aed041c1035996648e2ed671b7253ba567ffb999d91fd8" + "e7ffce5c6dc4790732adae443435a454fe6c2a7c6708d9d5b2eb9292d6fbe5e026d65332b" + "38c7925eff9beb89063cab63fbecb2ac0e1bb61a5b1e511f949c43a34ee26f1156e97793d" + "a97bcf5b5c67641384f268131b297857d719eeb6cafa3dbe9b8d0da55c98656f20e5b39b", + "927bfdba4ee11d8f158491764840fd64ff6401401543b539", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d10ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6654fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d20ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6554fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "500ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "e754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00de89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6755fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce81d5235b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fec4542b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5335b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44552b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5035b22aaf49dae078c0c8c29fc3ab699d89837e", true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44562b3f1cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b2aaaf49dae078c0c8c29fc3ab699d89837e", true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f9cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e", true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416", true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22a2f49dae078c0c8c29fc3ab699d89837e", true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1c50b14728e69bbf6083f02cafd8ccc416", true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf69dae078c0c8c29fc3ab699d89837e", true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0914728e69bbf6083f02cafd8ccc416", true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dbe078c0c8c29fc3ab699d89837e", true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14628e69bbf6083f02cafd8ccc416", true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae079c0c8c29fc3ab699d89837e", true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e79bbf6083f02cafd8ccc416", true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae07ac0c8c29fc3ab699d89837e", true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e49bbf6083f02cafd8ccc416", true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae0f8c0c8c29fc3ab699d89837e", true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728669bbf6083f02cafd8ccc416", true}, + + {139, "Flipped bit 184 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837f", true}, + + {140, "Flipped bit 184 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc417", true}, + + {141, "Flipped bit 185 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837c", true}, + + {142, "Flipped bit 185 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc414", true}, + + {143, "Flipped bit 190 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89833e", true}, + + {144, "Flipped bit 190 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc456", true}, + + {145, "Flipped bit 191 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d8983fe", true}, + + {146, "Flipped bit 191 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc496", true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d10ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e", true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6654fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416", true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce81d5235b2aaaf49dae078c0c8c29fc3ab699d89837e", true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fec4542b3f9cd0b14728e69bbf6083f02cafd8ccc416", true}, + + {151, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d00ce89d5235b2aaaf49dae078c0c8429fc3ab699d89837e", true}, + + {152, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6754fe44542b3f9cd0b14728e69bbfe083f02cafd8ccc416", true}, + + {153, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "2ff31762adca4dd550b6251f873f373d603c549662767c81", true}, + + {154, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "98ab01bbabd4c0e32f4eb8d71964409f7c0fd35027333be9", true}, + + {155, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "000000000000000000000000000000000000000000000000", true}, + + {156, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "000000000000000000000000000000000000000000000000", true}, + + {157, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "ffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {158, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {159, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "508c681dd2b532aa2fc95a60f84048421f432be91d0903fe", true}, + + {160, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "e7d47ec4d4abbf9c5031c7a8661b3fe00370ac2f584c4496", true}, + + {161, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "d10de99c5334b32bae48dbe179c1c9c39ec2aa689c88827f", true}, + + {162, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "6655ff45552a3e1dd1b04629e79abe6182f12daed9cdc517", true}, + + {163, "short key", "08476e9d49499c5f52e37f80ece6f5a45459948806b48241", "", + "fc5143709d60f6655e009acfea7016386350593622e590560c47e846a3fae8f6edc3e4331" + "b8305834cae249dba9e269f", + false}, + + {164, "short key", "213b44d8e1fabaff837ef30ee2542f9ab82ed70411dae78f", + "ee0bf48585c186ff991b4d8607817c9c", + "b9255a1f98c06ff6048760a1b22d63c0e8a7479c5d453664a60028512d64e13d79f7e39e8" + "cb5399d859f1c8be4761172", + false}, + + {165, "short key", "b4afa9daaa8c944d73a3881f3221e42b34ef4e35f184e878", + "cf607f6a0eb44ecbca81b6d1fdb595cee35f2353da02e82e28e133b9decd8fbb", + "b56641a9d6514b118c70f30a61c08e7e7a650ae2cfb9d73d633c3cc402a0b9ff75c9224a9" + "4610861322225ba31d9f3ad", + false}, + + {166, "short key", "89e46b66209548c80b0c830662223b49b0e3b895eb30e2fc", "", + "eeebe1823fb042cc7c56b31748af6a134458eab62fa2e0a7", false}, + + {167, "short key", "f2c10ce8cb1cf3b363354473b027c1e53deccef03233be0c", + "e1fa10b8e301e0348405770bc3fafcb1", + "9f0e9d9be70c82525f8add7dd15d925b9398d7fdbe1f2110", false}, + + {168, "short key", "92e074442cc4c59e72260808d80d8e7b85c6335068917b83", + "34eae27425ace17771e164cbb634306f352edc9c37bf608be8a755fb94148183", + "b789a4371f0aa2f667a7ade1c53c98b53a39ff65dfbe7d28", false}, + + {169, "long key", + "db6f9956c3f4ca6e41f1f7f14629d44c79e0353edbf3e310e6858bbc45a7cd57778a9053b" + "a22a141bf58bfd434ad08648c7041a224b97a0d17e0edf94fd40b410a", + "", + "2553a0441bda89fe78a8fef9d334f92224c3fd47b7eb8f18bd6ba3e7c2ddc383ab9264f50" + "eed7d09f5e40a10e5cf5271", + false}, + + {170, "long key", + "f03404bdb3e08f530d4c3a5f165d236012a4c45cd063e3e4483da088ec0afdb24e9639fcc" + "abb91f98a49dc2972e2981426573ecfe69c00c43a2d99a3107cef3a70", + "73ed9fa2acf49d6c98bfc7d6c5ad9c56", + "c345a72ff4dc5a62c8fef912c51f7d95814a3b59291df3f38da214a46423af89a40f8e370" + "47403c9499768b3171a55c2", + false}, + + {171, "long key", + "ee799e25edb1b18452e5ed174bc6b2185a6754417d6cc05d736d2ba9efc8367e4b05ba0a2" + "ee525ceeab74f9804a8479130c328d671e34070cf174a003a1dfb5994", + "ac3e7da7e578b9b4dc2424030446c7f6aebcc471445a9e0e6e65099caeec5b2f", + "956d33ddc96bacdcb4e0058c161ae812d79d81d9f0f597e203aa6dae0daab27ad93c5171f" + "564525fb91926dfcfbaa09d", + false}, + + {172, "long key", + "063d6e12e670098adabe68192023b637bb6d8d713fc8436188c4ec06fdd084ce6d193f26c" + "86a9560e1abc27d813fce2b3eac0170fd1cb72e1930a2776bc84d6c11", + "", "24a9852f76ffa1ba3a6043cd348f17be036755162131259a", false}, + + {173, "long key", + "359318e6c6279ba9ebcb1675f5a98195bbf5d895da9c17b8329038be857dc395b12ae91a5" + "5598876593c1c20bc0172cf15126b7a6bf0a238eda3325d6dd60600ef", + "7ad0c9098ea10e615bb672b52c96542d", + "b3de2addd5fce93122f0f2f320c607fafac23b280898068e", false}, + + {174, "long key", + "d01cd898089d8a1eeb0035b0d332da80fbd3571b9192db10fa6f55f665ab192d7050cab64" + "3996e99254d9573e0cf4eeaa63afccdefd81614fe7b83dfe30e3ba19f", + "d67c77cdd0af5d10e8cae887e5a609bb76a9e5597653773c303b82b918fdc59f", + "f692da39c59268288b0f081a7b60de6111cef724a14f893a", false}}; + +#endif // hmac_sha3_384_vectors_h__ diff --git a/nss/gtests/common/testvectors/hmac-sha3-512-vectors.h b/nss/gtests/common/testvectors/hmac-sha3-512-vectors.h new file mode 100644 index 0000000..2478890 --- /dev/null +++ b/nss/gtests/common/testvectors/hmac-sha3-512-vectors.h @@ -0,0 +1,1263 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha3_512_vectors_h__ +#define hmac_sha3_512_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha3512WycheproofVectors[] = { + {1, "empty message", + "5365244bb43f23f18dfc86c09d62db4741138bec1fbddc282d295e0a098eb5c3e37bd6f4c" + "c16d5ce7d77b1d474a1eb4db313cc0c24e48992ac125196549df9a8", + "", + "8327dc85e33898f05724b34a89dfc74f2581b228203ff148f7c86aa328e0e5330c00015d1" + "d983ab005fbc18d3695f2dd5f304bab7a4b7c34f6d010ca0af1acf5", + false}, + + {2, "short message", + "00698977f7102c67b594166919aa99dc3e58c7b6697a6422e238d04d2f57b2c74e4e84f5c" + "4c6b792952df72f1c09244802f0bcf8752efb90e836110703bfa21c", + "01", + "84185a2890b3f4c5ef8723c292db676c69104e7ff7def5ecf26928a41626d2b16b063d8a9" + "df03917498467f5abd7af3c6c732957f67cb800a517b26963142a1d", + false}, + + {3, "short message", + "ed6dc65dbeaadbdaab530a0d35f19f78a7bd93e698546c82751bf650c2a44fc8529033d08" + "8febeed288fb4c8132a59df0207687640c76dcdb270ac3af5f042f1", + "a78f", + "b4805d3a32d4dcc2e08178889173e65d3fa1d3b3f3bb688a46c8793386e7136e6caa55581" + "e04dbc01b561b8fa3ab6bf71121df6e5a51aec6b2f253df99d16bf7", + false}, + + {4, "short message", + "463c5e696da0ec0d784388be775d1d91d94746aa8d3d2c209f56ac95ea54e7288329f9fb4" + "0be4eef35547e64c61dc51a4a1f3380a2b96420f088655ea9d85b97", + "e956c1", + "30d4794d0f072622d4a326dc9957974ab5ee5e403c8e8ed673911b95838331e99ff8dfd16" + "defedeb696f1c661a0094685dbb6c8604c072a1bb088b9e8cd55d9c", + false}, + + {5, "short message", + "4bc0d32e945cfdafd20d39be3820f9649727cbda5ab5859953a322cbde1ab7a514d7dcd14" + "ba90905e70919bb86b85cfeaa375ee2ce2703711b938c8f4ab5f178", + "b2aa48b3", + "6daf3dad42636bfd962246b0b314c939a4fd0a9ae46efec848a56bb6b85de6c47b6024364" + "4aa5e4658a4042f8577b388bdf544e120fb32b1af10f0f84b8ae4ca", + false}, + + {6, "short message", + "aca47f6350941a0efd8c3bac9064a554be337cde7d192f6fbf86d1b4db09b36531165cbae" + "0a634206f71fa400df33352fff60e1fba4009ac6671cd37312bdd98", + "bc993b1db0", + "d448310d37fbc2c5d26d6ceceb999a2551793691f36019d88db99d041b0cdb6fbdb40c13b" + "76a235713a59bcbd140c99e5612d3c2ef66dc0fb41586a6c384279a", + false}, + + {7, "short message", + "b3ecae6f25c2f699f158b3ffcd0a7a575583e4c9cb56b5c22ef4273cde6c6734e84d74007" + "49c17e47e8cfccafaf8b50c65eb47dfeb273d5d30a1181e37b27ad0", + "f0361d58291e", + "5d3b47454f71949a441c59a20b0a56b6b2aa4c256e1c6e128c5eb201c68e63da130ad6959" + "4126ff789fa471e2e51de73ea57f75ce2a1e2c9d02eabdf55153228", + false}, + + {8, "short message", + "70ff24a252d65183bdc6b7c88751f850821141a61246727c3240b4f96088ae3278767a822" + "b65735a28ccebe4c874bcb2c942882cb23f9dd87fe08fbaad5ae72f", + "e18da3ebf0ffa4", + "253a4f223cac5e24b4ffb9b21a325d7645192203cacabfe18d3299010a7d203eb1ef53195" + "47f140840a9742d4907b7fafb4d1ef1b54f26682ac98e3a37c03a89", + false}, + + {9, "short message", + "dd4e05933d09711ee88cb4c1ceb3600b2b33808bc08d499387b331d9c7af49bc65b55172c" + "f8083385a940e4b864b7b4b73ddf3bd513a6cbcac73878a879b4d06", + "66948029351432c3", + "88db64f580e7e2bcf9329007e2831c6764541331679ea4493b24507dc72a3f9ac8fb5dac7" + "e08799d139f74a0c163cf0456552ff12d14785f3deb29278c3ba679", + false}, + + {10, "short message", + "fbd32caf8984fc4376d10daa7288db8e6e74464bdd94b448adab4497b319e9a6dcce542f8" + "2a7ff2e775d12477c880e460a9eab8efc49fcfc8c5476cb4b08954a", + "38a2586a2883953cc4", + "9a0f3c3829a11186c69d88433785b784e1dcbd955be679649a89158396cf91fdf26e73a27" + "c3bc5325f6710c421d8cbeb5922af2cfeb7232fb6929c00d8190922", + false}, + + {11, "short message", + "fd4c3f6b2137513616c28ed4d8638f867ad0b97188b73fc9b36f3d52b82d72a49b9dc1b8b" + "25397eb448054a8d38d838e7a88b4df9c263aea1b968771d5ac5756", + "86b4e61b3b7d650044ad", + "e97bd7a78267ac6b575da2f7364448efef8dc7dd4f9a44d0454b021f59957cf620bbae47f" + "0d3b7dec2bf4d153bada472472685a35228970fc99dcceb14f34dd5", + false}, + + {12, "short message", + "f95baea535f477d22b405c67d927f59a9e042c46297a1681bcc16fdbe1b2cd59675a22135" + "1a78075981e7eb4998066768801cbd7a85231114d7f27f9bdf24899", + "5a34dee4e0982d458efffb", + "f6d382a7782c1a63ad98897dd2616bf29e46b1e430b7d69d02df4f640c9c1e8faf677633d" + "86f639f6834e1599927d9aa23f49fd4fb66085eb56968f9b7b9fb3c", + false}, + + {13, "short message", + "4d76ae95a123207e01c6d22d8b587e63ba682963e50961afff531160a9b9aac6c772c5e8b" + "f918ddecbeb56455ea64710e51ac21e3bb9af4b24eaa8535b3c2924", + "2c31f2d986f68a6d6a96c4b0", + "0e4081af61c51dc831ba0448efa24f0ce6e05bdc38e11ef03a4456164542f28dc38368d30" + "8dde117087a86aead3b4fd4ad8cff00c5ab93539281bee27f7e5ae1", + false}, + + {14, "short message", + "0da7fa1f5d217951e3e343cda81f232deb71764eb49e8510bc28dba8eb62afa2a98b6f053" + "6adb10250c74878fe649f47bbafdf3f722fa150f66e83f65f606ab0", + "83511de190663c9c4229ace901", + "bd1000dcd41ed8aac4edbb818884ddbea01c0cb60a202427a977489c310bbb10dd3a96ad8" + "58702d6ac5edb3431f780c2201920deaf760c719e64c6e390f7911c", + false}, + + {15, "short message", + "cec9e9f25ed9a017004a7882b1e44e8bd8fa3203c50cb6058455ed4f2a036788d46fcd328" + "327d0d86b1abae69f7bbb96e3d66373ec8bd45075890879a83f4d33", + "80dcd8ba66f98b51094144e9b8bd", + "9920662e0b60073916ec0cb17c9f0a62de7f1f193eb6a9ef52870c93cd9697dfdc13fd2b7" + "ba7664138b037f7e63023865be898c2f4bec6bde9ea8ee1b69b2563", + false}, + + {16, "short message", + "bbe25649ecdf54ae0028fb923cc8c28ec00e10e2d44214590781238a143b75d54efb037eb" + "9f53082a8ab3d8876daf4dbdc2483c4ba222797fe20da3b7730368b", + "33f630088c0d24cda98caff1a3afc7", + "00eaa766f4f3d92047b5e85efc9288cb8a5a2b56d2267dbfd5b16d8c918ed9404314aadde" + "a241bbc966e49b2368232129d1edd06d99bf93bc57291b896bae485", + false}, + + {17, "", + "f5e2b9e2313f4f807cb3a924a7d4943fc3fb475d8f1a1b40ce09a37770f621af8977729ca" + "df986c98c75f08a4fab4280538e09e7e51e87a8d62c03411bdb8d24", + "74ef623c83275ae99745bff7e6142afa", + "8d0acc11d6c6992ad16a5e7070236a1000b0f1ccd1c98849eeca395a0daf5f404c8d27225" + "7ecbf8bd84c42de302fe368d6c308e4639f2ecd2d91f3dda6a0d8e6", + false}, + + {18, "", + "8e323d5fb4752d92a6d905c512b287d07b21ae50002d026ff0388e1593bde9998dd02321e" + "200d148f5fa2e824b37e9f5a77441794b840bedd552d1051c1ddd8c", + "4daa229b009b8984354c2ec3e7973e0042", + "b9395c2b7e360385ccb3da590b17279e121f92fd85660e802e24dd92998b2e531d3aa911c" + "3ca389b515620b6bd3f97b63df7ebbd10b639799952927d1c2dc360", + false}, + + {19, "", + "465bc1ab2125cca29729d01df044e393b0677defdd939280a3aa141224efa06457e623056" + "d02f6c36eca3dfc4a7476dd36b97d0c2d60c7672129189e73b6af8f", + "dd84599b47ba9ae9f2ad0c8eac678485433eb6b1dfb7c998", + "7072471ab504696f060a3bded10e657e3bc6bad2e0f8239fd4f17e35174c2acbf059aa7d8" + "5b3b3adf3d644e0bceba93490a54948138e743091d5225bdbddf6ae", + false}, + + {20, "", + "b90226798dff2ffb91d1ee4103f26397d0bf84c13c1ec717392c5fe1d4d0f4dc790236d75" + "9fa1be852e305da585a3dbde0d3912bea60d6b140c25645eb00943f", + "aa29c372f136993c65ace5e1d62078806eb787913bb35af33371056359d354b2", + "8d6ef6ea9bf61d3e39535b1f3759c01da28d9ff7370491de117a520188e15a152050371d5" + "33ff4b927fd91bd33a6c7404cce34ce4701fc7a8f03ebf70ad188ba", + false}, + + {21, "long message", + "af1bb91775cb40c73983f119c927a2ce8f7b954a6274ecc1cd96019e5c417af4b09437619" + "4eae71c7f68f3345654d5d9f8198a697b41ae251e82308accd935bd", + "75ededdfa7f1df1dc144fb195b27e454640e3f897cb564222f05e8aab0c6024f90472afea" + "6e7254ed25134ea43452a", + "cd3075b66d5fb6d90cd9384cd1aeea9a2c67a59bc5a71b9b1e5ef5407ed58229baa67d3e9" + "f9895de320b421a6670210288afe2da4ae4845ab069501185b76ca0", + false}, + + {22, "long message", + "513e0e7622eabcb6bfc81669dac903df46daea1240f32248bbf4fc61f1f9b13b2c3fe1bcc" + "97540d30065be9eee41e51748bc42c16a8c8269fbe2b6f625c19228", + "81d8650937f50871a66af71605ea4fa9d6c5d7a375774c2280eb34aefcee8c0ef83345bc5" + "47e4de7cbea482369b25a93", + "f7b263b7c2380d0ba70844d2e6e56dfd68fabf7ec9af5c8ba897ae4e9d308aa28ff7a10ba" + "4d37525e858074093ae8b15908de22be70e3f0b23dc61c39b17ab39", + false}, + + {23, "long message", + "627c9a72247d07b0cec8346277468311c7401fc4cecaea8e22e13ece4b352c8f7a7eb1ba8" + "1ce348a08670438c97b8d9e883614d550f1ff16d636975c59988c2d", + "118e0468cbb52f93a3396ebfaa114881a98a4101f4ff912ced47ecfc73b27f52205b7a5d4" + "f3899506f9e34ebf99460da7a", + "050b55346ab112e0ba62409f3bb48f7099a5098e2ccb2d18e47b5171029f43f9a011fa1b1" + "34b6412fb9df161abf295405ba3e212657d7420ee831885e71a324b", + false}, + + {24, "long message", + "1e981d0cbbad5bea9480d836b4704bf3147663b6ea59e1e0a280fb45d9b85d445dc972159" + "dde301c6f1e66681f95642dbb9a9218c00d0cd724cb02f3bcaea2ea", + "440dff390688c9fde31c17fdb61c1d13899f9544a986324c34d5eb07bef9a4436297f4a7f" + "e16de5dd7b24e0c7c129051efe6f2dd0a21aec05c3e3c8f6fa30d9c0cbd60d840d14f0b2a" + "928bc7189b9de4a6a731151d6b31e6a0ecae75095434737be8c3db11a6a697d0616c78b97" + "041de", + "4a7a1d6b15ee94410325362980df659b5f72598faa1963c3f129800439e7a7148f9f1f603" + "1f7d0f3c0a8b8a248c5f5ea88a3544def2b30553061533ebfb47997", + false}, + + {25, "long message", + "ee8aea2a52eb7e0c1120ab736b1a825b12610063de9642c594766c020cb87314d8ac94b13" + "072bfbf3c019b4aacb1d2695cdd7563a26f574e12559906784d853c", + "a3951f1d18135602fdadceeef5741c24ad22756160d0c55e51b788af952adaeb13e18c24c" + "6b09672f405d7ec3d49b0bd86c7f8691b6f69af49175423215cf57d7c08a54ab0b0293e68" + "5c9aa250f1599d78193a00af822dec4b56fdb41f0343ab2cf85ea27bb2e650930f5e8ca83" + "6833903b053b3e06899b4012a6532978d90", + "741d2fef6b194913b7b6c5431d36cd80f5985480b37a8198f60e0a96bb56d89780b87d8bc" + "3feb03d29fecc28dfa285f052eec5d0f9cfcb7c9cfed200ae60d0f8", + false}, + + {26, "long message", + "ecd1861a12eaee48aef1d7ed278223b50d3416dbff81e976c56ecd4b1a1bc8892b584cbcc" + "72370ff5e976a6af1790caa32f9ea912855914c0315979578fbf165", + "5779c56373a8e5db43bd65c0453ce23144230d43666d717a3b59d2e90f0e10732376831d7" + "281cb23dd5566e5f8c627d00d39650139ceb87cd47e921d65d6c1cc7712ac4bd75bda8828" + "e68abc968f4160ed91b28946c9d706b0360bbbdd65f47ef9983c50f2d09d05c3674c0943e" + "a4af54c381089f9b846dd69ce908e0f6eaaaf", + "e5d84c73db427dbda25d546c5ef17a1a7a7c194b745f42ff6abf5821bfb0a9b778bfc2e0e" + "74871c7bbf645e3a4f735c135d7a83b15bfee39bd5f6cbd68c91e4f", + false}, + + {27, "long message", + "71aadbf330ea133b46c939d12e603896902e8df638597c98872dfb5aecd5161bc84095221" + "de3222367012f45c6d70701e862ab000e782e91b505b21b4e212c38", + "e6d7b0280d2f7df83fd26562fcdea2597cf687a9c9fa194f655c44d3271b881f28adc436d" + "b8e0437ff4dc5d38356271c338829c3e2d9ba4ac1777c94886983d4b72c275bc00e4f7b06" + "c5ce38a2fe549fe53761857f236da705fd03790b41cc6f759f41aa206feca7ba5486f4fc9" + "d09f35c8e0887241291882010414ae41b8b384a715a409be13da17bfd60d3fbd4b8cb3cc7" + "c26043807264a20b9a5c02725e742fff03e1806b38af357ebf8c79fc4c38b007bf0613286" + "cf063e45482375475e6c426d4f70057cd92efcb2dfe86e45bdea399273a5e0f142221fae2" + "06800555c01b18533295f577e23a9a7a0aa072823002b9096501174d3bc4aac33e0dc600", + "e6e46495538a977dc006dcdaeb115dad0b88706ad7b80e46f57ea8f910d75c810edc7e7e0" + "b92d129846aec9baef99a2ae8b580825037db6068f760334519689f", + false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "617063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7ec8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "627063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7dc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "e07063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "ffc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607163701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc9b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063f01a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b60b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701b568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4448c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "6070637018568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4748c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559a28544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12ff1be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a56855922a544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f719e13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228545d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be12428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d63b27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428dbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d63827d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428ebb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d6ba27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13420cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {58, "Flipped bit 504 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a75", + true}, + + {59, "Flipped bit 504 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41981", + true}, + + {60, "Flipped bit 505 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a76", + true}, + + {61, "Flipped bit 505 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41982", + true}, + + {62, "Flipped bit 510 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a34", + true}, + + {63, "Flipped bit 510 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e419c0", + true}, + + {64, "Flipped bit 511 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4af4", + true}, + + {65, "Flipped bit 511 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41900", + true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "617063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7ec8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063f01a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b60b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "607063701a5685d9228544d63a27d36efeecab50933a989e8a2f5a6d0741a463e504d4c03" + "a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c1af71be13428cbb4a39fea280421c209345dbf0c985bf6910ddc353f0b20" + "40df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "9f8f9c8fe5a97aa6dd7abb29c5d82c11011354af6cc5676175d0a592f8be5b9c1afb2b3fc" + "5e41f17031665dfc9723a53f09f26f35f3b7bbc07e5ae2b3753b58b", + true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "80374974bab73ed08e41ecbd7344b546015d7fbde3df6cba240f367a4096ef223cac0f4df" + "bf20c0003c741735079c3e5b4afb0f35764dffbae5e3cef2c1be67f", + true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000", + true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000", + true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffffffffffffffffffffffffffffffffffff", + true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffffffffffffffffffffffffffffffffffff", + true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "e0f0e3f09ad605d9a205c456baa7536e7e6c2bd013ba181e0aafdaed87c124e365845440b" + "a9b60687c691aa0b60d452c8fe0598c204404c3789ad154482ccaf4", + true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "ff48360bc5c841aff13e93c20c3bca397e2200c29ca013c55b7049053fe9905d43d370328" + "48d737f7cb83e0c2f06bc9acbd0cf8c281ba084d121439053649900", + true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "617162711b578458238445d73b26d2efffedaa51923b999f8b2e5b6c0640a562e405d5c13" + "b1ae1e9fde89b21378cc4ad0e61d80da1c58542f91b50d5c9ad4b75", + true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7ec9b78a4449c02e70bf12438dba4bb8ffa381431d219244daf1c884be6811dcc252f1b30" + "50cf2fefd39bf8dae873d1b4a514e0da99a210550a0c211d2e51881", + true}, + + {82, "empty message", + "eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899" + "facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171", + "", "a2408e6044d91093d34c1f283c19c014e739e2911c01baa0a3079e73d7c8e1d2", + false}, + + {83, "short message", + "838696e6190c874c3717b8be0cf063ca6d60760987d1a33703e7e35eb173e5ae954e741a3" + "7935139d612149e76f6ab2a370604f5b4a68bee87e309240a9ba3d6", + "d8", "38497695114208d90af884f6485e942af1e42963c32d8ea0b46a52eca970afef", + false}, + + {84, "short message", + "fa999ed1cfbc5c43afb16f22d024e3ce645e00b06712c93b946167c9c2c037d192f0f3003" + "f87c43a71166fe1a3c5824c348673a2f0f3c475706985940f6b02a2", + "cad2", "6a0d324e2b498d57fdcc1d4b052de9fbc0086627ebd0e9cfed82dbc8b54a0b5f", + false}, + + {85, "short message", + "b53fced8b7b4aa59d3b56d91e1386763c39e351c2f5ad6a4885e442ad894d5181c5bfe5c0" + "5280a84ad19d758e359bf8171fe652988fcf9d1458ea17364ca8fa9", + "d3393c", + "3f23eabdb750c10f3232a4b396ff97e6df1a4626c1383caafbf5e6aab0c5510a", false}, + + {86, "short message", + "3f0cbeebe391c6491e77c57a05e85a16f0b5294d19f9a7f3390baf7a2051fbf980e041ee4" + "5c9104a9126a6a7ec182eaec27a99c1a7a3f5a1e8cd8ffde60641dc", + "bebb0392", + "ae3ee84825ec607adcad8ad70ce1b6cfc7206f4f9d5046812073f6a3d48ef133", false}, + + {87, "short message", + "4a7f110b92241badc907ba3c61477bab0953a851bf327425e858fc724bd33ede2a4a5018f" + "e71aab434bda8eb2464a41577c8d570530c460f7c8bc0172f1ee0f1", + "40a333f4cf", + "e3a52f9388f9af038298b778123fcdf5ea58712bc5b46f1e4cdcae98f2ab2e09", false}, + + {88, "short message", + "c6c95bf9facab295cebfa4b907855874f57a5c1548576ad8bae694a364f5e58dbb8c8dd49" + "330b2fdd1b71657d211db2a6569a9f3a356c0c5b3c4efbd5b6777cb", + "4cf926af475a", + "29e274b1851fa268e0e02e3b450469ce4a69762e45af8afca567776967955de6", false}, + + {89, "short message", + "0d3387fe59e8e7c43c928dac7913826dec4d63ac3c8ee346ba7caed9505b9e63ff8942cde" + "90997e8dbeaf6e17ee187c0a84a1853952d866c15f9a32fcee6a82a", + "2ba3bc3cd64bc6", + "e049f480934a3ccc5b483874ed6eb992f94557b303f44721f7ba72b6c762b108", false}, + + {90, "short message", + "3cb9ce565388a6f0454a80add86c7e107ea537d7f468a0648930fc37172cf7b4ca9058033" + "071c354a20a608e2d46e98afe46435a344362989cbaafac18859bba", + "33ce498e1f94f412", + "91749d95bc706cb8c1f14f6a61342c44f59a963644b9fd35d58a09e1071e4ee7", false}, + + {91, "short message", + "c25f45ceb2a5597f361445fa41a9019f41a6e6d7f144203f29c0b9fcea362d60894c3cadc" + "1ce25d53da362e464c11fc6e169e3db2ea1cf40fe08fffb429b1a5b", + "81978af4795c50f89c", + "08550f63be595cd9ba3c66e33b19bd2739bdfaa4eec9acdd9823a214538d322e", false}, + + {92, "short message", + "b458764ee273f391cb718f64a1bca64c96a870d9426d6254ee37e5c93898d6a5ef68e9d3b" + "0e057a3c396faa834a29926a9680cfa903d2a605b85407bb24c8cee", + "d804dc2a1e146f62b621", + "d5572726cc7521ef30e0d8390ca521a57f039da4c45f1275fe67c3121c7008b5", false}, + + {93, "short message", + "7cbc5778f70595fc211cee3a93e17ff7f25a1d9f3766f8eb70eb1e08c9420a62bd89e8b7d" + "834cc854d059afd413e4d9c062a532e015928528c7f5812dfebecac", + "4017e0ffcaac4c485ce7ec", + "7e0836625892a37523ee178eb16f785396602fca5addb0006fa6907c530fce0c", false}, + + {94, "short message", + "937b9711d670daa2359920e47dd6d0fb75275105b3ef07bb4a31d3c4b99baa8ff79ee4b4a" + "1b4a5b250d0fd7b4721e04a7b06035b1d0c9d739597707839018bce", + "6991810e9788af7aabff8eb4", + "5b36f377078ce820bd33759a85691efc2053407fd86a3e4946da1e38a4557ab1", false}, + + {95, "short message", + "ad37630a280b1a75ebed1984217150a400a55dca2362a8eaf3c907858d0b45db3e208c316" + "d033854eb4284f71117d33876e0e203ca922d26f9b76d94cab0d4f3", + "7c6f2fd83e5691827be38e49a0", + "c15a7f38007bc32c61d912b30889d6f5c624ad0e6e2e3fa41af2d3295b0259b7", false}, + + {96, "short message", + "526aa2645ab71229e2c60f68bd5bbcf0cea0978a0a9c60cf695e81fecaedecfa0362c2174" + "7eaa995975208ca35cfa6bc2b95d1c2afcee11275f43add6f026d6c", + "681bca550fe301f2dcc1e38b53c1", + "87a7e6448d64e006339487b2d93409f00f1dafc0dbfe35a361da264f251ceb71", false}, + + {97, "short message", + "6026a9047a07ccf197fde09c8b9f15f34bc52472b7d1ea4673b4914a0e1c3aa4cfe8d6ef1" + "2d4d4019f5ff3ac0adcad7358490874155daf41da2f74aca1cd894a", + "ce1d869c53041c5f6acdda7a05af15", + "b44c984a2241527545d9cf755663346ba82841d039a3e2aae56b40020a6be1f4", false}, + + {98, "", + "a03d2c543c302949c51b662f43114c1305a8f6961ae48342803d3690dc18255fab9249655" + "36a79bc38564c7c97cb8cc0209786e9f76375bf181529cf7f93d954", + "697617ae31f19b8a6ad4b8489bfc3db1", + "1827375ec9d32581adfe2347984e33c0fd95362d158fe6a7ca07e084557e2b40", false}, + + {99, "", + "25843665d39c3ae9a7b3e4427e2bf7785281fd2594bdde67860ca9b8fa11646469d1645ae" + "8ca3825b8c551f9eac3da0660d8c2e2e3bd23d34395c6775dcdfd2e", + "74082cc5d14db1967442d66aac6092bd23", + "6bd2e4c2fb8c4849065ebc921b4fbea6de5af848fc9d22ce60b1a3ed536b4eea", false}, + + {100, "", + "4831ab4962a2d2436091cbbf388d2ba042b472a262ed8373c85d047c702adf73a87eb097e" + "72d91d089b7d1504a7f7d8abb3bc2c44c1340d6c16c84ea9269e64b", + "2803c2f4e5b4bfccd2b407469a6cb5ef21fd14a682636397", + "ab6570dd52670051d6879591618a582a15d5bbac995a09d6aeb97e52bbca2296", false}, + + {101, "", + "449bb57d046551e1819b3c994122c3605954317d0d76212284a3328c226732cbf4ecb442a" + "582c8423888aaed946e5eec2be66e127f1e2e29b66e68b9b4bec4d1", + "79004e644389a11b709bc0a23cb8592f9fc7960bfa46132cc1ffb9747df37dec", + "023ffaeb8ee50eb1869f51384011af14c9c99610058a9cc3ba871e3c56fd2ed3", false}, + + {102, "long message", + "ff97b77020861a0ce00eff8de9e701aea8c6de0fffd9b4c1342a416d357fce35a7016c64c" + "cd38e2bdf674802281c2234153dd83aacb948966dc87ea4718fff75", + "d7e2d2437b7067a30f04529041960e041e281737d1e0daa8cd50cc0b264716e117aa2fe9a" + "7e39c2f178c607faa50c2", + "cee096bbd66cb2a500f279aa34418e7c690dd1f46dbe2348d1fd04190ed78cd5", false}, + + {103, "long message", + "f4daf370c4f437d8a85391ec455e34540be8d32df8dfac05b166ae72ec1cc608f8c177b30" + "dde8bf07c9d434732c26a6e530b182c7ab21093eb79d0bb5be85e53", + "f60418f6c54a25fabf518273088619c0741c1c7187de93a0cf6a03f4565f1765de6567545" + "41b860137f3f8455de7c403", + "3b260d9bb6d9b18441e07e96c3f3f19a97faec005e98ad3b3566486724dec695", false}, + + {104, "long message", + "3be95e879421ed7856269eef39a2070fae406cec5e30b50d92792df5a37de98595684eaa9" + "205587ca607eeac8f96592f458f63434b7dc82596d3e4a1a16c3d59", + "c64f7c970a441c6c503838a491308c783099eac52bd35a217978a64dcec84d34186ab3b74" + "f20285d6fea2165eab4da3d2c", + "67329f88b1e99c978ef50b2bccf8a405d4f9ea3f0d10703fe4b335a829f76008", false}, + + {105, "long message", + "b5eb53586b948587db3dd46c43ad65498a5079157562e4074c9c20d097d0c97f19db4661f" + "b2dd11b87a5ccba2c345642618f561d00bf87dffc66762e45e0156f", + "9e8ebf96429955d60b925a4111745ec7028de24e694a6d2eee1dbd5e820ab9f00beafde09" + "f95095933a02f251297282b0cf67c518397655841f230e1d9ae5ba93150d4375dc7c0738b" + "99850b07d5a442994e68dc813d55edefa6cd063ccb202711d97ba674efa02ddbdc692341e" + "77cfa", + "52bb6b6d0018135187e7265883815d904a57434e68a0a868676059adfb5727b5", false}, + + {106, "long message", + "fbc678235d596980268730a7aa8a3c25095f1dbcf7f830990716a510c44e62b1ae8ce095c" + "65e1852bd8a09f25ab93415ae736f22b2c68ecdf3c0f71e15a057dc", + "ef395738f2b3bd7a0649eea75e734e5c79baf21358c7ae96c63a58e260266c7bfa869664c" + "5d10e87c26d0f5edb3b5f73900c1d9a96a5a2c2912506c19dff04e900b8d5d63e1bb606fe" + "3d5a229b642b1ac59e08a4687a7aade3de16d183131ddd02da988ff826e88b74ba0c5c41c" + "fcd8570cca59fb3304d588f7f7e63dad47a", + "fe957b5c1a0f337e9f119c8eb8398d2c5bdedbd1f84af785b5d365e07d4740b4", false}, + + {107, "long message", + "d8437b093e170afc30fb68d873db6dd67ee0372b6c5feb124d548abbd93304a082235a170" + "a9d326268d0cfc34264d8ebcfcbcc0dc0ea7767b650dbcfc7848f91", + "0fb91bb043cf3d49341482eacbab92da92117bb6ec03b518a93c9d59e54702c6a21ade4f2" + "55870cb52da4a24b36856b0cbf8b122d2fd5b0219aeacb6e292c95863921789092d5d65d5" + "a9389231670e38be31d8b76630650c77edc23773d5ec9189915560ef6f45a4275f85957d8" + "762916d8147ef43ea6f438d066227354df26c", + "5e08a2cef9370a6f040788b716e27b6094e4d9f6549ffd6f69ead6610dbd7ac6", false}, + + {108, "long message", + "d29225e3042b43d4eb7a9399f224424b5b4dd99031c8abf609d3a6e3175897134cc7ba8a6" + "be25d436d41a757a2daa4e1b03f7c3053ee8cada19531d48dab93e0", + "1fdad8cd37e115ef8131d4619b5d61a9827a11b9c25c5b8220b002d5b7f6e2bc30a7e2f3d" + "103dbcaf849a255c20ec5d1b40a623e398d76c5b7f07fe305181cd5bee29de3360fed55f6" + "9063e6a8fd2ef31291e4d7c3908449466b4ff1166959ff1f2e86eb48a7ed11bdcec2fc2df" + "b6684b36b8d0b68e0f1b23ef11bf5907d4a2b162cec26f31b6d5d9892a27b3fad7a554985" + "8dad530bae193d9b60d42d7ad2a66476a3ba4bf7a27ff9d0f885a540bf181caad71a235eb" + "348a23d053ba2db7aed8d7d01d96dc9f780e2e426c72bb63fcb3fff44c14bb7b0f8af3552" + "d67ee6761092c757627d19c080499c247d13b431699397159b1b71c6274584959d5c30f0", + "3b28ef1afeba82c4123956e6b902107984b2938d82912e84868c195768769086", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "617063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7ec8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "627063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7dc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "e07063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "ffc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607163701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc9b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063f01a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b60b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701b568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4448c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "6070637018568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4748c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559a28544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12ff1be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a56855922a544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f719e13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228545d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be12428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d63b27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428dbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d63827d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428ebb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d6ba27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13420cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {139, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a462", + true}, + + {140, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dc", true}, + + {141, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a461", + true}, + + {142, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910df", true}, + + {143, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a423", + true}, + + {144, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf69109d", true}, + + {145, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a4e3", + true}, + + {146, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf69105d", true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "617063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7ec8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063f01a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b60b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", true}, + + {151, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "607063701a5685d9228544d63a27d36efeecab50933a989e8a2f5a6d0741a463", + true}, + + {152, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7fc8b68b4548c1af71be13428cbb4a39fea280421c209345dbf0c985bf6910dd", true}, + + {153, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "9f8f9c8fe5a97aa6dd7abb29c5d82c11011354af6cc5676175d0a592f8be5b9c", + true}, + + {154, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "80374974bab73ed08e41ecbd7344b546015d7fbde3df6cba240f367a4096ef22", true}, + + {155, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "0000000000000000000000000000000000000000000000000000000000000000", + true}, + + {156, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000", true}, + + {157, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + true}, + + {158, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {159, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "e0f0e3f09ad605d9a205c456baa7536e7e6c2bd013ba181e0aafdaed87c124e3", + true}, + + {160, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "ff48360bc5c841aff13e93c20c3bca397e2200c29ca013c55b7049053fe9905d", true}, + + {161, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "617162711b578458238445d73b26d2efffedaa51923b999f8b2e5b6c0640a562", + true}, + + {162, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "7ec9b78a4449c02e70bf12438dba4bb8ffa381431d219244daf1c884be6811dc", true}, + + {163, "short key", + "14d93759fc28f3319ab74b8167c974e800f032344dc2747ec0f4945061a47827", "", + "bfbc9e095822745f9bae15ee3418f330e63891a2972fbfe1045165d8b5fbd288061973ed4" + "0ba310b85e7e6dafb9dfb4c29c4de7969499c67aa2ccaa48c63178f", + false}, + + {164, "short key", + "9fa371f36fb273d514fd628cb938067a4bae32a19a1e045a7d6d7f6de3751cbf", + "311bbf722d322cd7a0710f480fc66518", + "5d6619bd88bdd18aaafe2c3773d8a92e6617e741196d0c2e9d5271fb9abebb72b520bce1e" + "1f147d861be15734ab25c93437e1058bb44dddb8104185521785099", + false}, + + {165, "short key", + "6313f1526bc220f20dde1e64ced8597279586d1e15aad05ad591d841b369284f", + "f744fa3933e16d8bf524afaeb34c715653a9cfb01fa45fe1fb68e701fe1487ca", + "20df7e320ef62fd4b347193de868516a0b4c245546f1e6b43f5ac42f1cff66a56d214b1bb" + "f7d32849fee3a2c6dee8a8fe209e6e28c6e2416b9cf95ebc10fc8b8", + false}, + + {166, "short key", + "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", "", + "4e35e7b4b0029d62e3a765c2a41d19f512d77468f8a43860f933f13306bf6204", false}, + + {167, "short key", + "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "aeed3e4d4cb9bbb60d482e98c126c0f5", + "4b08479a99964744881a02f32435b60bf83ea5036835a0be2b3c6544d502cd95", false}, + + {168, "short key", + "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "318cc3d4a8a10830975458cf984196980c0f3f5ff040e3478ae29b287663752f", false}, + + {169, "long key", + "dd1e0bdbb6b60862176484f3669da531455f1cd714f999c29f08b851055fee8d72186d376" + "c236f4e16cba7a25cba879fb2753deca4459aaebc6f6de625d99af330", + "", + "dca1d28776d636773d4397b792323d315dab2fdbf7027e9ce6b216db7a35505686a1ea0a4" + "10a1473c7c0ca737b4ece05c82e8aa5203db9863677495013dbfd48", + false}, + + {170, "long key", + "432b311ebcfd46ecfcd3cc706ebd05c787dfbe1855fdcfce8d50c9a00f72b65a8d42acec3" + "35b4e07d544c92fd7b1d38543ac6e0fc04c26d88de8dd974af69e24d7", + "36b1fbe8f1335e7c0399c24730906420", + "c0ce831930455d18917c4e4f097f2000db8b295041ce822cfe67b9106fabf4800916f75fa" + "00fb9c49eb7cfb7aeaef3170a4575db66161d2035efbc132957f1b3", + false}, + + {171, "long key", + "17f720f09df5972af9b9c63e10043284608900d50b7955db3b4e2679cb4120be2c9b9e2aa" + "1a5743eb519792822c326b4d890b5554d1cb0eb71081b7569a2f04df7", + "57167c2524a55289687b83a40d3a69bc90adc53ad247020b88897f9b95d1516d", + "677530c17b888f416a303f32a3a8b0d707eafbb65845ccfe0b963b7666601385e0daf21b0" + "affa1070109e0812135b7e51e001168e08d17da1106e40d47f084f4", + false}, + + {172, "long key", + "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd9" + "74e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "", "0fd5265ee5f787925a827b5f68f9f45460afd232db4a7ad6a09c817dac9f1c68", + false}, + + {173, "long key", + "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fa" + "c55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "ba448db88f154f775028fdecf9e6752d", + "1ea78bfb221933ddb7dcf5b08f0ef34771143e2cabc6b0b8d4552fa1286dd5ce", false}, + + {174, "long key", + "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e559" + "0e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "e8db4b9925ad01399a25be1b2e9b08288f50bbe7ece18a279134806bef69d9be", + false}}; + +#endif // hmac_sha3_512_vectors_h__ diff --git a/nss/gtests/common/wycheproof/genTestVectors.py b/nss/gtests/common/wycheproof/genTestVectors.py index 6cd04e8..3ece8e6 100755 --- a/nss/gtests/common/wycheproof/genTestVectors.py +++ b/nss/gtests/common/wycheproof/genTestVectors.py @@ -150,6 +150,19 @@ def format_testcase(self, testcase, key, hash_oid, mgf_hash, out_defs): return result +class HMAC(): + """Class that provides the generator function for a single HMAC test case.""" + + def format_testcase(self, vector): + """Format a HMAC testcase object. Return a string in C-header format.""" + result = '{{ {},\n'.format(vector['tcId']) + for key in ['comment', 'key', 'msg', "tag"]: + result += ' \"{}\",\n'.format(vector[key]) + result += ' {}}},\n\n'.format(str(vector['result'] == 'invalid').lower()) + + return result + + def getSha(sha): s = sha.split("-") return "SEC_OID_SHA" + s[1] @@ -433,7 +446,82 @@ def generate_vectors_file(params): 'comment' : '' } +hmac_sha256_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha256_test.json', + 'target': '../testvectors/hmac-sha256-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha256WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha256_vectors_h__', + 'comment' : '' +} + +hmac_sha384_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha384_test.json', + 'target': '../testvectors/hmac-sha384-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha384WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha384_vectors_h__', + 'comment' : '' +} + +hmac_sha512_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha512_test.json', + 'target': '../testvectors/hmac-sha512-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha512WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha512_vectors_h__', + 'comment' : '' +} + +hmac_sha3_224_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha3_224_test.json', + 'target': '../testvectors/hmac-sha3-224-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha3224WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha3_224_vectors_h__', + 'comment' : '' +} +hmac_sha3_256_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha3_256_test.json', + 'target': '../testvectors/hmac-sha3-256-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha3256WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha3_256_vectors_h__', + 'comment' : '' +} + +hmac_sha3_384_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha3_384_test.json', + 'target': '../testvectors/hmac-sha3-384-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha3384WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha3_384_vectors_h__', + 'comment' : '' +} + +hmac_sha3_512_params = { + 'source_dir': 'source_vectors/', + 'source_file': 'hmac_sha3_512_test.json', + 'target': '../testvectors/hmac-sha3-512-vectors.h', + 'array_init': 'const HmacTestVector kHmacSha3512WycheproofVectors[] = {\n', + 'formatter' : HMAC(), + 'crop_size_end': -3, + 'section': 'hmac_sha3_512_vectors_h__', + 'comment' : '' +} def update_tests(tests): @@ -459,7 +547,14 @@ def generate_test_vectors(): rsa_oaep_2048_sha384_mgf1sha1_params, rsa_oaep_2048_sha384_mgf1sha384_params, rsa_oaep_2048_sha512_mgf1sha1_params, - rsa_oaep_2048_sha512_mgf1sha512_params] + rsa_oaep_2048_sha512_mgf1sha512_params, + hmac_sha256_params, + hmac_sha384_params, + hmac_sha512_params, + hmac_sha3_224_params, + hmac_sha3_256_params, + hmac_sha3_384_params, + hmac_sha3_512_params] update_tests(all_tests) for test in all_tests: generate_vectors_file(test) diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha224_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha224_test.json new file mode 100644 index 0000000..cf7ef81 --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha224_test.json @@ -0,0 +1,1604 @@ +{ + "algorithm" : "HMACSHA224", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 172, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 224, + "tagSize" : 224, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "7eef1e40253350eb9307cc6bd8ab8df434bc2faf7095e45b50ffdd64", + "msg" : "", + "tag" : "45b466021214d19245506900532f5272f44b5ad9b3d829f0f5c2108c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "8648ee936c6ebc5ae4bb48c1139a54e3ac5d897beec492dc4d740752", + "msg" : "2e", + "tag" : "5b72e3208679e63f929e6ee19a257d0555f21484c7caac7c9861be43", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "2297d78cc45faf9b885b36ac80205cc08e1b730f264f23f4edbbb406", + "msg" : "329f", + "tag" : "2e7a81c4e29a435d91e95f37fb0a62fbe9a69e061f416c1ad17a7fca", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "0361a904f7cbd107a617614ab69d11208ee6d423b3ae90e2bb6d7e54", + "msg" : "e6e765", + "tag" : "bbfa7ff960931e2f5ed8c925cd74272990e755f31422e5c858995b73", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "264a8d2128e8fd0972d9acc66dc275b1286beeb0aff7ce8e97c7b96c", + "msg" : "25838e50", + "tag" : "b25c33bba1a91024f42cfb93232ad685d54be2ca310b0ff9ba5107b8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "6dde8828f09b7aa981082aa116fca3b7341721c0440803f52cc9732e", + "msg" : "be81602da7", + "tag" : "e510fbf14bd7301f751cc0ae89f8725a7654ebbba6bb2f741626471d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "3ba156ffdc55d155bd085105aca64d13044db60c82cf2cd9d61d098f", + "msg" : "69c76c8937a0", + "tag" : "a9d38740245038d9c23cbb59ba6513f7034d8047a07a904a2a23d2fc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "9c2739bae2a863fb0236466ba3408f4eec8d43206d56bb7aa2f8f75e", + "msg" : "aaf4c9146db948", + "tag" : "2110393c6ba01f53be203533fbc5471fc8f04940fe912411564ba36e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "31d9cae2c3df064018209b121f9e883976ea757942ecda9d92fdadfd", + "msg" : "b844289529206f5a", + "tag" : "1f1ddb8680b0d99893c498a772a7bea63c2e08c0257a7f31e3db2b88", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "89a1b9e9004444c1d4e967570c21a05512d3f618ec168fc3e13ea5a2", + "msg" : "6b42eb6d84e90c70c2", + "tag" : "3b6f3b09e03424c8adc267fccefaf614db6d74977754fcad8a8d1a9b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "4398731752fd7af1db86ebccbee0ad65eb5faf00ace6c9aa35441faa", + "msg" : "1ae2e7d917c48026570d", + "tag" : "5f1948336953337c381d449c17ab5c327c86121a8b1e0db19f624e3f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "339460d6bb26ca60ebcef10c38587b9e575c398491782ccf9e8f6803", + "msg" : "ca03eb4f37536b2377738e", + "tag" : "51c5661c31fc7edd09de60c91957036824a19761bcc54f1e93c43c3c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "025f8380d10b8207b3623e4a90f79c3e753b1be6a35b88b68330a40c", + "msg" : "e57daef9ede4e915c3a9eece", + "tag" : "8afdb371714e9d6063ec9e43c8cd55e1c032b2fda57f91e9ec0f6601", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "0bdc5f51f8a1a35d75554be70efbcdf51e54f30fa4696f727431941f", + "msg" : "cc3dd1eb0690f7af09ad408f9c", + "tag" : "c0918951c3422b48502635b6e58c5dcee9fea51c9dce5c7c215c9b93", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "5ada97d90a74a7d4a68c5464fff25a9b7fa2e75d6acf0a59f143a2e9", + "msg" : "3fe4ede158af108e09f543e14ab7", + "tag" : "180a6b8814ae34228ae9ac76da8379376aae6f1aa0102e8f06b022dc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "007afe6b7c0701c30cb76b431afa3510c8b31d21cfe0bbaa5289cd08", + "msg" : "c2cf80005c591c1f737369fcc212f0", + "tag" : "fbfdb450a42f9a4154146f73c590a0ee9187af8505d60790a9615447", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "26491168a32ce8cbc4c0cd64107e4fcc432f07d59c992862e1e55b1e", + "msg" : "15e51091b4f424ba1fdecb5e2fba11f6", + "tag" : "3fa99ee160328fddc47a7c5043e9ef645b8b07462b71cad58a024517", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "6978b6c134dd6949832d65e4cb9c1e1dc36beae4a134907c80da0f44", + "msg" : "6641d834b3fbfdb5d178007801f7b4e7b1", + "tag" : "61387230446f31fde8552f22ec52a7fef82e16d0ad399de939d8229b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "9f9fb280adf12e739548b1d676cb794d685b9104e63b619b055cb60f", + "msg" : "91513dd6de40a1c23f8d1eb0ab8f5ea6f6835506ec750894", + "tag" : "e6b92f9c030270897c5d27162a5d40f6d373ff136105d1a90e0f9a60", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "3b1b16e6dd2e69559dbeb964e10fc94c068471b2374d3a2d24d2d466", + "msg" : "8ecd55b56c668dcb8e8b1efd699c0e4a464204d29af140f87d3f5075495378a3", + "tag" : "175856b8f56a8c6fbebc36541771545046bb416254f01ff11a218d2e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "fc296398845063e661bdf36ff3615926eaccbf06947cd31e6677f710", + "msg" : "62bd0ad75d64c554cb2cc109c6e4019fc601c61cabdf99f8de871edc17a301b4c1f55a15ed66f91eb4666dd08bc59c", + "tag" : "b7cf741cf96d6bf57d216c43611c20869ca0d008a4542f5c850605bc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "6c98d1feafff9861351966bc6ed19ed467f9dc767fa0df6b56955554", + "msg" : "e99d51a1d9a25c5842501a5383133578c8debe501581b1610f7575519bbd26f01ab7cbe069bfd5df3699a2fea5b461a3", + "tag" : "0fe64fdd912966a6542069a22bfd084b484c015cf434d86bca15cdb6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "42a164f94e33d574118e0f8c938bbc2874bab219ee7a179f21e13b02", + "msg" : "e895639631f8b5d48e3ce00eb310bf129976ffced96a6f30a09d6ac1c291f73e93690526d86cc4d1a8e21c11f5a8979308", + "tag" : "1ea982226e8d4cb7b07922158e535af2233b4c4d39d26b062d6d2aae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "c1b5b91210667e72aa510346e1811358815a3330c5ed27a695c39451", + "msg" : "bf1086c3ea8b8840418c690c92152c73a6730bd1a0210c8b1d25c43a2193e739684f04a25a52cc305599f22ba6f70c8ed00d10b914a9522a25e06c471ebca2ff1bb4fa6799b85122020978dfa66ef12ed26ad38331b26eaf591afceac96d8c771eae50fb7f46242337dd0029f4813b53", + "tag" : "4f355edbe6a3c93fa7add384be899bb4fb55385a78812a26cb64e44f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "4f09d14d40e475b68288c080668ebb1bc8c6be3191f6664d91a23fcd", + "msg" : "ae8b6ecc219b368d22fb596e42652d0bffee0b20d69cfd089ce3dc9303ba2f054ccaf5f5147c7968a028b140f5e3c9274eae2afc61c3bb6298dc598df77dec1cd2dd84212693b082b8132ad0f0b19f66db69fa7f6bf352b4feac724ce048440d2a42b44d53bb62fe2ab25f7f54bedf9ce7ddafd8e09330dacc6d52ee9b65f5", + "tag" : "29ba268103019e158a35614c80780fda3f5ec3fc32c80aaa27b4025d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "613f414cd94130bb8a6243e12eccd90836808428b4a7177867934da0", + "msg" : "f696b9063b64816a45064f48ca05ffe4d5cc3d0b3beb0dd4057b6ada994969bf039bfbb72ce197101cc4e4b3959b3702f045afb7fb3113c997606dcaf2aaab31e02ac6ee597dfc0f9143d0effedc9ae7ea10e7ddb1db860a91afec62c48ed9c0a6c10b4da1de748caf7f7a5e01799ac57090daf4e3352fe859c5131c205d262d", + "tag" : "8129e2093070168a20899793a04447a7ef01ae723419256a8cb42f6d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "5b88275307aaf691a0cf0c51f50553dda972d14f8afff98e62c2d972", + "msg" : "57e4efbde1ce9fee2e29db19dfc6ba3bcb17f33765af7f20133bbd1910d542145c7def187a304517b8d8954454a90a717f67f9c8cc587965fd9b43f41ecc50b3458d8ce9f66b475f1eaef4a29ba89a3d58e5011c92acd1536fcd18abec29411b389b64f7f344777ed6deae32127abaa69a50ba22a11d6e59354f2ff0e3c3e3293cdc335411cf55b180bab59da36903a6fba91df34d2aadf7017ff49a4fbd73c9c74469f225dafc0a0c7048c2b824cc0cba8cad8aced11b8cdac3243cdb5b654f7a15ce2014e92ee287d06904d778512a1b1f5ec0c9b090b9ab439c44266b6be3d6a98947d26d079e4f7e849f3c6d93de98624e6c5f53ec02dbd368bc24a300", + "tag" : "657dd04b970219edd63abf9d4aa108474aa316b6bb66bca76ed806c6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6f99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0c216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6c99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0f216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ee99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e98e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d206faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e8e2e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216f2edf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e432e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faede3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e732e8936d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedd3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8136d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf30534d51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936c78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd50fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e893ed78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cdd1fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d58b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51dcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b4f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcae417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02809b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417322c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02b09b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417022c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f0a909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf41f222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 216 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d13", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 216 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d88b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 217 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d10", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 217 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d888", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 222 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 222 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d8ca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 223 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02909b130ab09806b2af02f7cb9d39d92", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 223 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417222c8f144abd5f2f7fa00ab4667d80a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6f99e862e532e8936c78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0c216faedf3053cd50fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e8e2e532e8136d78b5f02909b130ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216f2edf30534d51fcaf417222c8f144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8136d78b5f02909b1b0ab09806b2af02f7cb9d39d12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf30534d51fcaf417222c87144abd5f2f7fa00ab4667d88a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "9166179d1acd176c92874a0fd6f64ecf54f67f94d50fd083462c62ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f2de905120cfac32ae0350be8ddd370ebb542a0d0805ff54b9982775", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "00000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ee1968e265b26813edf83570a98931b02b8900ebaa70affc39531d92", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8da1ef2e5fb0d34dd17c2fc1f2a24871c42b5572777a802bc6e7580a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6f98e963e433e9926c79b4f12808b031aa08816a2bf12e7db8d29c13", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0c206eafde3152cc50fdae407323c9f045aad4f3f6fb01aa4766d98b", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 224, + "tagSize" : 112, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "26f314170b054daef5349804da18f969c94174baca2beeb009d47a23", + "msg" : "", + "tag" : "816d7af2475e94713f2dc3aa3069", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "17429a622dc18d38715b31f8f2b963108e952a6708f3e52d5b25848a", + "msg" : "da", + "tag" : "26630777d85f777187630bb94674", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "0acfe12d89acd7d9ca49bae6318f35b2fbbfc84e5d2c9d4954beded7", + "msg" : "03a8", + "tag" : "aa4c4bb63cad66ac675150f718b2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "5a0680f112354bd467865b19ae956b2719e21ecee1a913bdca294339", + "msg" : "a0fb73", + "tag" : "36c7cd3f290d1d7d332b951aa471", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "46fa59aa524fe30a0f4e39561b5666854440dbd970bb59925ce0ae1a", + "msg" : "c8b2f557", + "tag" : "c1a8a7d43df34d917f0cb512c57d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "29efc5ab5d30e535357603f2711b6e0aa6cf4613546c23144436d213", + "msg" : "c8d9f5b373", + "tag" : "a8cc7bebef4cfcd5ac2f401a372d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "fe60e0322035538f2b1de9de380cde35f291deeb6e027b5d829ecd1e", + "msg" : "185e4cada4f4", + "tag" : "32faa154396b0b62436e6bf937ee", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "1bf7fcdf3742fa77991528cc1c678b98be9876a8c8c5b809beab7d9c", + "msg" : "9c0f34a5654279", + "tag" : "086170c46d2b0a76c61527c2d052", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "32533c16f792ed0acf8e9e60f54aa173937c7194b882ecc3e671009f", + "msg" : "f968dc7a19afe339", + "tag" : "3fb4eb4450ac4b26a714bcfb224c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "3cf28a476ce7eaecfc3fbf1b0859a042a568740a584c77cb8f9603ac", + "msg" : "dbca9e4bdd84b38934", + "tag" : "2cf14eb8f4c7537e9831983bb5af", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "a2a8090aef69277f92830ec7404c032f8fdebfbceabb9e590968a77f", + "msg" : "6b790a946a83364c79d7", + "tag" : "d467209f63a9bd3d2c5398c305da", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "6f999929e91672bac35ea70f8ff8b9aeefa5489493c99b0d27797207", + "msg" : "b7dabb237aeae2be8b5e19", + "tag" : "09b2bb6eaeda5f0229b8c35a2f54", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "4525b96c263e4d2dab2890aa55f3cc503dc1206d9f1915a6fba5ae61", + "msg" : "ef858f496fcb7c3fabbfb52e", + "tag" : "6f5ca7efcb9a70d0abf8425f42ca", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "f89401acb0a60d07fd733ed563f2ee241f4ecfea8114587a44dfdb0c", + "msg" : "7d3c0918085984df95097afa81", + "tag" : "fc227f29b51f9c855343dcd0ea11", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "58bce8c0d17fc7131d2fa2262409bb14663a6e68019f88299987893e", + "msg" : "1ca50cd6c3f1225eb6c4ec4d6a90", + "tag" : "53e103bbded7b825affa240f8578", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "658e510fba4e2208afac98333f9e242bc118f6e79ef0661d619dd32b", + "msg" : "32c385b75ae84558ca302881c51639", + "tag" : "485f351e2a9a82910c3c949e32b8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "6a41cc3ca7142ae14e6d979a3f890a331597e592dd74520ce4ea660f", + "msg" : "78e3a770a8aaaf039fd4c9b6a1780411", + "tag" : "331a58ed96fc8b9e684ab05f636c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "b8972b93b68302cbaa08d32904eae6375a66f3508ece3c9b22382c7e", + "msg" : "3687e6287d73c9e3f679a50e7671247127", + "tag" : "27d8113955026d4d318070fbfd8f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "bc570932abfa11050ad4fc80a6d5afe3271d86aa29dc62738b207d14", + "msg" : "d53202acd2ec74d746531bd9ad3016d0980e0166fb427a08", + "tag" : "020e3e0c2940ce15eeb67392570f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "c92a0665c12e87026e1b344f971fdb0e474d450cba834aae40e2d21e", + "msg" : "4a3a85ac09f5190ab94f73fd91d98f056015263c89ed5da223fc4675cab25cdd", + "tag" : "922853f159c42b9e274fcef7bdf3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "6fbef67cfbacc98c63252b1ca009a60e8e3479769a2d449fb4639064", + "msg" : "006e179eacfa9e1e628bb7823ee9609ae7968b6df90e176f772a79088d37e9b15cab312922aaf8fc6583a341002bda", + "tag" : "0a27a12afbb9c3136202e02ae3b2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "700b09908174f1072e31ae8ccbda1c4460fcf21fdf146a11482b210d", + "msg" : "f772564ecb109e80eefb1d5a7f1c95e203ba4c980233dd8d13de3046079a6b2ca26dc3521e5e0c807eae7a79877c73e9", + "tag" : "04c718a4cd8b583d5ffb8170276c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "e18a20246ebe1b5796dbfe35110efc7637d74a355f0a6758d4a00b7d", + "msg" : "77720dde530e6eeaa0e9af3311f7e99189d6c4f7d71d0a4207d62c766bee32020c92f5d5d28d5de4d0d9c94b57ec05f0c3", + "tag" : "25ebc8611f4b636d892f11df2b29", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "3c4585a775bec76c7d8b27b87e70a5863a85e6111f3161b3815f59b4", + "msg" : "628c0ff8c432d74f4cfb77ba46b7cef67a48ac053cf0c18be41648736abcc8c6fbe4981529babd4b27866e34ced16d8b0bec456e14653a1422f5a62556d20b0fe4e03749d5f6e986375062dbdd82f6e9e1d4ad547c31530c2a31383c25ff57e879eae99d9b3a0da1f3c1dacb975067ac", + "tag" : "deb94b2d43e98926af51fc0c88dc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "acaf94cb1a8ff4677fc586d2bdf981ac3a656b208215e0a7647b420f", + "msg" : "314c2c25465de3427279dbc89436505fee6d37d56fbda0e5e2a49449d9dbf003027f2e4ef5c52f7af93fd80155a66a1cd6b9885b56d828058a0de7d247e19580b2e8dcbdef2ae46840565fd8b276569c19d7e185116ea11ad67d5fc27f4a6816ba45be5d14f3ba4315c74d1edb20f217b116be852b62a7f4e32b3e708ff9f7", + "tag" : "5b0d7aec7fbd196ee69ed373e131", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "e490348ad78fd2cd5b51f2795b79e5805ce1d9baf1151dbdf995e1b0", + "msg" : "f6ff1845842b9e46f79adb1079aff47397391dc269bc0c899ba4087b58a676f5408c3f7637ffc4772af3e41b5cea51058bc528ea09bb4bd797594c798b0f0ff881695e98c08bbb040c12c5cbdb228d61cc99e332e963128d06e97ed2eefded2e1b5a035f3bea68273efac03a894dcf2fcc79a5696218595404b2758deb9a80ee", + "tag" : "590727f344d8a540e5c5e0f4dae9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "c8e099dbb60a8f19d8b86856b21c55f3437ae27f77dff9808f12a1b5", + "msg" : "edbc109bf28c8ab32b1238eff1cd14308cdd845fa919bfd8a00c991cf9a8d6b05dd8cc7d2393782949c899de79e771ef7d8567f32287623963048e6c80d91f0778dd63311106e9d0913c08b7a0b7253fa3ce307ac40ec55a4c445f5455a570fec090e251e8646bada1a486d41c3794bce5639732f2c6cfd58081c479a68c515f5d47bc5b2f1622a08d38a596a817f3d4efef8003ae430e6ae93b0a3ae8fa95a2ace3d24d90a9ef861dc04c13e38f6e524b3abdf9cce4fa490707c80c16e254b7a71af00a12dbf473b50b9fe4097ec00ab27e66b6f3022b0f101ee1a9f7fa8652e9f095ca240a446067446867f78e8352c4110794c2e3383dfedfb35e74a33e", + "tag" : "33e7dcb0fde3b1c5b92506e635eb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6f99e862e532e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0c216faedf3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6c99e862e532e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0f216faedf3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ee99e862e532e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8d216faedf3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e98e862e532e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d206faedf3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e8e2e532e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216f2edf3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e432e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faede3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e732e8936d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedd3053cd51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8136d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf30534d51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936c78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd50fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e893ed78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cdd1fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d58b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51dcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b4f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcae417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02809", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417322", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02b09", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417022", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f0a909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf41f222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 104 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02908", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 104 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417223", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 105 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f0290b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 105 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417220", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 110 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02949", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 110 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf417262", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 111 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e862e532e8936d78b5f02989", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 111 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216faedf3053cd51fcaf4172a2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6f99e862e532e8936c78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0c216faedf3053cd50fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6e99e8e2e532e8136d78b5f02909", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0d216f2edf30534d51fcaf417222", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "9166179d1acd176c92874a0fd6f6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f2de905120cfac32ae0350be8ddd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "0000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ee1968e265b26813edf83570a989", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8da1ef2e5fb0d34dd17c2fc1f2a2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "6f98e963e433e9926c79b4f12808", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0c206eafde3152cc50fdae407323", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 112, + "tagSize" : 224, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 161, + "comment" : "short key", + "key" : "77b0de54e893642caeac34bfd1ab", + "msg" : "", + "tag" : "2014a9f272378fa1c9f6744d4db4861b52e61a19eb28320ebee2d174", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "short key", + "key" : "7346c7e4b118b24e51f4512f906a", + "msg" : "506d4faf624f92965aa6b5c01e0c80a8", + "tag" : "c4e0ad2f62279898a7ede0f709a1ccb8c1004941f3c5074392e79533", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 163, + "comment" : "short key", + "key" : "caa864179f66e826a0ef3b5edbe3", + "msg" : "73f64253706ce6b5094c24ee012ece9ac2495283dcd8c7f1114e81e4587d8ea4", + "tag" : "a1220745bb03d982763bfa7ce352b8bc87576a0ad5d46a0da08ff2d6", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 112, + "tagSize" : 112, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 164, + "comment" : "short key", + "key" : "663a97d6b5493dbfa60c8dd087ed", + "msg" : "", + "tag" : "0c6e21a85e3cd2cd413f36507d6e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "b08c345a7c7166fdd33ce768c1dc", + "msg" : "9964d80ee2338cffe28483aa446a6f76", + "tag" : "aa003015309f2ed6fd7752e49c31", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 166, + "comment" : "short key", + "key" : "fc9d2883c67534fefbd6ed4a9798", + "msg" : "a49820c194a43deef11f3a0f4eaa80425439fca9d9f1d7c8e665d6b130e4e908", + "tag" : "1c2b96623c91ca9c5027f8f81ede", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 224, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 167, + "comment" : "long key", + "key" : "cfa639656cd49f8d70f0b1a5a056ab4fc0aeeebc91338d067f36c47b6012dc8d856b8abcc4e1abffc910aeaee21b4d366e907488ffd0ca55b36a621aee0b2e9f0c", + "msg" : "", + "tag" : "0ef4fedaeaab4ad52c843657047b19788a9fa91061b7a14adda8c490", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "long key", + "key" : "b36d3d47a4585b401fc64c98eff56243d4da78863063d814e88f370b92576406d447fcf3d129a1ede57ddc56ea3a0a1f100105a95e83138cdf45ecf2a5992acf90", + "msg" : "15c75a64b04d097af2371af380079eb8", + "tag" : "4ecb2daa5fb08dbd836e92a51e200bb230f54ac2c9778f5226b3abc9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 169, + "comment" : "long key", + "key" : "cf78b991382db5e8666ccb2333fb672179b10a75cf9e5a7699ae640005e19772ef6499a3bc97f12e58e835bb0017bb3b2e64c6ab44a0d619dfa0363484d1c991e2", + "msg" : "f661e598f180f25dc6dd76db8a9e0e4c9c272b9665a6b1756560c723b8e08595", + "tag" : "cd55cdb0c4f02b9f6148392993b18b4ff00a5e73b6f3fbf83a854aeb", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 112, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 170, + "comment" : "long key", + "key" : "3772ff6bb4e5b2811cfd4d6a3d34dc74bca3dbf89a5817b79d8472a1383b8c9afb27b3006196ce9966829eae6a313c2d724d995f4def17117c09edcfc8c0cbbc93", + "msg" : "", + "tag" : "40beb1d3aaab25a403224e577770", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "2ba910bc0bca90644cb21e96063e2cd85f5dd02fda75d353c9b51eaf45eee94c165ca6592d6cfdd987bfdc1cba66363d535a14b2f7ead841b17c4d76a5049105f9", + "msg" : "7ba461040de9ea3cefd4809124f78b39", + "tag" : "4d28a926df1b188e85d092bacf11", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 172, + "comment" : "long key", + "key" : "7fcf3cb1b1c5b537492aede4689284b5881935e3537bb7307198d6518e7a6aabf70b50b44e4a8dfee35e9f5cbada7447e511a37209390fcd171c62075c6a8bf1eb", + "msg" : "83d29c1c4d059ddb0d2aca787e5b701bac3953fb9bc72dc87b1ef92a582e9748", + "tag" : "392ce38f7838b2f87163eea00b86", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha256_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha256_test.json new file mode 100644 index 0000000..46ab5b7 --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha256_test.json @@ -0,0 +1,1622 @@ +{ + "algorithm" : "HMACSHA256", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 174, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 256, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", + "msg" : "", + "tag" : "b175b57d89ea6cb606fb3363f2538abd73a4c00b4a1386905bac809004cf1933", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a", + "msg" : "77", + "tag" : "dfc5105d5eecf7ae7b8b8de3930e7659e84c4172f2555142f1e568fc1872ad93", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9", + "msg" : "a59b", + "tag" : "0fe2f13bba2198f6dda1a084be928e304e9cb16a56bc0b7b939a073280244373", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d", + "msg" : "c7b8b2", + "tag" : "6c13f79bb2d5b6f9a315fe8fd6cbb5cb817a660687009deccd88c377429e596d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139", + "msg" : "cc021d65", + "tag" : "e87538eb167e62d7cb236690ff3f034a9c12d417aa8dfa694d7405f9e1f85fe8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c", + "msg" : "a4a6ef6ebd", + "tag" : "01a93f4ed216d0b280896301e366aa67b25e6b6a5a6e84f291a13391c6e496c5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78", + "msg" : "667e015df7fc", + "tag" : "06b5d8c5392323a802bc5cdd0b3c527454a873d9651c368836eaa4ad982ba546", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154", + "msg" : "4163a9f77e41f5", + "tag" : "1b0103729f48c2772bb132aef9ebd6dd6aafc9145df6d5c514b233ee92ef4a00", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938", + "msg" : "fdb2ee4b6d1a0ac2", + "tag" : "120b26ee1355c134c262513c7922deb6c4fd90303de4cd61b9f9cd08f22d6e18", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b", + "msg" : "dea584d0e2a14ad5fd", + "tag" : "88bc2282e5fce47ec6d9895395cd47fff91a0cdc589a8fd56d8d344616533a3d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561", + "msg" : "18261dc806913c534666", + "tag" : "f678f081d83cf126ad6bd52c2dffd786214f519c47452b85a97458d0c10c3ee5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463", + "msg" : "26f8083e944bacf04e9a4d", + "tag" : "e0e46cd7d1a75b3d102893da64def46e455308761f1d908786628ca7ee22a0eb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591", + "msg" : "bfb7d6a08dbaa5225f320887", + "tag" : "e76d5c8c070a6b3c4824e9f342dc3056e63819509e1def98b585aeba0d638a00", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a", + "msg" : "7fe43febc78474649e45bf99b2", + "tag" : "aa57d020aa24ad823472c2b80ff2d0cf475f7de0068f9a59e8112fede53a3581", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48", + "msg" : "81c7581a194b5e71b41146a582c1", + "tag" : "f45c72603cc160c0762f703407844a7781dfe0f1ddf0aaf4ccd8205e94469aed", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989", + "msg" : "2a76f2acdace42e3b779724946912c", + "tag" : "0226ee13cc05e2340135b3f4b27a9da1a160f6170fe805dadd98a3711ec9c421", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "msg" : "aeed3e4d4cb9bbb60d482e98c126c0f5", + "tag" : "9ed7f0e73812a27a87a3808ee0c89a6456499e835974ba57c5aab2a0d8c69e93", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824", + "msg" : "90fea6cf2bd811b449f333ee9233e57697", + "tag" : "5b692cba13b54fffc3adcbb0e015cc011fbfd61235303ff0ad2a49775083bf22", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5", + "msg" : "3202705af89f9555c540b0e1276911d01971abb2c35c78b2", + "tag" : "4e4901592ba46476408d758435c7d1b489d2689afd84ceaaee78bfb91fd9391d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "msg" : "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "tag" : "3fc1d73dd4a8858c1fc3d8c4a3f33ed5ad0c70210038394a5902cb26fe287348", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f", + "msg" : "9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f5166935c86f0441905865", + "tag" : "788c0589000fb7f0b5d51f1596472bc9ec413421a43df96ee32b02b5d275ffe3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0", + "msg" : "d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367d2eee75c8f805730b89290f", + "tag" : "39697e70ce741feb33dedc069f00b5627fd9b837d10cbdd5b6d19cfbd511dd2c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10", + "msg" : "1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c89f94501a8ade41b26b815c521", + "tag" : "4b0b4d0416fa2e11586fbfa7fb11261e69991dfa34019b9893d69a2be8c1fc80", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf", + "msg" : "84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea208529a648", + "tag" : "4a85c479d1650dbd73bc5248074a55ff50218bddaa8d1fddaaf44946dc19aefb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf", + "msg" : "9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba956c13508c1c0c25310105239ab73629e30", + "tag" : "ca1b80441d333909c2bb30769650055051ed20f17de8ee953cb9070af56c704f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4", + "msg" : "6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eecc7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5de77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a0e9dc1ea65f5632730e8744d1db2c40a6595b", + "tag" : "0900b3e6535d34f90e2c335775e86bf38ee7e3d26fb60cd9cdf639eb3496b94c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db", + "msg" : "696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e37dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327dfe8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff7986ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df2088081bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe", + "tag" : "82f92977f0b605eaada510ffceb53ad75fde16a8029f1b75b406a84270dbb8b7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d28b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d18b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "dab99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "538b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38a42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b89f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42896d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99fa709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096c80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2708a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096f80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f270ba3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f026b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74972cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f824b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74170cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b45a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbf93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d4607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93834c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d7607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93804c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a955607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93024c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1ca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1c9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc18b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef10e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc14b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef1ce", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d28b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42896d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99fa709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f4df826b44a9d5607d672496a415d3f4a1a8c88e3bb9da8dc1cb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3caf4172cbe93824c1fa9b23a0c1e9c21bd851ff2d2c39dbef14e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "2c74bdf6927f0ba07d94bb562a9f8218db695bea2c0b5e573771c44625723e34", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "274660d8f65c358be8d3416c7db3e0d64dc5f3e163de427ae00d2d3c62410eb1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "530bc289ed0074df02ebc42955e0fd67a416249553742128480ebb395a0d414b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58391fa789234af497ac3e1302cc9fa932ba8c9e1ca13d059f7252431d3e71ce", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d28a43086c81f55e836a45a8d4617ce62597a514d2f5a0a9c98f3ab8db8cc0ca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9b89e2608a2cb75162dbf92834d1e28b33b0d1f9d20bc841ef3d3c29cbff04f", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", + "msg" : "", + "tag" : "f4605585949747de26f3ee98a738b172", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc", + "msg" : "40", + "tag" : "0dc00d7217bbafe8d78bf961189b8fd2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f", + "msg" : "6601", + "tag" : "ff296b368d3bf059cc48682f6949ccaa", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b", + "msg" : "f1d300", + "tag" : "2d02bd1c25b1fe52b1ead07374d6e883", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77", + "msg" : "2ae63cbf", + "tag" : "4d9e8bddf9b7a1218309d5988aa1b0d9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8", + "msg" : "af3a015ea1", + "tag" : "cb8a4b413350b42f4ac3533cc7f47864", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c", + "msg" : "3f56935def3f", + "tag" : "1cfce745db1ca7de9a1d4420e612ca55", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493", + "msg" : "57bb86beed156f", + "tag" : "0bde0d0c756df09d4f6da81b299a3adf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5", + "msg" : "2e4e7ef728fe11af", + "tag" : "406a5c2bd3e6a9595f9b7dff608d59a7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf", + "msg" : "852a21d92848e627c7", + "tag" : "0b1bf9e98d0a794fa55c09b63e25799f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4", + "msg" : "195a3b292f93baff0a2c", + "tag" : "71f33f6021d90858cadb1353d7fbe8d7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c", + "msg" : "afd73117330c6e8528a6e4", + "tag" : "4b8d76372ebe5e5caa56ca4e5c59cdd3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc", + "msg" : "0ff54d6b6759120c2e8a51e3", + "tag" : "c580c542846a96e84ea77701778455bf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8", + "msg" : "f0058d412a104e53d820b95a7f", + "tag" : "13cdb005059338f0f28e2d8ce1af5d0a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19", + "msg" : "aacc36972f183057919ff57b49e1", + "tag" : "bd993e4428cbc0e275e4d80b6f520363", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa", + "msg" : "5d066a92c300e9b6ddd63a7c13ae33", + "tag" : "86c9f4dde0b257a7053a7b03c7504409", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd", + "msg" : "cc37fae15f745a2f40e2c8b192f2b38d", + "tag" : "b96bcacafac30094f18ac5039e7b3656", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7", + "msg" : "d5247b8f6c3edcbfb1d591d13ece23d2f5", + "tag" : "6e597c4c3861a380c06854b446fc2a87", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5", + "msg" : "13937f8544f44270d01175a011f7670e93fa6ba7ef02336e", + "tag" : "f731aaf2f04023d621f10495344679a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892", + "msg" : "91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18", + "tag" : "95243eb1a9d448174ae4fccf4a53ebfe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4", + "msg" : "58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3fa55709b73bf620cd9b1cb", + "tag" : "343367207f71425d8f81f3110b0405f6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe", + "msg" : "39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917", + "tag" : "151618eec4f503f3b63b539de0a58966", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f", + "msg" : "3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0e7dd7c43ad35fab1c790f8047", + "tag" : "ce201c0dcfdc3f2bef360609a31fb19e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d", + "msg" : "7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f25813515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e63bf0f", + "tag" : "76e8dfd94db4af9d79d9718eec46cb2d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152", + "msg" : "d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0", + "tag" : "eda709c7009714c372d0d6a63dfde469", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6", + "msg" : "d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098b7f981b2af5189a6adedff53a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b9527e07d08af52dbcb91ceb3d8b412a2b2402", + "tag" : "8ca1402bf8fc23442ac2067be925b828", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0", + "msg" : "238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1dfc18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9afbe9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b143f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db3047e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560", + "tag" : "a830b313f4936dea56a3aefd6a3ebe7d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d28b42096d80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9b99f2709a3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d18b42096d80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "dab99f2709a3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "538b42096d80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58b99f2709a3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38a42096d80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b89f2709a3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42896d80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99fa709a3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096c80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2708a3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096f80f45f826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f270ba3ca74172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f4df826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3caf4172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f836b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74162cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f026b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74972cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f824b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74170cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b45a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbf93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d4607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93834c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d7607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93804c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a955607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93024c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607de6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f28", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607de5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f2b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607da7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1f69", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f45f826b44a9d5607d67", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3ca74172cbe93824c1fa9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d28b42096d80f45f836b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9b99f2709a3ca74162cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42896d80f4df826b44a9d5607de7", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99fa709a3caf4172cbe93824c1f29", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d38b42096d80f4df826b44a9d5607d67", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d8b99f2709a3caf4172cbe93824c1fa9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "2c74bdf6927f0ba07d94bb562a9f8218", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "274660d8f65c358be8d3416c7db3e0d6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "530bc289ed0074df02ebc42955e0fd67", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "58391fa789234af497ac3e1302cc9fa9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d28a43086c81f55e836a45a8d4617ce6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "d9b89e2608a2cb75162dbf92834d1e28", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 128, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 163, + "comment" : "short key", + "key" : "a349ac0a9f9f74e48e099cc3dbf9a9c9", + "msg" : "", + "tag" : "3a8437b877b75cc08a4d8d7559a8fc6869a58c713da63d1d4b350d59b597e30c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "short key", + "key" : "ac686ba0f1a51b4ec4f0b30492b7f556", + "msg" : "2fa43a14ae500507deb95ab5bd32b0fe", + "tag" : "008532a53d0c0ab22027ae249023375374e2239b959609e8339b05a15742a675", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "73ef9ef1a4225e51e3c1db3ace1fa24f", + "msg" : "ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3", + "tag" : "9c7cb9f7c207ec46d1e3c55764731c4ab5ddbae4e1401e52a895df0cff4787c9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 128, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 166, + "comment" : "short key", + "key" : "e34f15c7bd819930fe9d66e0c166e61c", + "msg" : "", + "tag" : "1d765ab9e29892f7bfec2975ad4bc2dc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "short key", + "key" : "e09eaa5a3f5e56d279d5e7a03373f6ea", + "msg" : "ef4eab37181f98423e53e947e7050fd0", + "tag" : "cfc19ec07902ec8be489606d8f40d172", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "short key", + "key" : "9bd3902ed0996c869b572272e76f3889", + "msg" : "a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e", + "tag" : "ac50adad9785a89c7282d8ab881dc615", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 169, + "comment" : "long key", + "key" : "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "msg" : "", + "tag" : "f5bfb940561fb4db73ebba49bf2e4893bb0cca618a71b7ecf6aca38231e167ea", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "long key", + "key" : "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "msg" : "ba448db88f154f775028fdecf9e6752d", + "tag" : "1690ed4180642899e0deb9ec2270374e8b0a484217f5a682c524316eca219b64", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "msg" : "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "tag" : "e542ac8ac8f364bae4b7da8b7a0777df350f001de4e8cfa2d9ef0b15019496ec", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 172, + "comment" : "long key", + "key" : "813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf154c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f", + "msg" : "", + "tag" : "bb6ab66f51e53fa086c9c61a26ca27e0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "long key", + "key" : "5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4", + "msg" : "71712de2fac1fb855673bff72af64257", + "tag" : "c18165b8b97db1ca5e2486a32b39731e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "long key", + "key" : "7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5", + "msg" : "43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98", + "tag" : "2fecfe45d79339c57dddba68ab34f5f1", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha384_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha384_test.json new file mode 100644 index 0000000..ca9ed1a --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha384_test.json @@ -0,0 +1,1622 @@ +{ + "algorithm" : "HMACSHA384", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 174, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 384, + "tagSize" : 384, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "ee8df067857df2300fa71a10c30997178bb3796127b5ece5f2ccc170932be0e78ea9b0a5936c09157e671ce7ec9fc510", + "msg" : "", + "tag" : "a655184daf3346ffc6629d493c8442644e4996a2799e42e3306fa6f5b0967b6cf3a6f819bab89bce297d1d1a5907b2d0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "976696c0dc97182ca771975c3928ff9168ef89cd740cd2292858fd916068a702bc1df7c6cd8ee1f0d25e61d4c514cc5d", + "msg" : "2b", + "tag" : "363e8973fedcf7892013dfae0b7065d61d80b98c635bc09ed860a01473b9bcd0dc550dbf66cf0d601fe9cbf3ae59620d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "c55ea4c64a0a63e2d14ad42559ba7c816b8824d263c2cc6a015761b53f681e514369f0dfba5cde165320ee10a96eb1fc", + "msg" : "5abd", + "tag" : "ccc2925f164a7d9662f1e76bcaf6345492bb091d4d2d775af2178a4bcc1ca21dcf8b3bf8f056823770782f25a419bb3e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "2928d465d92fa40072ca9d67761be66e491755e43499003c1057d3bec870f255126c3658d0d8a0c7d207df8710037ca7", + "msg" : "c405ae", + "tag" : "d9e19c672a466e4c83a849905728c4be1db99bdd260946d9ff52939779002dcc460c576f02b40dda0717182be96b5411", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "686a3730085cc944fceb141628419818e662fe21e52bea2748f3b704f80ce801086db1e3068917b242e62b4d6e6ed685", + "msg" : "6601c683", + "tag" : "10dc39103983b3a6be376a8eda7b6f363cb91efe11b027a62440ae136bd66f98b0a1d8b8f2399099492021076afa14a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "f22d867b972b232e3f444a488dd794d170807c70eb650f952b6177596f76c558a5d860d6f7be0be9e666f9bd53732f8d", + "msg" : "15b29377e0", + "tag" : "e02e4e20b5f1e5f06913bc9745c9069c09ec1369f1a296ad1d07c04cc4f9cb4741248d7ba097cd3ba0e75d2409d6a01b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "3ac9abd53dbd0fbb891f9b5e16dd45df994e5283527832707138fc2712bad9e34761e7d9c6d05d46f2c8323ddb0efe99", + "msg" : "5a34155b1115", + "tag" : "78c53dd1a2431174628f5f4867fa777afa6df1b36269bba114d016d1065fcb021170baad09b4a528f40573903a65f540", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "ae3aa94fdd35e2bef40472d29bdad3a409840ea441c3d7025cd72f3e81ff56da602161d84b23d1634061385be30c5bbd", + "msg" : "8a140d781e7191", + "tag" : "fd22ba896cb1147bb86f8ad51c253b792657c0becc913e90104da0f139f9b08c9169706f1531a2c6c03d6bd72a77eff2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "44b79852cabcf3fe93d2fff55d2afe6a46c35b7ad1954ce0888de7b459b982722faf8b490e6b00e7bcabbd36f18443f5", + "msg" : "9398cd251deafe8b", + "tag" : "56128fb438a93f6f48f47c0f4c7549f8008a8e69bbdbf0886ec40f86e7870034ef9090d2b04057391f1def5b25e8f0ad", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "03fed2f579a3ebdececfb184ebe2984876113399c4a593d98b5f5e606dd330fb394c285d9ead601748259b493335f8e5", + "msg" : "18d879b1f63df3ac7a", + "tag" : "a0e3b5660eeb5fc4a5dd48e725b09a0e282b22bbe2693d8b893ddf0f2116450e0875925407e909fde0f1f728f608fba9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "f4ef48bf4056d39dbba4154018c63bdf29420b9991ea594ff05e3cc1cb02e176d54ba038a6b78692519d6788e495bbab", + "msg" : "0a5de13cd9ba31c94486", + "tag" : "e9a1219e86983d69e336068b280309f974ab61f25968fc6352324ba49c36ce42c578676a3a31ef11e960d6771386650e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "fc771f7ccd499a1ed633d86876d707b5f1d53c6bcdf21aa2907766ab3ca7fa6cdd6a9b981b1a84a528e81444303f1057", + "msg" : "03ba11f3f3173b85226b25", + "tag" : "cfb4971d5449db364e2c8d0d429a0767050d480a5397f0dcc74294f52ea96260a57fe6cad14409ad67da6fbebf2da0d8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "b3999de680b11550e18631c8199f7eb8a74e21bdc9d97f781245c2af19f85497d9f38b250a564e48650fd00be365f155", + "msg" : "9c658cb5e601d85dc3857863", + "tag" : "d547e4cbd56e82b47d2ec93eeb6b34924ebda461fb60e475bf328d2368618f55fbf7b0e2eb1ff542c4eb7eefbfc8bd2b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "88005a62864ea699e1509616ec48033e84d2e2a13b8bc2e8a76f2eccbdb207a95ac8e2f5b5a703b22a0b571e8acc599a", + "msg" : "5a94f84541a794bf23d72db16d", + "tag" : "d6b73ee67e88a20fceb5520be92594daf1b3786c7187535ccb1f0b926dae11adde6e8697ba803b159019849df3c9d2c7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "b1cbda2c9a12f92315a5101aef311e99d6db002b0e04fb53c50106aa4d28e9a346697ba97084572eea56ccfc4ad7e572", + "msg" : "ce12c0c78e3f6b276ac56ed7435e", + "tag" : "5c0802cd0ed82380e4c2a61d146ed72762613de89eb4ab9fe71da9ad3d79e1d2321cae186292f7c52ab639d3ba6aa85a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "08517e8014e00db5c37f2a20f987ea2ec52e7938de018ad6be256ba2236804144ad2a1bcc242738862b40647007e0a2c", + "msg" : "21e2a0a167789a6b722d1737d92f8b", + "tag" : "2264d3c9b835aedf699d5fbfc05d46f085591441df75aa2b2873f6c8a11a0856a2b79ae11ea0a91609dbd564a0bed456", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "503d7478a773b694d6e552c9703cc8bc56fd49fafc9a17cab8b0332dca8d49336fa7e9ec2bcb56253fe5bb504e3e7f7f", + "msg" : "d96e6fed893addfd9237c81c4f4e341b", + "tag" : "19389766789912260f3f9757df3651663829c358bb48b22c1c63132070df318905beffd45f51e4dfcb3e785f44cf9106", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "41341bab902e767d4d1964c0acfecf46eff1b02b6455bcb2097de9c154be1f667f21be076de18cd2c15c005896fca87f", + "msg" : "4c43ac7de3631cc86f4da72fe6b6a552f1", + "tag" : "3c3104f24b7070cc3277d9ae640d416298fc917a0c1cdc3c2e7b6da75706fd2ae234efd551af12ae29144704793e2f6a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "c2f83be1acce7b89a5f9e9ea7e4c4f8b0f4319986fbe479fa3b4a3c298168362393b56ea03b5cef77f48e5a72abe6d08", + "msg" : "8dd0cd786cd800ffebec098728923d69249d3223c4c595cb", + "tag" : "751c6c7d00fef5e4edc993915fba694943a7ee3a2c8e5b700d0ee536bf85fb117a9cd6c456485cd670f7a0b490c83e61", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "6bd2aee9dd98d6b6609fce82181b10c20bba861da68a1590586fab08c5e9e90ff584047db4760828643fea38087160e4", + "msg" : "33236a9de603c1e4f5e11164224740627d10f6008eb73ec2642321bf0b82d579", + "tag" : "e4cd8b8868bb078ed5d6938e40d9ff4bf61a4994be40a5f2b5446463e5db90516bccdd19f16c92e3f839b9d6de68b2a9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "2f98ba2ceaadc5ba08880a35cb0080dc870a5734a782ebe31c4bab100ff8786dcc3be6de18482ea5d1b3bf14aeabb470", + "msg" : "2d74a66dacf12edb85ef3073feafd122889cb634add00ff0395d224b4ff8b5d5d67ca6419b6826abffdb41bab427d5", + "tag" : "a8ea72100859f4b7b6f2fe596248f1729bcdf0606c900ab52e51eab548d26e1eb634a42e5fc7ccc18356c0d283597ee2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "5e5f60e40d84c7ca2608af3bcc6e04abc5f8b7ca730a78af7f6f032e5a1501695bd91f3bebb28590af1db90d8390ca58", + "msg" : "2efe6a14ea8d679e62dbcedf35e61852278c83c54adbe1f1c72cb1a746b11cff8cb4fc3a2c3acd44255d51c020ca6d47", + "tag" : "6e8c95a4097ea13d064ed10809a33b569a6a84205158bd692ff82bc4b70b47a60ed332f2f5bca5211a1cc89c06f9c595", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "bc310bc3913d9fe59e2012a058c9e150534d25611e36206cf07ccaefe153f38eb0eaad9941b6883dfbce01bcb5196041", + "msg" : "9f0747d7396bfbe01cf3e85361e50085e0a91a7490b994031d81851b725065993f45dad0d60d794aedec7ba5d9d6dbbee4", + "tag" : "3a86498f78c3fb7eb3b7b3d82f677d2dfe01166fe76e232083334d74f11588fd089637c94761e9cfe836436005deaef7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "dc770c64d00d156e43cb74970e3a1a2ad28b6d9ec6b2b6e5ac3e356a99f879cb620f00340c044cc1f31bdccfa0dbd177", + "msg" : "403fd8e3ef51b6539db658a894be85b58fbc84881e61c5e0cb13ae421a09d31d780603256d390edd056d190856be00ad20a7048f0c67416fe8e02884086155f4263262e8c1275504d4f91f2751d3c3dccd4409ff2b45e41de93f7b104d58f6e15bacb62ace9700615ecc1b30a0cc1b35", + "tag" : "1c4f6474f39e6eabbe7a99faa234f49833444130acf01dae68d68251a930419960b0fb5f48360149e05d1209941cc9ec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "cca9299c7bdc26a4b595055c99ca23bec8ed11b5deeda91f83e2365e7340395ceef4e86e5cd91f2593bcfec498a67fc9", + "msg" : "a05b40b8d3a7bc7b75b0e97309c9bd1c9d8755c1ff5245ef6308a6a5cad3ecfbcb6364b41ca6f3d24bbee844d6204d1026abe345af7bdec114a373b109aa5724b738d50ab7a826c268e873709f8b35135a870045d5fb9daa82d3c245b5338917354e72b3058c9a4b807117465217d7d14f36f8a8d4e97bc3b93587c92641e7", + "tag" : "1b6b5ba848bc13dd46c35177ae9ff9bd2d6ca5f4c9373964d3182483d980b4654527f36d7cc51b9e2efe7ed97a82e3be", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "c728e65e08d9296fe3cdf2dedb49c81a30b603a62569eece4ee5d01e9a32ae3bcb4ec163e455e452582454ceefefc046", + "msg" : "e6c6bac87c17e269a471434ca9568401451d78c2444a9d6edcda3cdab51c5bed1c19eaf34326580fd85ae5236ad51bc5dae386b36101f54695c595eeedcdd0182a4a117f8093f4f4812e03db396ede9849d193e7722081aeec4be6c4caf6c979d36ead56634a21be21162ea232dec9cffdbd2474245878dca369e814fd028303", + "tag" : "533920a013cf006aa29b26f74b6dd293634293089986aa249271c426b942dc6bae32b2641616672f3d75968866e182e5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "90c4215dc3f237435047fefdd8638d339a3fc66fca06c5063eacbda002ab335e621605f672f3da9f641fae110afc3e7b", + "msg" : "1ebc22c3031b64615eb6f1a0696e33b7df139a4b891d3e6721cc26c05d55de790dca623668c10308485d38e95ec4769fa4430ca3ebc25da9f5d31c972674517d9a2222e6b97d8def6512af096c6d1480d83a229c84b7f28c80184b6bebf3f4eff5fc4e5c6cfea4f8eba9a957f7913b20a88ad1734f7c38547e934d1dbf2d73dbd61e31fb1583c7b6577a171e7d02f19045126ac2973d855bc18d34d32326d1e216da58366a60033450091128ae26a479069bba7b91b2ab7f3c5fbcde391de3ca114b951d6852f92795f8023d7a29a7f4ce61e9241b4f235d21e899087167ab3f3a0e9321c7942b165178788df48d3b106b203ec1e01d29bda41a99ac0d2c00", + "tag" : "c52b91daed6ee46416f2db78978251cb334e5d8e00b32ae06e365f455d28de406a9cce2f9f29378f229822dbf26bfdad", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 376 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c67", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 376 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d217", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 377 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c64", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 377 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d214", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 382 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c26", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 382 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d256", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 383 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310ce6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 383 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d296", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c92c1fc36f198c0b3a714921848d5e03df1c4849bb8310c66", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415dde76674896400f97b8408bfefa6ee86c716bfa4a460d216", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "bb417e3bea2d7c54859d5bae771a25043468259f942a4e936d3e03c90e673f4c58eb6de7b72a1fc20e3b7b6447cef399", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea2218998b769bff06847bf7401059117938e9405b5b9f2de9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "c43e01449552032bfae224d108655a7b4b175ae0eb5531ec12417cb67118403327941298c85560bd7144041b38b18ce6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "29cd877f1033b860e430b68357eb4f8294317b0846eb14955d67e6f409e48079fb04883f6f266e0647963f2424e05296", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d93c0fd37f099c1b2a615931949d4e13cf0c5859ab9300d67", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514dce66775886501f87a8509beeea7ef87c617bea5a561d317", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 384, + "tagSize" : 192, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "1c678267be13acb464939c2896c9e9ce1deb5b30833bdd9ca00370889b84410782ad52afe25dc10ab7ec5cf5f34793b7", + "msg" : "", + "tag" : "6dd566be678c1e6359ab31b635cc160160a0c5a9c49a0ac5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "00b184c2c0a491d764a26f8b2e56a965222b36213bdd106ae782305c50f89269902476e5df3fa58e0ecfae82a9607c8e", + "msg" : "9f", + "tag" : "5afff4b009ca9c9e5dcd84f05607e7a7d43ee43b42498989", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "055b67edb659e29c10e3e9cd25aa1cd5abf0880e2026ed8436e39b064b7315760cd7a9294ee23d4750969cc8b5dbaed7", + "msg" : "4047", + "tag" : "4d08baef969eed23b814472acff08d08fd3491a728778a1c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "9e3c198e93930f076b035c5fa8f10d9a65e98c66cfb36633e3cb33279cdf57688f10b7472d1fc9d962ce6954519bfbf6", + "msg" : "88cfab", + "tag" : "1cde3765ba5a15b1d0182136a72c603acd3b904ceac8f7ad", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "f5f5962bda257b38b2a2318929121b2eaef792d5c6a9585e48b80cf5357b29c3951b787ed3e03e385b05b8ffe6861dc3", + "msg" : "d9397753", + "tag" : "4638e4427e6084b76c53ed9d6e916162fcb8b962c3d616f1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "f62820ed5f9833fd22dee7bd49e2c9b19fc9668897c2c33e6c7c1fa5c277c3b9f581faef3ddc664ba537975d8afaa707", + "msg" : "9b6cc7caa4", + "tag" : "f6e272a7a6235f60b72b4c7424cf32a07f98ea592665bad8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "f222a1dabf322aff8463acee6444939331212be3e19d31f4b73fdcc97e2925365ea33c985282805c83dcd8fb42a0e214", + "msg" : "c85ad7872b76", + "tag" : "933f0fa61d4466b5baf5a601f6b96d81a97e81c512d822e6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "56e80f3899e945310a9d9bef3d32091f29c157dd46b2d439ad89d63e14b2c24390f74db4d905f6bd03f75c32e91225fe", + "msg" : "80ba25f1c27650", + "tag" : "a1a6e248b40864ddf83b00c52ae2c303b7e76fba0548d4d4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "6cb6261a56a21b2c3c13453c158364aafa78f58172a9ae3eeb328ac38808b5c68c111197a303ec36847c9a315ac5eb5b", + "msg" : "79430de51d68cf34", + "tag" : "33593a80da455e580ccc5ee9b60edcd1468460539788fc41", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "44ca1ecb490470a84c7e13e1f1c69da21f48c33b6f050f48f7f244f0fda8b3c855904ed0612e2dafa5105cbd7f6449eb", + "msg" : "870b981c8afd9fae1b", + "tag" : "930f2e401e3aafb46a0c4029002f4ef1ab9fe838bc00c79e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "aaca68882cfa7250988a247b96cfb3232d6567378f8fa7e7aaaca1c386e1ae15e54957d22bfff1e50ae7f21beea197a5", + "msg" : "a6f31b822ec24da1b1e9", + "tag" : "a9c2d68f0ad1ba50089b169c86d965f97f52388a48ace744", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "1b32f9b6378934a502dd74d8b74a4606d5b2c9a8587fab1cfa90d75007734d2b8bdfe634815243526ebc0f33c04d0d05", + "msg" : "55367c657c792610efdcc0", + "tag" : "934083c8594591da783f0da28f4b58adb604e9cc76b99efe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "09d91b2fa22e68b5335d478235aa4e157435c9acfed772219adfa1e9dd72f33e1a2183a0203a104f80e643cdf29e5aff", + "msg" : "b31e254957db6b1b70a06ce2", + "tag" : "7d45f3899455787e7116b570df8f7787f672d5821d6f75fe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "d311a80ac801e3639b9185608af4a85e4122e29b5c23f05234c30d92d59ad13cb80390e5fa0ea4a54853228b356689f5", + "msg" : "e6b443dba0dab35d43ca5d6ce6", + "tag" : "27297096f58f598391c57778129949b94628bf17bb2422d1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "06297e6c46558b9b0fc36c272b4ae7e65dd536cc1d13acbfa831fa5574b34f99e09adfb7f20321f203075fd26ed2e29d", + "msg" : "309b95e5f1ec26f70786e74d806d", + "tag" : "aabff26fc44a40f0b87a40c175c17ea7140f8467dcdb95cd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "e8b63a25cd85ad4f39e3c0e9584eacb94d6ae33f984da259aa533d4d28aeb341cf3ffe49c029e4af6a4805f760f35f2c", + "msg" : "d225c27795f809454bb2c51d21f3ac", + "tag" : "0e12b758015ac89797d55470f3982c13a5ff1483276083d2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "d83a685ace9fa0c0aa47f0c7b4f0f00717619a82e2eeff87f51f67d814d51dd9e4cad7578a4e49b672b5af83943c2583", + "msg" : "abfa7f5978f751e87e8b5a15a6e89f4f", + "tag" : "e4e6ba041bbb7a47ec8482b2043455c119fbdb389a3945a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "5beaf406a6627eaafcadb6dea4e27ba4fd879fd3e5bfd87ea3c8d5e0acfbbda2c6bf006beaf5a30312e690724c4744a3", + "msg" : "bc57d467a9a2af64ad5e14b7bc0898dc63", + "tag" : "3fab1a7a192359b6333a9699b75612211a38b6dccab4572d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "76b36cc3b8ca975708ee4b32bdbe40ca13f9ce384c52c4b6602b7fd92164f1fd8432706c1966f648bf4830f4deb34795", + "msg" : "b1d022c6536f401d147dfc0d7d4e600bb753ef0e9f243bc3", + "tag" : "c91eb3f362049c5336c5074cb887edcb27aac1ef6575a92d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "20569a16f453dd3c34df98155286b1ca8a392ea164c919311f0df9d39d976062f4f992b96def3851886e6295f2615064", + "msg" : "5402c4e683d1a431868ad528afbf4128b0b10cef947d063b34d376d344b793b2", + "tag" : "27728059696aed5bb00a13c1db100691d4a21ebea0a8e4c3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "9ef6a55f8a9b6b9ef1f8296167319078163706ae5b60897c2dd6e340b67ed5d577fb54c5547cd5f248f06e7082ffb826", + "msg" : "6a0d16276941d8f04eac2ec723fa53b9d6b16da7e30e7f2d9ad898e7cbb71bd3dd234ee22836ff4ac6011b6f12bd3a", + "tag" : "cef5d900eef0abefc625c1d2862a3f42998ce8b1e007d2b8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "fb56bbbc6d751b744d8c1b57cc27a1d2c2f4e38e3491f54448cfcfb9389b7f63fd0d41920968ef612510625f2637d28d", + "msg" : "cf1791517ef5a61c0db65a668bee26fdbc975d799b2623cc0f3e4560e80c7014fa9c02d568c98c86385e000fe6776bb7", + "tag" : "88e99accc9c23c9c8c1110e7470cade0317817916d8505f5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "d041e24e59b34d7a18128a42d8a7a52dcba5d79e5ed585b55c7c9e4946e5ccaf7e59df0f3da98c7d0523e4cc8f9d7da4", + "msg" : "5279618f1b41534910395a78ded968aee3431085b599c4f55eb5ff8a2e879bc44291d923de31009db1b9f7f81095afb3ea", + "tag" : "8500f603ce85c030cfa05731758b6be3317b6fe8e99b7d48", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "e1ce4884fd74a0e197c68ace3b29b552313af8e451e98d9ab8d0e8f8ee74143e8fcb6446217c0f3123a426b8ab6f62cb", + "msg" : "71154b9a657b905f884ba5140d5e7b9243fec3e03fbbdbb360c8194963ae43177b5502cd20f559eeeff8638d028c501926ebc7eddd132ccea29ead7ad0c95a30b9d325952cafb0ea5ec9d9d6fdeb63950d5d69c8bbbea702aed1d444da286807ffd6b36cb49902cba7abf9bda1b577c6", + "tag" : "c7e9ae2a81de32280b518d055c2c9d7f0f5db6d06ad0e4ae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "8a242c22d1b54ce216ca03c88455beb128211a9f35af2343709af7c5f43a681451ea53a36de2e5048eb44a51681c6120", + "msg" : "ab5eee6b83869119f00dd3cc66dde75cb5700535a90e9b3e32b31434c297ef53f94659d7d9b11323161b2e66c6b9c9ad20e313303f81e88e471786c8e936011f78121e39630b2e0804fc97ce5cb3a34f26949439fe530adcea6e97c78b042e0817253bf75dd54335584122f5edd210341b6d93f58aa1b4de2aad76fecec44f", + "tag" : "77392b18577ba8819fbd76fc73d45029e55e7ebecd58a320", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "311c4bee7cf257b780135a2e4a6413e68a816f5d8462515dcb1c72494b6335581a9b60a217b9ff1c75e7768148f8df46", + "msg" : "63ccc3849c4c323cb6ce926877969048b849ee4af18e71eef52fe9f274a8678560f9a5d47510c3c98c8a08ed4c01a01e0a3663ef0cc6c3cdca6276d91e99b0d414263498fb64ad74b820ab52b37adeaf27cb44545edb8f09094992837b8d3a0baa2a101a49592eb889dc8bace4c71e3efcb9d4149bd670ce2f774d73c12f2a45", + "tag" : "94674aaefc06eead22d15317900fa26c8df8cdfb252bcaae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "fb792867c8928f0503aa24477cebf42e0b018346e3619770b9e8f5097945e2e275ad06f0c12152366ac06e278c94090a", + "msg" : "0a63e6d91d7a6a18dbad879fb8e23ae351920391eb40fead6cba846768a2c6797ff347b4301327b09afc41f7b803af6b61f6d9b818e0ddcc02536d0543dbf1a87f2c5e020f6459094344b72596d548435c313544e92c254d54a70a1d6f6edd2f82540a1ea2e82125b0715fa0f890bb2be4ba0065d2ba0144854682aed041c1035996648e2ed671b7253ba567ffb999d91fd8e7ffce5c6dc4790732adae443435a454fe6c2a7c6708d9d5b2eb9292d6fbe5e026d65332b38c7925eff9beb89063cab63fbecb2ac0e1bb61a5b1e511f949c43a34ee26f1156e97793da97bcf5b5c67641384f268131b297857d719eeb6cafa3dbe9b8d0da55c98656f20e5b39b", + "tag" : "1aaaff966c0a84bac791ab9e0b9b505d393073665732a74a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 184 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 184 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9414", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 185 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 185 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9417", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 190 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b12c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 190 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9455", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 191 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b1ec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 191 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9495", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "bb417e3bea2d7c54859d5bae771a25043468259f942a4e93", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "c43e01449552032bfae224d108655a7b4b175ae0eb5531ec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "29cd877f1033b860e430b68357eb4f8294317b0846eb1495", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 192, + "tagSize" : 384, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 163, + "comment" : "short key", + "key" : "08476e9d49499c5f52e37f80ece6f5a45459948806b48241", + "msg" : "", + "tag" : "1b6cfc8709aab8075465f32e13b0b0f796cc34d93d7bed090f297dcf9fb75e0d8e285b1500b732d554ac97ba45f33e47", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "short key", + "key" : "213b44d8e1fabaff837ef30ee2542f9ab82ed70411dae78f", + "msg" : "ee0bf48585c186ff991b4d8607817c9c", + "tag" : "54f4010d50f80bcdb4b84d56bc4ef30e4c68f75128214cf446b5145f6fff1326a209945fc21ab5e1f5d917559ea9b800", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "b4afa9daaa8c944d73a3881f3221e42b34ef4e35f184e878", + "msg" : "cf607f6a0eb44ecbca81b6d1fdb595cee35f2353da02e82e28e133b9decd8fbb", + "tag" : "d064a51fb109c3b1d443f13f41e90e14198f846080464547806d46a8151c4e3855a81f4af40915609095dd72f869aa1b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 192, + "tagSize" : 192, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 166, + "comment" : "short key", + "key" : "89e46b66209548c80b0c830662223b49b0e3b895eb30e2fc", + "msg" : "", + "tag" : "4b012c0c0da44ede2a427e85ace8ecc54b379e9e24f08d41", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "short key", + "key" : "f2c10ce8cb1cf3b363354473b027c1e53deccef03233be0c", + "msg" : "e1fa10b8e301e0348405770bc3fafcb1", + "tag" : "2d088af29cc744e347124fbe4100cbcdebbae037ed9bf69d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "short key", + "key" : "92e074442cc4c59e72260808d80d8e7b85c6335068917b83", + "msg" : "34eae27425ace17771e164cbb634306f352edc9c37bf608be8a755fb94148183", + "tag" : "b7e6b7bb29c02e4635dbdc50d8be71e2ddf0a544471de285", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 384, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 169, + "comment" : "long key", + "key" : "db6f9956c3f4ca6e41f1f7f14629d44c79e0353edbf3e310e6858bbc45a7cd57778a9053ba22a141bf58bfd434ad08648c7041a224b97a0d17e0edf94fd40b410a", + "msg" : "", + "tag" : "0cb1b296255bb259f3b601b49b35524a5eca6c52360754d3d96dd521c905b1c1821d74965967d8e86d50de950fe4d635", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "long key", + "key" : "f03404bdb3e08f530d4c3a5f165d236012a4c45cd063e3e4483da088ec0afdb24e9639fccabb91f98a49dc2972e2981426573ecfe69c00c43a2d99a3107cef3a70", + "msg" : "73ed9fa2acf49d6c98bfc7d6c5ad9c56", + "tag" : "b6132e5216f711eeeb44da3d92983fe5b6de5cd9410be71db8d3b07228341686aa60e7081e95f2e4b69bb7cd9648bc0b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "ee799e25edb1b18452e5ed174bc6b2185a6754417d6cc05d736d2ba9efc8367e4b05ba0a2ee525ceeab74f9804a8479130c328d671e34070cf174a003a1dfb5994", + "msg" : "ac3e7da7e578b9b4dc2424030446c7f6aebcc471445a9e0e6e65099caeec5b2f", + "tag" : "c8607fca1888418166c550dd58d7a3976a6ecd0e4ca99b02fb187800a9c9ef909a6c1497c0652d4dca82405ab07f5eed", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 192, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 172, + "comment" : "long key", + "key" : "063d6e12e670098adabe68192023b637bb6d8d713fc8436188c4ec06fdd084ce6d193f26c86a9560e1abc27d813fce2b3eac0170fd1cb72e1930a2776bc84d6c11", + "msg" : "", + "tag" : "9dc2acbfa28a7ac5f2a5bdd4b1b2dbc806c48f96ce950eb5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "long key", + "key" : "359318e6c6279ba9ebcb1675f5a98195bbf5d895da9c17b8329038be857dc395b12ae91a55598876593c1c20bc0172cf15126b7a6bf0a238eda3325d6dd60600ef", + "msg" : "7ad0c9098ea10e615bb672b52c96542d", + "tag" : "4163737c219f7c5e743843dc3d36019c6585ea5d4e7cf24f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "long key", + "key" : "d01cd898089d8a1eeb0035b0d332da80fbd3571b9192db10fa6f55f665ab192d7050cab643996e99254d9573e0cf4eeaa63afccdefd81614fe7b83dfe30e3ba19f", + "msg" : "d67c77cdd0af5d10e8cae887e5a609bb76a9e5597653773c303b82b918fdc59f", + "tag" : "e7df527a988080749ee215ba0f8207838df38a37707a6330", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_224_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_224_test.json new file mode 100644 index 0000000..299a1ea --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_224_test.json @@ -0,0 +1,1604 @@ +{ + "algorithm" : "HMACSHA3-224", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 172, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 224, + "tagSize" : 224, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "7eef1e40253350eb9307cc6bd8ab8df434bc2faf7095e45b50ffdd64", + "msg" : "", + "tag" : "f2aa17e549253ac51a9332c5c2390fc0c5003c40bed255df439c3d05", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "8648ee936c6ebc5ae4bb48c1139a54e3ac5d897beec492dc4d740752", + "msg" : "2e", + "tag" : "e4bbe7b3a8f173736a1b1e58283040bd20090a772ba1d1fa1f0f02ce", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "2297d78cc45faf9b885b36ac80205cc08e1b730f264f23f4edbbb406", + "msg" : "329f", + "tag" : "ec7ef165239a3eea8ea6310c9b98f33aa036175be706fc0186a86ef9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "0361a904f7cbd107a617614ab69d11208ee6d423b3ae90e2bb6d7e54", + "msg" : "e6e765", + "tag" : "fcbcf9840d73b4143fbc2a988b801bea0212049e615dd0e5fd823b0a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "264a8d2128e8fd0972d9acc66dc275b1286beeb0aff7ce8e97c7b96c", + "msg" : "25838e50", + "tag" : "edffc65c657d16730fe63bb6326ab7fd4366596ed6a62c26ae43d3d8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "6dde8828f09b7aa981082aa116fca3b7341721c0440803f52cc9732e", + "msg" : "be81602da7", + "tag" : "6b349764a2d6cc6cc8ecdbbb2526d7cb9acfe2abe7057dae3755ad20", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "3ba156ffdc55d155bd085105aca64d13044db60c82cf2cd9d61d098f", + "msg" : "69c76c8937a0", + "tag" : "f0a6bc996be079f62c2c6a73337ce50013a05180a876d3363e07f12a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "9c2739bae2a863fb0236466ba3408f4eec8d43206d56bb7aa2f8f75e", + "msg" : "aaf4c9146db948", + "tag" : "a473dd1d6f34fb1cf2586d1bb5a414d232e7dcc7397a1ef1735fb46f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "31d9cae2c3df064018209b121f9e883976ea757942ecda9d92fdadfd", + "msg" : "b844289529206f5a", + "tag" : "2e44f4d141c338a4c882be2c8d326dda3ab53dcb02536a2096392726", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "89a1b9e9004444c1d4e967570c21a05512d3f618ec168fc3e13ea5a2", + "msg" : "6b42eb6d84e90c70c2", + "tag" : "56a078272a84a7dd98d9fd2551679b308f2ca0b8a31ec90448ffc2e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "4398731752fd7af1db86ebccbee0ad65eb5faf00ace6c9aa35441faa", + "msg" : "1ae2e7d917c48026570d", + "tag" : "37e090b83d12e0663c9ea9037ed32ab67afbfe43783669e6f57544e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "339460d6bb26ca60ebcef10c38587b9e575c398491782ccf9e8f6803", + "msg" : "ca03eb4f37536b2377738e", + "tag" : "ab81ecca201e69b7a6c11102943d141157865b6884b67da7593b6953", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "025f8380d10b8207b3623e4a90f79c3e753b1be6a35b88b68330a40c", + "msg" : "e57daef9ede4e915c3a9eece", + "tag" : "a22d2b3586b2f574eb65798f18a04e763935c88be53963a2e904838a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "0bdc5f51f8a1a35d75554be70efbcdf51e54f30fa4696f727431941f", + "msg" : "cc3dd1eb0690f7af09ad408f9c", + "tag" : "96d7cc8bae498a3345b05d399b126162e156920eddca40e6f488f5bc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "5ada97d90a74a7d4a68c5464fff25a9b7fa2e75d6acf0a59f143a2e9", + "msg" : "3fe4ede158af108e09f543e14ab7", + "tag" : "c5c07816701eecfa1d61b5c11ed9ed1d11ec495f711ec9752e6787ba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "007afe6b7c0701c30cb76b431afa3510c8b31d21cfe0bbaa5289cd08", + "msg" : "c2cf80005c591c1f737369fcc212f0", + "tag" : "fb651bc4f41ab50d88849739529199519e33e948635e246235c81af3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "26491168a32ce8cbc4c0cd64107e4fcc432f07d59c992862e1e55b1e", + "msg" : "15e51091b4f424ba1fdecb5e2fba11f6", + "tag" : "6ca3ae8f244120dee0b4c1d4db3dbed42564c04206fb47cfded97662", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "6978b6c134dd6949832d65e4cb9c1e1dc36beae4a134907c80da0f44", + "msg" : "6641d834b3fbfdb5d178007801f7b4e7b1", + "tag" : "fffc90de02cf66f6c9dc4272faf6b5cdcb165b3295add1b359f504cd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "9f9fb280adf12e739548b1d676cb794d685b9104e63b619b055cb60f", + "msg" : "91513dd6de40a1c23f8d1eb0ab8f5ea6f6835506ec750894", + "tag" : "c49f485f16bbc63695ee3e5221d8b3dfda5b85aa461dbe925e44d18d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "3b1b16e6dd2e69559dbeb964e10fc94c068471b2374d3a2d24d2d466", + "msg" : "8ecd55b56c668dcb8e8b1efd699c0e4a464204d29af140f87d3f5075495378a3", + "tag" : "9d849dee727eed22ae379f5bbd3f77a0f35d88f8f39a753013bdd4d0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "fc296398845063e661bdf36ff3615926eaccbf06947cd31e6677f710", + "msg" : "62bd0ad75d64c554cb2cc109c6e4019fc601c61cabdf99f8de871edc17a301b4c1f55a15ed66f91eb4666dd08bc59c", + "tag" : "74dd2a6644c4ee035ae39ad8ff88c93003eeadb7ddc3042e69975816", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "6c98d1feafff9861351966bc6ed19ed467f9dc767fa0df6b56955554", + "msg" : "e99d51a1d9a25c5842501a5383133578c8debe501581b1610f7575519bbd26f01ab7cbe069bfd5df3699a2fea5b461a3", + "tag" : "66f22e75e9cb458aab043c45ac3914e51d4cb6bc4c9c9bc376b566d9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "42a164f94e33d574118e0f8c938bbc2874bab219ee7a179f21e13b02", + "msg" : "e895639631f8b5d48e3ce00eb310bf129976ffced96a6f30a09d6ac1c291f73e93690526d86cc4d1a8e21c11f5a8979308", + "tag" : "bf5f90d12aa12812778beea4cebe1972c715a04d90aa651f95fe58d2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "c1b5b91210667e72aa510346e1811358815a3330c5ed27a695c39451", + "msg" : "bf1086c3ea8b8840418c690c92152c73a6730bd1a0210c8b1d25c43a2193e739684f04a25a52cc305599f22ba6f70c8ed00d10b914a9522a25e06c471ebca2ff1bb4fa6799b85122020978dfa66ef12ed26ad38331b26eaf591afceac96d8c771eae50fb7f46242337dd0029f4813b53", + "tag" : "37d74bbc46661f0e2819bf745b136ab9a2ac5833b0b53ec4e25fc59a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "4f09d14d40e475b68288c080668ebb1bc8c6be3191f6664d91a23fcd", + "msg" : "ae8b6ecc219b368d22fb596e42652d0bffee0b20d69cfd089ce3dc9303ba2f054ccaf5f5147c7968a028b140f5e3c9274eae2afc61c3bb6298dc598df77dec1cd2dd84212693b082b8132ad0f0b19f66db69fa7f6bf352b4feac724ce048440d2a42b44d53bb62fe2ab25f7f54bedf9ce7ddafd8e09330dacc6d52ee9b65f5", + "tag" : "8cf86ed44adb37c55b7a9be866b89b8fec1d772050b5424a5fa890d2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "613f414cd94130bb8a6243e12eccd90836808428b4a7177867934da0", + "msg" : "f696b9063b64816a45064f48ca05ffe4d5cc3d0b3beb0dd4057b6ada994969bf039bfbb72ce197101cc4e4b3959b3702f045afb7fb3113c997606dcaf2aaab31e02ac6ee597dfc0f9143d0effedc9ae7ea10e7ddb1db860a91afec62c48ed9c0a6c10b4da1de748caf7f7a5e01799ac57090daf4e3352fe859c5131c205d262d", + "tag" : "0c8165ba519c38c931095d5d4cd13c8fb3035252896f26c058167fe0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "5b88275307aaf691a0cf0c51f50553dda972d14f8afff98e62c2d972", + "msg" : "57e4efbde1ce9fee2e29db19dfc6ba3bcb17f33765af7f20133bbd1910d542145c7def187a304517b8d8954454a90a717f67f9c8cc587965fd9b43f41ecc50b3458d8ce9f66b475f1eaef4a29ba89a3d58e5011c92acd1536fcd18abec29411b389b64f7f344777ed6deae32127abaa69a50ba22a11d6e59354f2ff0e3c3e3293cdc335411cf55b180bab59da36903a6fba91df34d2aadf7017ff49a4fbd73c9c74469f225dafc0a0c7048c2b824cc0cba8cad8aced11b8cdac3243cdb5b654f7a15ce2014e92ee287d06904d778512a1b1f5ec0c9b090b9ab439c44266b6be3d6a98947d26d079e4f7e849f3c6d93de98624e6c5f53ec02dbd368bc24a300", + "tag" : "9c62c309977641be25ede8f7cd227df71bbf1514d26c0df5ff3adfe7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "42b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "14bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "41b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "17bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "c3b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "95bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b9f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bada5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f9cfe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbdadae11dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe21d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae01dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe11d2662600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae31dc2dfad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d26e2600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc25fad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662610c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfac9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662e00c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2df2d9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662602c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfadb608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c96097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9609568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097ba0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568e019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c970978a0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568d019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c9709faa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608560f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 216 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 216 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62ea", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 217 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba6d8", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 217 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62e9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 222 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba69a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 222 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc62ab", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 223 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097aa0d45422de6c5beb14dc05f76ba65a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 223 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f019710300a5e0b56672f6199fc626b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "42b8f94fe31d2662610c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "14bbda5ae11dc2dfac9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f9cfe31d26e2600c97097aa0d45422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbdadae11dc25fad9608568f019710300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d26e2600c97097aa0d4d422de6c5beb14dc05f76ba6da", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc25fad9608568f019790300a5e0b56672f6199fc62eb", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "bc4706b01ce2d99d9ff368f6855f2babdd2193a414eb23fa08945925", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ea4425a51ee23d205269f7a970fe68efcff5a1f4a998d09e66039d14", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "00000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "c33879cf639da6e2e08c1789fa2054d4a25eecdb6b945c8577eb265a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "953b5ada619d425f2d1688d60f811790b08ade8bd6e7afe1197ce26b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "42b9f84ee21c2763610d96087ba1d55523df6d5aea15dd04f66aa7db", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "14badb5be01cc3deac9709578e009611310b5f0a57662e6098fd63ea", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 224, + "tagSize" : 112, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "26f314170b054daef5349804da18f969c94174baca2beeb009d47a23", + "msg" : "", + "tag" : "32f3e12826c2c869660ed7ac65a5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "17429a622dc18d38715b31f8f2b963108e952a6708f3e52d5b25848a", + "msg" : "da", + "tag" : "24cae2ffb844b1074fbecfa21585", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "0acfe12d89acd7d9ca49bae6318f35b2fbbfc84e5d2c9d4954beded7", + "msg" : "03a8", + "tag" : "2594d62daaedef9e87080713ead3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "5a0680f112354bd467865b19ae956b2719e21ecee1a913bdca294339", + "msg" : "a0fb73", + "tag" : "5111521c27f8235f154cce85d02c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "46fa59aa524fe30a0f4e39561b5666854440dbd970bb59925ce0ae1a", + "msg" : "c8b2f557", + "tag" : "038521397a49e95f43c741276bd0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "29efc5ab5d30e535357603f2711b6e0aa6cf4613546c23144436d213", + "msg" : "c8d9f5b373", + "tag" : "bcce4dd5a90f1a0431d45e8f1dcf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "fe60e0322035538f2b1de9de380cde35f291deeb6e027b5d829ecd1e", + "msg" : "185e4cada4f4", + "tag" : "a11873691fd9ffcad1f1a3f66511", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "1bf7fcdf3742fa77991528cc1c678b98be9876a8c8c5b809beab7d9c", + "msg" : "9c0f34a5654279", + "tag" : "63722a805684c31a37aba7f5d79a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "32533c16f792ed0acf8e9e60f54aa173937c7194b882ecc3e671009f", + "msg" : "f968dc7a19afe339", + "tag" : "348666b68285b51787be5d8d50ca", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "3cf28a476ce7eaecfc3fbf1b0859a042a568740a584c77cb8f9603ac", + "msg" : "dbca9e4bdd84b38934", + "tag" : "49a78665d8f77df14ad66047c377", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "a2a8090aef69277f92830ec7404c032f8fdebfbceabb9e590968a77f", + "msg" : "6b790a946a83364c79d7", + "tag" : "e7c0183be70df5d06d288827012b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "6f999929e91672bac35ea70f8ff8b9aeefa5489493c99b0d27797207", + "msg" : "b7dabb237aeae2be8b5e19", + "tag" : "920b9e959d3d05bc7065d4f126f1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "4525b96c263e4d2dab2890aa55f3cc503dc1206d9f1915a6fba5ae61", + "msg" : "ef858f496fcb7c3fabbfb52e", + "tag" : "b08764fec1a8a75c3cb81204d932", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "f89401acb0a60d07fd733ed563f2ee241f4ecfea8114587a44dfdb0c", + "msg" : "7d3c0918085984df95097afa81", + "tag" : "32b9e37330307f47ef400277c9a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "58bce8c0d17fc7131d2fa2262409bb14663a6e68019f88299987893e", + "msg" : "1ca50cd6c3f1225eb6c4ec4d6a90", + "tag" : "2adc605564c6da00bb3abebd5066", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "658e510fba4e2208afac98333f9e242bc118f6e79ef0661d619dd32b", + "msg" : "32c385b75ae84558ca302881c51639", + "tag" : "382cec4b6a5e80a6d703ef323161", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "6a41cc3ca7142ae14e6d979a3f890a331597e592dd74520ce4ea660f", + "msg" : "78e3a770a8aaaf039fd4c9b6a1780411", + "tag" : "fc51222de880062beb4fb986ba71", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "b8972b93b68302cbaa08d32904eae6375a66f3508ece3c9b22382c7e", + "msg" : "3687e6287d73c9e3f679a50e7671247127", + "tag" : "2f9a78f5175f17372920c8e7638f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "bc570932abfa11050ad4fc80a6d5afe3271d86aa29dc62738b207d14", + "msg" : "d53202acd2ec74d746531bd9ad3016d0980e0166fb427a08", + "tag" : "edba9b4466e1145179c53b5eb65c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "c92a0665c12e87026e1b344f971fdb0e474d450cba834aae40e2d21e", + "msg" : "4a3a85ac09f5190ab94f73fd91d98f056015263c89ed5da223fc4675cab25cdd", + "tag" : "05758de1ec12f00f069eed387c83", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "6fbef67cfbacc98c63252b1ca009a60e8e3479769a2d449fb4639064", + "msg" : "006e179eacfa9e1e628bb7823ee9609ae7968b6df90e176f772a79088d37e9b15cab312922aaf8fc6583a341002bda", + "tag" : "c3756d9a9a1ed56b97d7b95e7e46", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "700b09908174f1072e31ae8ccbda1c4460fcf21fdf146a11482b210d", + "msg" : "f772564ecb109e80eefb1d5a7f1c95e203ba4c980233dd8d13de3046079a6b2ca26dc3521e5e0c807eae7a79877c73e9", + "tag" : "1f39ce1fcdfc2f19a8f34594f0b1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "e18a20246ebe1b5796dbfe35110efc7637d74a355f0a6758d4a00b7d", + "msg" : "77720dde530e6eeaa0e9af3311f7e99189d6c4f7d71d0a4207d62c766bee32020c92f5d5d28d5de4d0d9c94b57ec05f0c3", + "tag" : "82dcc13275c2178befa27462bff8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "3c4585a775bec76c7d8b27b87e70a5863a85e6111f3161b3815f59b4", + "msg" : "628c0ff8c432d74f4cfb77ba46b7cef67a48ac053cf0c18be41648736abcc8c6fbe4981529babd4b27866e34ced16d8b0bec456e14653a1422f5a62556d20b0fe4e03749d5f6e986375062dbdd82f6e9e1d4ad547c31530c2a31383c25ff57e879eae99d9b3a0da1f3c1dacb975067ac", + "tag" : "5d763c4c224c4034de56ef2aa1b2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "acaf94cb1a8ff4677fc586d2bdf981ac3a656b208215e0a7647b420f", + "msg" : "314c2c25465de3427279dbc89436505fee6d37d56fbda0e5e2a49449d9dbf003027f2e4ef5c52f7af93fd80155a66a1cd6b9885b56d828058a0de7d247e19580b2e8dcbdef2ae46840565fd8b276569c19d7e185116ea11ad67d5fc27f4a6816ba45be5d14f3ba4315c74d1edb20f217b116be852b62a7f4e32b3e708ff9f7", + "tag" : "8876296366c17d836b269129af65", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "e490348ad78fd2cd5b51f2795b79e5805ce1d9baf1151dbdf995e1b0", + "msg" : "f6ff1845842b9e46f79adb1079aff47397391dc269bc0c899ba4087b58a676f5408c3f7637ffc4772af3e41b5cea51058bc528ea09bb4bd797594c798b0f0ff881695e98c08bbb040c12c5cbdb228d61cc99e332e963128d06e97ed2eefded2e1b5a035f3bea68273efac03a894dcf2fcc79a5696218595404b2758deb9a80ee", + "tag" : "f6970364f45c8b91d57947649742", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "c8e099dbb60a8f19d8b86856b21c55f3437ae27f77dff9808f12a1b5", + "msg" : "edbc109bf28c8ab32b1238eff1cd14308cdd845fa919bfd8a00c991cf9a8d6b05dd8cc7d2393782949c899de79e771ef7d8567f32287623963048e6c80d91f0778dd63311106e9d0913c08b7a0b7253fa3ce307ac40ec55a4c445f5455a570fec090e251e8646bada1a486d41c3794bce5639732f2c6cfd58081c479a68c515f5d47bc5b2f1622a08d38a596a817f3d4efef8003ae430e6ae93b0a3ae8fa95a2ace3d24d90a9ef861dc04c13e38f6e524b3abdf9cce4fa490707c80c16e254b7a71af00a12dbf473b50b9fe4097ec00ab27e66b6f3022b0f101ee1a9f7fa8652e9f095ca240a446067446867f78e8352c4110794c2e3383dfedfb35e74a33e", + "tag" : "865b855fbbcb0feb5dbea3507efa", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "42b8f94fe31d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "14bbda5ae11dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "41b8f94fe31d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "17bbda5ae11dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "c3b8f94fe31d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "95bbda5ae11dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b9f94fe31d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bada5ae11dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f9cfe31d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbdadae11dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe21d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae01dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe11d2662600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae31dc2dfad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d26e2600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc25fad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662610c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfac9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662e00c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2df2d9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662602c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfadb608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c96097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9609568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097ba0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568e01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c970978a0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568d01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c9709faa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608560f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 104 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097aa1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 104 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 105 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097aa2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 105 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f03", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 110 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097ae0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 110 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f41", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 111 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f94fe31d2662600c97097a20", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 111 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbda5ae11dc2dfad9608568f81", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "42b8f94fe31d2662610c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "14bbda5ae11dc2dfac9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "43b8f9cfe31d26e2600c97097aa0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "15bbdadae11dc25fad9608568f01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "bc4706b01ce2d99d9ff368f6855f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ea4425a51ee23d205269f7a970fe", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "0000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "c33879cf639da6e2e08c1789fa20", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "953b5ada619d425f2d1688d60f81", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "", + "tag" : "42b9f84ee21c2763610d96087ba1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "14badb5be01cc3deac9709578e00", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 112, + "tagSize" : 224, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 161, + "comment" : "short key", + "key" : "77b0de54e893642caeac34bfd1ab", + "msg" : "", + "tag" : "ec98a3472919934900eccd3e0ec3ed6b9def6f324b02fd35e1938194", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "short key", + "key" : "7346c7e4b118b24e51f4512f906a", + "msg" : "506d4faf624f92965aa6b5c01e0c80a8", + "tag" : "09a4d9759d544b73bfd7a663adf5b13c0499073d861f9e1adea5df83", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 163, + "comment" : "short key", + "key" : "caa864179f66e826a0ef3b5edbe3", + "msg" : "73f64253706ce6b5094c24ee012ece9ac2495283dcd8c7f1114e81e4587d8ea4", + "tag" : "36db20b14b79d6294c9817d1aba325644f58526a1cda8f6f493711c3", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 112, + "tagSize" : 112, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 164, + "comment" : "short key", + "key" : "663a97d6b5493dbfa60c8dd087ed", + "msg" : "", + "tag" : "afa2a693fb38a01a7ee809b44624", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "b08c345a7c7166fdd33ce768c1dc", + "msg" : "9964d80ee2338cffe28483aa446a6f76", + "tag" : "73abc31c5da5608373ec9b8248c7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 166, + "comment" : "short key", + "key" : "fc9d2883c67534fefbd6ed4a9798", + "msg" : "a49820c194a43deef11f3a0f4eaa80425439fca9d9f1d7c8e665d6b130e4e908", + "tag" : "9a9703ea2037345f994a3a9d1267", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 224, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 167, + "comment" : "long key", + "key" : "cfa639656cd49f8d70f0b1a5a056ab4fc0aeeebc91338d067f36c47b6012dc8d856b8abcc4e1abffc910aeaee21b4d366e907488ffd0ca55b36a621aee0b2e9f0c", + "msg" : "", + "tag" : "75138f920397e8dc25abff1bbb844fb26a05f39f9456cf7157968b2b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "long key", + "key" : "b36d3d47a4585b401fc64c98eff56243d4da78863063d814e88f370b92576406d447fcf3d129a1ede57ddc56ea3a0a1f100105a95e83138cdf45ecf2a5992acf90", + "msg" : "15c75a64b04d097af2371af380079eb8", + "tag" : "0419e735f2ed98f26ef36f15c320a92512a4c3a53383d255464b70da", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 169, + "comment" : "long key", + "key" : "cf78b991382db5e8666ccb2333fb672179b10a75cf9e5a7699ae640005e19772ef6499a3bc97f12e58e835bb0017bb3b2e64c6ab44a0d619dfa0363484d1c991e2", + "msg" : "f661e598f180f25dc6dd76db8a9e0e4c9c272b9665a6b1756560c723b8e08595", + "tag" : "ca4610a8d081fc133fe6657700af54ee66fcda80f4bce0d4be110b51", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 112, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 170, + "comment" : "long key", + "key" : "3772ff6bb4e5b2811cfd4d6a3d34dc74bca3dbf89a5817b79d8472a1383b8c9afb27b3006196ce9966829eae6a313c2d724d995f4def17117c09edcfc8c0cbbc93", + "msg" : "", + "tag" : "1243fc7ecb0fb41e777d2207a72e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "2ba910bc0bca90644cb21e96063e2cd85f5dd02fda75d353c9b51eaf45eee94c165ca6592d6cfdd987bfdc1cba66363d535a14b2f7ead841b17c4d76a5049105f9", + "msg" : "7ba461040de9ea3cefd4809124f78b39", + "tag" : "1f30f3b7a7ff3971032def03bf73", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 172, + "comment" : "long key", + "key" : "7fcf3cb1b1c5b537492aede4689284b5881935e3537bb7307198d6518e7a6aabf70b50b44e4a8dfee35e9f5cbada7447e511a37209390fcd171c62075c6a8bf1eb", + "msg" : "83d29c1c4d059ddb0d2aca787e5b701bac3953fb9bc72dc87b1ef92a582e9748", + "tag" : "dd10401fac834914f0a9a574c65e", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_256_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_256_test.json new file mode 100644 index 0000000..93123f4 --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_256_test.json @@ -0,0 +1,1622 @@ +{ + "algorithm" : "HMACSHA3-256", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 174, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 256, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", + "msg" : "", + "tag" : "a3c58470afa8835d6e2357fb7b1cd07f8c4bc4c7874ca59d83163f046a9e227e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a", + "msg" : "77", + "tag" : "f709a35d41e82e36955512bf5fc1af0c1a9c580ff8fc3199bcb7454027029282", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9", + "msg" : "a59b", + "tag" : "bd323e494c3d22bde1d11dbde458f81bbe590007b42c4cee1cc45030d2b733cf", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d", + "msg" : "c7b8b2", + "tag" : "7ad928d2f7e905aaca9bd63d34e4b84c58ed37f439b9b85b33f1f47c8baa26da", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139", + "msg" : "cc021d65", + "tag" : "8a5db60345aa7cc4afb39e645ede87b16e73d37df045623ec58e9e901f96e224", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c", + "msg" : "a4a6ef6ebd", + "tag" : "dfd1ddfec9c5133d1a2be33c4a978d3bee78740895a5b1e15c54542842e4c8de", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78", + "msg" : "667e015df7fc", + "tag" : "ca5e8f039efc1137cefd128c40e275e727811bc2f785f7222343c2866f80b44d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154", + "msg" : "4163a9f77e41f5", + "tag" : "06d38848b90d0a797567cb6fa68e3b2d970b2c52ea9114786eb54aa22d403e70", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938", + "msg" : "fdb2ee4b6d1a0ac2", + "tag" : "799b30418ec2619936b0260bb50264ef4c8233997418604d04f8e8d318d4ff3c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b", + "msg" : "dea584d0e2a14ad5fd", + "tag" : "684383e2460fd270044532e95b5e83fec520ffa99dd2a898aa8c88a5d76da02d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561", + "msg" : "18261dc806913c534666", + "tag" : "665b8f703c719a6a4bfce97567050aba77aaeea66e70fd3ec37d52b9b80ec937", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463", + "msg" : "26f8083e944bacf04e9a4d", + "tag" : "5208852f40c5fe6e97ba733a9fd0aa39e039e1b2d2501da361ae0e92fcbd6e7d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591", + "msg" : "bfb7d6a08dbaa5225f320887", + "tag" : "678908a602c9c215049a92221f22981039c2cfd1c699bc360f7da5e6d0967b5a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a", + "msg" : "7fe43febc78474649e45bf99b2", + "tag" : "80bdbf6abc65ee4223fff5e91d61a4a3e3973286dfb4e62b51bff7d2e4a4e43c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48", + "msg" : "81c7581a194b5e71b41146a582c1", + "tag" : "4a57e7b7d438b93c8b7951ef789b93a13b20d6463fdbd4fa0026354b9959a273", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989", + "msg" : "2a76f2acdace42e3b779724946912c", + "tag" : "f95b627660ece175304f36a701e647f26f0794b6d5e226f2e272ef9e9bf69744", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "msg" : "aeed3e4d4cb9bbb60d482e98c126c0f5", + "tag" : "4c5198e69a42db2d77aae9975c96429970a4bc64dd906d8cb16883a216a3f304", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824", + "msg" : "90fea6cf2bd811b449f333ee9233e57697", + "tag" : "a8ade6e91e97abb4cf6e92d4bcf1fb3b8f1be3b9da4add09b0e4544b978fbe14", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5", + "msg" : "3202705af89f9555c540b0e1276911d01971abb2c35c78b2", + "tag" : "e9b4fe8196723db56d59221197f11a713f21a17fd217788726c4d98a4f5730a0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "msg" : "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "tag" : "d565faa179be14d8c6679e00235fda9db5b4bc13c00b876be62cf61c30dd8392", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f", + "msg" : "9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f5166935c86f0441905865", + "tag" : "2876012e6bdfc89899b8d080f5e3ac584c4150e5e0bbbea3a98baa68d74c7893", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0", + "msg" : "d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367d2eee75c8f805730b89290f", + "tag" : "394ad185fc8d8b1351c4a3aa96e7f6ccd8e817d86f244a427791f865f5aa1d3c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10", + "msg" : "1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c89f94501a8ade41b26b815c521", + "tag" : "928d84f9ce34b5b5e6c1d7486a369f2d94186629aad94d644c16728863eb619a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf", + "msg" : "84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea208529a648", + "tag" : "0e408a884cedac6f019dfc13364dcaf490f3f542b3d4795e10bf9c55641e3b2e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf", + "msg" : "9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba956c13508c1c0c25310105239ab73629e30", + "tag" : "8577a591c1cf204334bc3f45008dc373d2c366c8959a144db9681b364a591d54", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4", + "msg" : "6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eecc7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5de77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a0e9dc1ea65f5632730e8744d1db2c40a6595b", + "tag" : "773a539701e55662fe11f01690b70dac29366e55ac57c251993439972ead7ce4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db", + "msg" : "696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e37dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327dfe8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff7986ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df2088081bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe", + "tag" : "2f2a862bd0d9f305135629396b05988054e0f5103883892271a20b7902e0cb86", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "51ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0a7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "52ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "097aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d0ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50aa1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7beb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1686034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb1eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606024383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eaa9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606014383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9ea99b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab16060343837e4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57280d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4a3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80c7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fecb3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a88d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b1b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d5bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4ac0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd1ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a241a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2626394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a141a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2526394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc02341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0eaa726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ec", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ef", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccf81", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ad", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccf41", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b36d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "51ab1606034383fe4a3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0a7aeb9eab9b57a80c7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab16860343837e4b3b4bc0a341a82e40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb1eab9b57280d7bd0ea2726394a56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab16060343837e4b3b4bc0a341a8ae40ac85e455cdfeed4cac902a7b8ccfc1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57280d7bd0ea272639ca56144e2a0fc0b979d090c1846c14b3ed", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "af54e9f9fcbc7c01b4c4b43f5cbe57d1bf537a1baa320112b3536fd58473303e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f48514615464a857f2842f15d8d9c6b5a9ebb1d5f03f46862f6f3e7b93eb4c12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d02b968683c3037ecbbbcb4023c128aec02c0564d54d7e6dcc2c10aafb0c4f41", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8bfa6b1e2b1bd7288dfb506aa7a6b9cad694ceaa8f4039f950104104ec94336d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "51aa1707024282ff4a3a4ac1a240a92f41ad84e554ccffec4dad912b7a8dcec0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0a7bea9faa9a56a90c7ad1eb2627384b57154f2b0ec1b878d191c0856d15b2ec", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", + "msg" : "", + "tag" : "d087790afab25477456d379cab1639d1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc", + "msg" : "40", + "tag" : "9bd4531b76933c9267d5dd0ee9bc81b9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f", + "msg" : "6601", + "tag" : "79965f484fff8350ddf0fcb0cc513f13", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b", + "msg" : "f1d300", + "tag" : "37747ec77e7844a81c3355f9c2f72875", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77", + "msg" : "2ae63cbf", + "tag" : "ad6d1627d7a1f67b855381da44fd4ec3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8", + "msg" : "af3a015ea1", + "tag" : "0fca2284a5d3346cbf9b98a65822a8a7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c", + "msg" : "3f56935def3f", + "tag" : "8cd87f6ae1614e4a731d52ad0d877442", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493", + "msg" : "57bb86beed156f", + "tag" : "73941b79cb7c9f0c7b711bb94441b432", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5", + "msg" : "2e4e7ef728fe11af", + "tag" : "5cf2b04fe3af8d2694ba4e614367c08a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf", + "msg" : "852a21d92848e627c7", + "tag" : "3e06ab8ab01fffb65865a7e8a123b374", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4", + "msg" : "195a3b292f93baff0a2c", + "tag" : "80cb2ab4e57ec551fd73a3fcbc622538", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c", + "msg" : "afd73117330c6e8528a6e4", + "tag" : "71ceb6dd3ccf0c96b15ae42b432c1d83", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc", + "msg" : "0ff54d6b6759120c2e8a51e3", + "tag" : "ef5e5e4a958e7820b13fce3d181f2a76", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8", + "msg" : "f0058d412a104e53d820b95a7f", + "tag" : "d56cbaf3aee9310f66083f242a37affe", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19", + "msg" : "aacc36972f183057919ff57b49e1", + "tag" : "6520b49b8a11abdbe5ac46f4ec00ffbc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa", + "msg" : "5d066a92c300e9b6ddd63a7c13ae33", + "tag" : "3f14e6b55d2691a6048b70bab7ceada6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd", + "msg" : "cc37fae15f745a2f40e2c8b192f2b38d", + "tag" : "22f48f8668f5c2505315f0b525cf4f95", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7", + "msg" : "d5247b8f6c3edcbfb1d591d13ece23d2f5", + "tag" : "31a2a03723c51e04611ab09d47bf2598", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5", + "msg" : "13937f8544f44270d01175a011f7670e93fa6ba7ef02336e", + "tag" : "ed651a977854fb5cc577ab7db7b567af", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892", + "msg" : "91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18", + "tag" : "a3cdf96778e1f9a42a89f91426873ff1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4", + "msg" : "58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3fa55709b73bf620cd9b1cb", + "tag" : "15cf5da2312cfd8f9debdd8b3ab07d6b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe", + "msg" : "39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917", + "tag" : "5ddcacb9ad0b02dac96012b4a4d1729d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f", + "msg" : "3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0e7dd7c43ad35fab1c790f8047", + "tag" : "781c196c0d71d88e8db7685571ad13e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d", + "msg" : "7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f25813515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e63bf0f", + "tag" : "3c31e9fa2ea634f2bfbd0d7f6dbf29c2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152", + "msg" : "d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0", + "tag" : "0f937aa5b5aa5efa6f8c1940c9b57b19", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6", + "msg" : "d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098b7f981b2af5189a6adedff53a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b9527e07d08af52dbcb91ceb3d8b412a2b2402", + "tag" : "b2948a1b6fa0558d443c0b8cee87c4c8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0", + "msg" : "238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1dfc18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9afbe9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b143f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db3047e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560", + "tag" : "9c899283ace03520d5109e43c30d4698", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "51ab1606034383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0a7aeb9eab9b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "52ab1606034383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "097aeb9eab9b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d0ab1606034383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8b7aeb9eab9b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50aa1606034383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7beb9eab9b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1686034383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb1eab9b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606024383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eaa9b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606014383fe4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9ea99b57a80d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab16060343837e4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57280d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4a3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80c7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fecb3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a88d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b1b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d5bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4ac0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd1ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a241a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2626394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a141a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2526394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc02341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0eaa726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a82f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 120 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2726394b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a82c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 121 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea27263948", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 126 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea2726390a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab1606034383fe4b3b4bc0a341a8ae", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57a80d7bd0ea272639ca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "51ab1606034383fe4a3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0a7aeb9eab9b57a80c7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab16860343837e4b3b4bc0a341a82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb1eab9b57280d7bd0ea2726394a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "50ab16060343837e4b3b4bc0a341a8ae", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0b7aeb9eab9b57280d7bd0ea272639ca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "af54e9f9fcbc7c01b4c4b43f5cbe57d1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "f48514615464a857f2842f15d8d9c6b5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "d02b968683c3037ecbbbcb4023c128ae", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "8bfa6b1e2b1bd7288dfb506aa7a6b9ca", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "", + "tag" : "51aa1707024282ff4a3a4ac1a240a92f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0a7bea9faa9a56a90c7ad1eb2627384b", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 128, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 163, + "comment" : "short key", + "key" : "a349ac0a9f9f74e48e099cc3dbf9a9c9", + "msg" : "", + "tag" : "ee8234ca22b6cbd87cc2ba492ecea39aebc634032998965689d393e2d4f88653", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "short key", + "key" : "ac686ba0f1a51b4ec4f0b30492b7f556", + "msg" : "2fa43a14ae500507deb95ab5bd32b0fe", + "tag" : "39eaea730a72f19b316dae7ae77904000c8e64ac5bb8a1e75eeaea2e3dc3afce", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "73ef9ef1a4225e51e3c1db3ace1fa24f", + "msg" : "ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3", + "tag" : "4c85f67258256226dcdde626b100daef34dedb8c38b34bf9f3b9db5afe87ae9b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 128, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 166, + "comment" : "short key", + "key" : "e34f15c7bd819930fe9d66e0c166e61c", + "msg" : "", + "tag" : "872026cd30ed8482af7508c0c52c8cb6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "short key", + "key" : "e09eaa5a3f5e56d279d5e7a03373f6ea", + "msg" : "ef4eab37181f98423e53e947e7050fd0", + "tag" : "6700cfd7fdb1c667ead477fb942ff03b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "short key", + "key" : "9bd3902ed0996c869b572272e76f3889", + "msg" : "a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e", + "tag" : "54632b0ffcbb3763b70c6dd6dc38ed3a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 169, + "comment" : "long key", + "key" : "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "msg" : "", + "tag" : "7a1ea05873f754f9993062243474d3874f4fffa823ce16a804b22cb101a5b100", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "long key", + "key" : "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "msg" : "ba448db88f154f775028fdecf9e6752d", + "tag" : "17831971b854b2210579098b019ae62f3bf56affbd0ecd3bac77a02bd78b4f49", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "msg" : "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "tag" : "a14f8864e3c71a3da1fd268701547cee12c0b1ddc4f7480f253b7cafc3d04e6a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 128, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 172, + "comment" : "long key", + "key" : "813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf154c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f", + "msg" : "", + "tag" : "681f84442bd90223bd5577a7bce8b93e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "long key", + "key" : "5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4", + "msg" : "71712de2fac1fb855673bff72af64257", + "tag" : "2e6969e57f7b33e96a31ea194f3e188c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "long key", + "key" : "7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5", + "msg" : "43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98", + "tag" : "c6712f2c1b0df39eca97ac472b257ecd", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_384_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_384_test.json new file mode 100644 index 0000000..f0e07cb --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_384_test.json @@ -0,0 +1,1622 @@ +{ + "algorithm" : "HMACSHA3-384", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 174, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 384, + "tagSize" : 384, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "ee8df067857df2300fa71a10c30997178bb3796127b5ece5f2ccc170932be0e78ea9b0a5936c09157e671ce7ec9fc510", + "msg" : "", + "tag" : "7c87e3bf2a63428c2005a82c1ef0e0152537ce7a6f49344f3a85274724e075f9c833b6b2e6dd257e60222e7126312426", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "976696c0dc97182ca771975c3928ff9168ef89cd740cd2292858fd916068a702bc1df7c6cd8ee1f0d25e61d4c514cc5d", + "msg" : "2b", + "tag" : "b9c77f78d4e7928219105b1fa64d24a98a81816ca0c714d5424d0882ce7bb7be04b5bb4ac2a0092b4f5ce06f04c8654a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "c55ea4c64a0a63e2d14ad42559ba7c816b8824d263c2cc6a015761b53f681e514369f0dfba5cde165320ee10a96eb1fc", + "msg" : "5abd", + "tag" : "d26883d233ad5a26257f5ebb088ede5a9155894fd331a79f89d331fe07d2baabd2f3735b959ad48ad290d38664d0f8eb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "2928d465d92fa40072ca9d67761be66e491755e43499003c1057d3bec870f255126c3658d0d8a0c7d207df8710037ca7", + "msg" : "c405ae", + "tag" : "1c990f90e90e65bfee62549857bb10455200f425a21ba3f4b12636647c391d56b47e63e0c111b078eda90324799deb3a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "686a3730085cc944fceb141628419818e662fe21e52bea2748f3b704f80ce801086db1e3068917b242e62b4d6e6ed685", + "msg" : "6601c683", + "tag" : "9911d4e5f30167ec382b7f7b394310a7ea5ecd0394eddea94382f05a8af9533b0b72024711180add607d290e5f4602dc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "f22d867b972b232e3f444a488dd794d170807c70eb650f952b6177596f76c558a5d860d6f7be0be9e666f9bd53732f8d", + "msg" : "15b29377e0", + "tag" : "aec46fb03a28d4fa55a5492930d1cb3731c5e80bb0c91f7c1e948680aa666a10f0bcf538927961ef30fa24673e9ffaf8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "3ac9abd53dbd0fbb891f9b5e16dd45df994e5283527832707138fc2712bad9e34761e7d9c6d05d46f2c8323ddb0efe99", + "msg" : "5a34155b1115", + "tag" : "ff5391301e105d0f18b8256aa8e5c03f4c57f341e0f61149cb62c0d2366826b8618b4ba2894de235b723755c1cbc7a45", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "ae3aa94fdd35e2bef40472d29bdad3a409840ea441c3d7025cd72f3e81ff56da602161d84b23d1634061385be30c5bbd", + "msg" : "8a140d781e7191", + "tag" : "b99181b96e6dadcdbf203c392a3bfad10130555837ee647a320ca2b723747a5f40bc4803eadd9091418041e98ff10658", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "44b79852cabcf3fe93d2fff55d2afe6a46c35b7ad1954ce0888de7b459b982722faf8b490e6b00e7bcabbd36f18443f5", + "msg" : "9398cd251deafe8b", + "tag" : "8968d5e0f3d170c0d1977c7df67a3ec0bb637b19ee73150f84d35c8da9dd02fdbf563c5737834edf790765ba2b478ef0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "03fed2f579a3ebdececfb184ebe2984876113399c4a593d98b5f5e606dd330fb394c285d9ead601748259b493335f8e5", + "msg" : "18d879b1f63df3ac7a", + "tag" : "c739ac7a0187774cb6ccf81069f75ecdb5e09331281641809e00334dbbc54552c01db07eafadfcc23cdb6ca324e2c5db", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "f4ef48bf4056d39dbba4154018c63bdf29420b9991ea594ff05e3cc1cb02e176d54ba038a6b78692519d6788e495bbab", + "msg" : "0a5de13cd9ba31c94486", + "tag" : "cf21c5c7b56ae0ff5f95ebc2c7c6b9f95420b249121f9a97d901fb6c64969ec9be82fe2e336c66fdda3ce306fd422a6e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "fc771f7ccd499a1ed633d86876d707b5f1d53c6bcdf21aa2907766ab3ca7fa6cdd6a9b981b1a84a528e81444303f1057", + "msg" : "03ba11f3f3173b85226b25", + "tag" : "73942556ed0f294c5674444800c93eba42006083bccbd7bbd486a5ffd59a2be0d86743cdcdbf6f763ff763dca193cb0c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "b3999de680b11550e18631c8199f7eb8a74e21bdc9d97f781245c2af19f85497d9f38b250a564e48650fd00be365f155", + "msg" : "9c658cb5e601d85dc3857863", + "tag" : "c94c0800814522d1fc042d05c4bf1ef0bd73c61bc847bfdcf3fa48867513815ece4593af5dd03b256e132f5f79894565", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "88005a62864ea699e1509616ec48033e84d2e2a13b8bc2e8a76f2eccbdb207a95ac8e2f5b5a703b22a0b571e8acc599a", + "msg" : "5a94f84541a794bf23d72db16d", + "tag" : "10a3839df086546ebfe7d5dba28d15ea4c27c3f4f1ee402d1e0f63443906c5e34a963b5690093484802c228dd26c1bd6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "b1cbda2c9a12f92315a5101aef311e99d6db002b0e04fb53c50106aa4d28e9a346697ba97084572eea56ccfc4ad7e572", + "msg" : "ce12c0c78e3f6b276ac56ed7435e", + "tag" : "a0543a371f019bc19f2fbede34ce4efde43984a0c56f453f923e152abf914c4412f46b64bf626f22c309db403fcb7753", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "08517e8014e00db5c37f2a20f987ea2ec52e7938de018ad6be256ba2236804144ad2a1bcc242738862b40647007e0a2c", + "msg" : "21e2a0a167789a6b722d1737d92f8b", + "tag" : "bb74337940cc107f0cbbf1194bf6e784d9acd1d492f112e7f6d656eeca881e09c59fd6dae88a9daeca6d13c8eb9782d1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "503d7478a773b694d6e552c9703cc8bc56fd49fafc9a17cab8b0332dca8d49336fa7e9ec2bcb56253fe5bb504e3e7f7f", + "msg" : "d96e6fed893addfd9237c81c4f4e341b", + "tag" : "8651de548c5110fe0112d26c7e0a2f244f84aeff6baf5267cfd3afdb544bb0a5c1b29e9b78a2e9499e2c4f62c0f16e4a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "41341bab902e767d4d1964c0acfecf46eff1b02b6455bcb2097de9c154be1f667f21be076de18cd2c15c005896fca87f", + "msg" : "4c43ac7de3631cc86f4da72fe6b6a552f1", + "tag" : "3bc4757211532a6c6ae964087ec9985f89d02b3925d91064cd09e6f39e5bea6ae451a1f4a723abf2c994d63fb5b80772", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "c2f83be1acce7b89a5f9e9ea7e4c4f8b0f4319986fbe479fa3b4a3c298168362393b56ea03b5cef77f48e5a72abe6d08", + "msg" : "8dd0cd786cd800ffebec098728923d69249d3223c4c595cb", + "tag" : "552f35f9431cb7f76fce30c75d1a6d22403859e257f646fe52b2dc9c7cfc7f50670fbf7bbb62f95515f6aae0b1d45792", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "6bd2aee9dd98d6b6609fce82181b10c20bba861da68a1590586fab08c5e9e90ff584047db4760828643fea38087160e4", + "msg" : "33236a9de603c1e4f5e11164224740627d10f6008eb73ec2642321bf0b82d579", + "tag" : "d45174df3241ddb1a0890178fa4aa54523699b23be61a9616633631a4ef5e39bd2d88f42bd5016aa8bc1148056d8527c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "2f98ba2ceaadc5ba08880a35cb0080dc870a5734a782ebe31c4bab100ff8786dcc3be6de18482ea5d1b3bf14aeabb470", + "msg" : "2d74a66dacf12edb85ef3073feafd122889cb634add00ff0395d224b4ff8b5d5d67ca6419b6826abffdb41bab427d5", + "tag" : "00dd35f10e7fc7f1646d250abdf437893f52389df761fdf27840aa1374db786a22365be5a33e09adaaffee19515173d5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "5e5f60e40d84c7ca2608af3bcc6e04abc5f8b7ca730a78af7f6f032e5a1501695bd91f3bebb28590af1db90d8390ca58", + "msg" : "2efe6a14ea8d679e62dbcedf35e61852278c83c54adbe1f1c72cb1a746b11cff8cb4fc3a2c3acd44255d51c020ca6d47", + "tag" : "f03c7331e8c708a257e7550718d964c0f7e1ac7bf52e9db6ab6f0556b3a575fda6f1678608f6e63ca3f2eb8d371b07de", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "bc310bc3913d9fe59e2012a058c9e150534d25611e36206cf07ccaefe153f38eb0eaad9941b6883dfbce01bcb5196041", + "msg" : "9f0747d7396bfbe01cf3e85361e50085e0a91a7490b994031d81851b725065993f45dad0d60d794aedec7ba5d9d6dbbee4", + "tag" : "aafe3d553f033f4de73aac4c6766583d5b2afa65d03758615066308bc5ae26ed93f28dfe6ded54104eadfcd43c16b284", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "dc770c64d00d156e43cb74970e3a1a2ad28b6d9ec6b2b6e5ac3e356a99f879cb620f00340c044cc1f31bdccfa0dbd177", + "msg" : "403fd8e3ef51b6539db658a894be85b58fbc84881e61c5e0cb13ae421a09d31d780603256d390edd056d190856be00ad20a7048f0c67416fe8e02884086155f4263262e8c1275504d4f91f2751d3c3dccd4409ff2b45e41de93f7b104d58f6e15bacb62ace9700615ecc1b30a0cc1b35", + "tag" : "34706cd3597860733b5e651f99d350e308f596ddb52b01e185bb38a1813bbd91e6e4c64c4fa683d4803c878fc5b42052", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "cca9299c7bdc26a4b595055c99ca23bec8ed11b5deeda91f83e2365e7340395ceef4e86e5cd91f2593bcfec498a67fc9", + "msg" : "a05b40b8d3a7bc7b75b0e97309c9bd1c9d8755c1ff5245ef6308a6a5cad3ecfbcb6364b41ca6f3d24bbee844d6204d1026abe345af7bdec114a373b109aa5724b738d50ab7a826c268e873709f8b35135a870045d5fb9daa82d3c245b5338917354e72b3058c9a4b807117465217d7d14f36f8a8d4e97bc3b93587c92641e7", + "tag" : "537df9c448ebe5ad42e15687a9fe9fd76c3b8cd854481090118c63e5e6e2bcc1a1f8dc6d7824eeab4823c3ab4de55edd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "c728e65e08d9296fe3cdf2dedb49c81a30b603a62569eece4ee5d01e9a32ae3bcb4ec163e455e452582454ceefefc046", + "msg" : "e6c6bac87c17e269a471434ca9568401451d78c2444a9d6edcda3cdab51c5bed1c19eaf34326580fd85ae5236ad51bc5dae386b36101f54695c595eeedcdd0182a4a117f8093f4f4812e03db396ede9849d193e7722081aeec4be6c4caf6c979d36ead56634a21be21162ea232dec9cffdbd2474245878dca369e814fd028303", + "tag" : "0d5bcff1b650c2ac70262e1ef6b74dccdc5b31ecfc32e2e3a862dd61e8e636430e623bfd620a8e2aaa98c138899560da", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "90c4215dc3f237435047fefdd8638d339a3fc66fca06c5063eacbda002ab335e621605f672f3da9f641fae110afc3e7b", + "msg" : "1ebc22c3031b64615eb6f1a0696e33b7df139a4b891d3e6721cc26c05d55de790dca623668c10308485d38e95ec4769fa4430ca3ebc25da9f5d31c972674517d9a2222e6b97d8def6512af096c6d1480d83a229c84b7f28c80184b6bebf3f4eff5fc4e5c6cfea4f8eba9a957f7913b20a88ad1734f7c38547e934d1dbf2d73dbd61e31fb1583c7b6577a171e7d02f19045126ac2973d855bc18d34d32326d1e216da58366a60033450091128ae26a479069bba7b91b2ab7f3c5fbcde391de3ca114b951d6852f92795f8023d7a29a7f4ce61e9241b4f235d21e899087167ab3f3a0e9321c7942b165178788df48d3b106b203ec1e01d29bda41a99ac0d2c00", + "tag" : "e14912a4d0a3dd7fee54be8055f78f14a72f1d48beb24226380cefd1efc733aad129e504bebad98d1ff7fc303750073a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d10ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6654fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d20ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6554fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "500ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "e754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00de89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6755fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce81d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fec4542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5335b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44552b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5035b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44562b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b2aaaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f9cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22a2f49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1c50b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf69dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0914728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dbe078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14628e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae079c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e79bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae07ac0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e49bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae0f8c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728669bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 376 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 376 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd5", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 377 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 377 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd6", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 382 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc82e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 382 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bb94", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 383 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc8ee", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 383 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bb54", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d10ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6654fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce81d5235b2aaaf49dae078c0c8c29fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fec4542b3f9cd0b14728e69bbf6083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b2aaaf49dae078c0c8429fc3ab699d89837e1d1a9b443a70c9a86cfde0a690cd4377be0d91acf03fc86e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f9cd0b14728e69bbfe083f02cafd8ccc416525fe4013f7c7a51a8384d47afefa1fdd528d3fb6258bbd4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "2ff31762adca4dd550b6251f873f373d603c549662767c81e2e564bbc58f365793021f596f32bc8841f26e530fc03791", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "98ab01bbabd4c0e32f4eb8d71964409f7c0fd35027333be9ada01bfec08385ae57c7b2b850105e022ad72c049da7442b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "508c681dd2b532aa2fc95a60f84048421f432be91d0903fe9d9a1bc4baf04928ec7d6026104dc3f73e8d112c70bf48ee", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "e7d47ec4d4abbf9c5031c7a8661b3fe00370ac2f584c4496d2df6481bffcfad128b8cdc72f6f217d55a8537be2d83b54", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d10de99c5334b32bae48dbe179c1c9c39ec2aa689c88827f1c1b9a453b71c8a96dfce1a791cc4276bf0c90adf13ec96f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6655ff45552a3e1dd1b04629e79abe6182f12daed9cdc517535ee5003e7d7b50a9394c46aeeea0fcd429d2fa6359bad5", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 384, + "tagSize" : 192, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "1c678267be13acb464939c2896c9e9ce1deb5b30833bdd9ca00370889b84410782ad52afe25dc10ab7ec5cf5f34793b7", + "msg" : "", + "tag" : "b1bbb62a3d2e33ab8cdc0da03091bb83efbbe2c484b9ee8b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "00b184c2c0a491d764a26f8b2e56a965222b36213bdd106ae782305c50f89269902476e5df3fa58e0ecfae82a9607c8e", + "msg" : "9f", + "tag" : "424d7ad3fb7addd09488de8b5e5951853ed915a66209ce02", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "055b67edb659e29c10e3e9cd25aa1cd5abf0880e2026ed8436e39b064b7315760cd7a9294ee23d4750969cc8b5dbaed7", + "msg" : "4047", + "tag" : "deb3604abe3406493230f871adbb10945371c725d77ff001", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "9e3c198e93930f076b035c5fa8f10d9a65e98c66cfb36633e3cb33279cdf57688f10b7472d1fc9d962ce6954519bfbf6", + "msg" : "88cfab", + "tag" : "8952c88be29d5a7ad5c252197a67d3af7512af0f320d5efb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "f5f5962bda257b38b2a2318929121b2eaef792d5c6a9585e48b80cf5357b29c3951b787ed3e03e385b05b8ffe6861dc3", + "msg" : "d9397753", + "tag" : "3afda5e82a3a0b01f6de056633348bff2c59838fc10476af", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "f62820ed5f9833fd22dee7bd49e2c9b19fc9668897c2c33e6c7c1fa5c277c3b9f581faef3ddc664ba537975d8afaa707", + "msg" : "9b6cc7caa4", + "tag" : "0ebdc562d3b5df13f1370a0a555f30e5d77b92a71c885884", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "f222a1dabf322aff8463acee6444939331212be3e19d31f4b73fdcc97e2925365ea33c985282805c83dcd8fb42a0e214", + "msg" : "c85ad7872b76", + "tag" : "4fc8b44f25d87a32f6e0dbb7d9851482344d4af5bfd77845", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "56e80f3899e945310a9d9bef3d32091f29c157dd46b2d439ad89d63e14b2c24390f74db4d905f6bd03f75c32e91225fe", + "msg" : "80ba25f1c27650", + "tag" : "f1686d7c0a808ae4ee2c4d8912b3f6e5bea141de7b80b586", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "6cb6261a56a21b2c3c13453c158364aafa78f58172a9ae3eeb328ac38808b5c68c111197a303ec36847c9a315ac5eb5b", + "msg" : "79430de51d68cf34", + "tag" : "7cf93b400cc52b516f12e42270f2591e2cb9b6f98016fe2c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "44ca1ecb490470a84c7e13e1f1c69da21f48c33b6f050f48f7f244f0fda8b3c855904ed0612e2dafa5105cbd7f6449eb", + "msg" : "870b981c8afd9fae1b", + "tag" : "b51efe22849cac69821f995906f002c53bfb71eadb902e1a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "aaca68882cfa7250988a247b96cfb3232d6567378f8fa7e7aaaca1c386e1ae15e54957d22bfff1e50ae7f21beea197a5", + "msg" : "a6f31b822ec24da1b1e9", + "tag" : "755c630f0038e61b0df635a86990a0efce63be5dfa448c68", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "1b32f9b6378934a502dd74d8b74a4606d5b2c9a8587fab1cfa90d75007734d2b8bdfe634815243526ebc0f33c04d0d05", + "msg" : "55367c657c792610efdcc0", + "tag" : "eb16b29740aa41ce9324d6a29befe848109c8be189983b2b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "09d91b2fa22e68b5335d478235aa4e157435c9acfed772219adfa1e9dd72f33e1a2183a0203a104f80e643cdf29e5aff", + "msg" : "b31e254957db6b1b70a06ce2", + "tag" : "ab2b667e1f8a3e5fedc4da62ab85c422280efdd255005491", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "d311a80ac801e3639b9185608af4a85e4122e29b5c23f05234c30d92d59ad13cb80390e5fa0ea4a54853228b356689f5", + "msg" : "e6b443dba0dab35d43ca5d6ce6", + "tag" : "ec3e9d2c208d5739d8509ad6e88ea865383d9f034c3f80a5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "06297e6c46558b9b0fc36c272b4ae7e65dd536cc1d13acbfa831fa5574b34f99e09adfb7f20321f203075fd26ed2e29d", + "msg" : "309b95e5f1ec26f70786e74d806d", + "tag" : "8eb37decaaf8376ea94b82767af4c4be78cb607d9930a28f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "e8b63a25cd85ad4f39e3c0e9584eacb94d6ae33f984da259aa533d4d28aeb341cf3ffe49c029e4af6a4805f760f35f2c", + "msg" : "d225c27795f809454bb2c51d21f3ac", + "tag" : "7194c69928ebc338d6c34ab5aa5506d2fc069743d7660c7b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "d83a685ace9fa0c0aa47f0c7b4f0f00717619a82e2eeff87f51f67d814d51dd9e4cad7578a4e49b672b5af83943c2583", + "msg" : "abfa7f5978f751e87e8b5a15a6e89f4f", + "tag" : "90247d2933f8f4a6564ad7d272721ff6e76fd4c0e3a8fabc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "5beaf406a6627eaafcadb6dea4e27ba4fd879fd3e5bfd87ea3c8d5e0acfbbda2c6bf006beaf5a30312e690724c4744a3", + "msg" : "bc57d467a9a2af64ad5e14b7bc0898dc63", + "tag" : "7cfaae1946e462ece04ec2fde8fef1a6e9e5a5a51657e14e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "76b36cc3b8ca975708ee4b32bdbe40ca13f9ce384c52c4b6602b7fd92164f1fd8432706c1966f648bf4830f4deb34795", + "msg" : "b1d022c6536f401d147dfc0d7d4e600bb753ef0e9f243bc3", + "tag" : "f41947ef686bb9a4aa3555f72bb320dab577123f8f7b8add", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "20569a16f453dd3c34df98155286b1ca8a392ea164c919311f0df9d39d976062f4f992b96def3851886e6295f2615064", + "msg" : "5402c4e683d1a431868ad528afbf4128b0b10cef947d063b34d376d344b793b2", + "tag" : "ae11f9b8380ffb396aee5a643dcd8d1cc91544ab18201aec", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "9ef6a55f8a9b6b9ef1f8296167319078163706ae5b60897c2dd6e340b67ed5d577fb54c5547cd5f248f06e7082ffb826", + "msg" : "6a0d16276941d8f04eac2ec723fa53b9d6b16da7e30e7f2d9ad898e7cbb71bd3dd234ee22836ff4ac6011b6f12bd3a", + "tag" : "57d58ab4cbc8d53e6c18ce556afa2d9bcf22c1f4486e459c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "fb56bbbc6d751b744d8c1b57cc27a1d2c2f4e38e3491f54448cfcfb9389b7f63fd0d41920968ef612510625f2637d28d", + "msg" : "cf1791517ef5a61c0db65a668bee26fdbc975d799b2623cc0f3e4560e80c7014fa9c02d568c98c86385e000fe6776bb7", + "tag" : "c4aa19f4243645fa5731e03768d16d55225ade23ee7f371b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "d041e24e59b34d7a18128a42d8a7a52dcba5d79e5ed585b55c7c9e4946e5ccaf7e59df0f3da98c7d0523e4cc8f9d7da4", + "msg" : "5279618f1b41534910395a78ded968aee3431085b599c4f55eb5ff8a2e879bc44291d923de31009db1b9f7f81095afb3ea", + "tag" : "ee3f2946aa04e60b7f4b7f57ee15dec5a7fcf8d114ebc14d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "e1ce4884fd74a0e197c68ace3b29b552313af8e451e98d9ab8d0e8f8ee74143e8fcb6446217c0f3123a426b8ab6f62cb", + "msg" : "71154b9a657b905f884ba5140d5e7b9243fec3e03fbbdbb360c8194963ae43177b5502cd20f559eeeff8638d028c501926ebc7eddd132ccea29ead7ad0c95a30b9d325952cafb0ea5ec9d9d6fdeb63950d5d69c8bbbea702aed1d444da286807ffd6b36cb49902cba7abf9bda1b577c6", + "tag" : "928ac14f18d87b8e1eee759b4ffee3c17a2913c914d8974d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "8a242c22d1b54ce216ca03c88455beb128211a9f35af2343709af7c5f43a681451ea53a36de2e5048eb44a51681c6120", + "msg" : "ab5eee6b83869119f00dd3cc66dde75cb5700535a90e9b3e32b31434c297ef53f94659d7d9b11323161b2e66c6b9c9ad20e313303f81e88e471786c8e936011f78121e39630b2e0804fc97ce5cb3a34f26949439fe530adcea6e97c78b042e0817253bf75dd54335584122f5edd210341b6d93f58aa1b4de2aad76fecec44f", + "tag" : "20ccf4f222d139d4ab7623b3a38c91543469270056ff8c80", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "311c4bee7cf257b780135a2e4a6413e68a816f5d8462515dcb1c72494b6335581a9b60a217b9ff1c75e7768148f8df46", + "msg" : "63ccc3849c4c323cb6ce926877969048b849ee4af18e71eef52fe9f274a8678560f9a5d47510c3c98c8a08ed4c01a01e0a3663ef0cc6c3cdca6276d91e99b0d414263498fb64ad74b820ab52b37adeaf27cb44545edb8f09094992837b8d3a0baa2a101a49592eb889dc8bace4c71e3efcb9d4149bd670ce2f774d73c12f2a45", + "tag" : "dae65a8c37c5458f017770fdbfc2023291e021bddf7625c4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "fb792867c8928f0503aa24477cebf42e0b018346e3619770b9e8f5097945e2e275ad06f0c12152366ac06e278c94090a", + "msg" : "0a63e6d91d7a6a18dbad879fb8e23ae351920391eb40fead6cba846768a2c6797ff347b4301327b09afc41f7b803af6b61f6d9b818e0ddcc02536d0543dbf1a87f2c5e020f6459094344b72596d548435c313544e92c254d54a70a1d6f6edd2f82540a1ea2e82125b0715fa0f890bb2be4ba0065d2ba0144854682aed041c1035996648e2ed671b7253ba567ffb999d91fd8e7ffce5c6dc4790732adae443435a454fe6c2a7c6708d9d5b2eb9292d6fbe5e026d65332b38c7925eff9beb89063cab63fbecb2ac0e1bb61a5b1e511f949c43a34ee26f1156e97793da97bcf5b5c67641384f268131b297857d719eeb6cafa3dbe9b8d0da55c98656f20e5b39b", + "tag" : "927bfdba4ee11d8f158491764840fd64ff6401401543b539", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d10ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6654fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d20ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6554fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "500ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "e754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00de89d5235b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6755fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce81d5235b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fec4542b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5335b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44552b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5035b22aaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44562b3f1cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b2aaaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f9cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22a2f49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1c50b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf69dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0914728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dbe078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14628e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae079c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e79bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae07ac0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e49bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae0f8c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728669bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 184 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 184 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc417", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 185 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89837c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 185 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc414", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 190 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d89833e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 190 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc456", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 191 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b22aaf49dae078c0c8c29fc3ab699d8983fe", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 191 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f1cd0b14728e69bbf6083f02cafd8ccc496", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d10ce89d5235b22aae49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6654fe44542b3f1cd1b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce81d5235b2aaaf49dae078c0c8c29fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fec4542b3f9cd0b14728e69bbf6083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d00ce89d5235b2aaaf49dae078c0c8429fc3ab699d89837e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6754fe44542b3f9cd0b14728e69bbfe083f02cafd8ccc416", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "2ff31762adca4dd550b6251f873f373d603c549662767c81", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "98ab01bbabd4c0e32f4eb8d71964409f7c0fd35027333be9", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "508c681dd2b532aa2fc95a60f84048421f432be91d0903fe", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "e7d47ec4d4abbf9c5031c7a8661b3fe00370ac2f584c4496", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "", + "tag" : "d10de99c5334b32bae48dbe179c1c9c39ec2aa689c88827f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "6655ff45552a3e1dd1b04629e79abe6182f12daed9cdc517", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 192, + "tagSize" : 384, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 163, + "comment" : "short key", + "key" : "08476e9d49499c5f52e37f80ece6f5a45459948806b48241", + "msg" : "", + "tag" : "fc5143709d60f6655e009acfea7016386350593622e590560c47e846a3fae8f6edc3e4331b8305834cae249dba9e269f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "short key", + "key" : "213b44d8e1fabaff837ef30ee2542f9ab82ed70411dae78f", + "msg" : "ee0bf48585c186ff991b4d8607817c9c", + "tag" : "b9255a1f98c06ff6048760a1b22d63c0e8a7479c5d453664a60028512d64e13d79f7e39e8cb5399d859f1c8be4761172", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "b4afa9daaa8c944d73a3881f3221e42b34ef4e35f184e878", + "msg" : "cf607f6a0eb44ecbca81b6d1fdb595cee35f2353da02e82e28e133b9decd8fbb", + "tag" : "b56641a9d6514b118c70f30a61c08e7e7a650ae2cfb9d73d633c3cc402a0b9ff75c9224a94610861322225ba31d9f3ad", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 192, + "tagSize" : 192, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 166, + "comment" : "short key", + "key" : "89e46b66209548c80b0c830662223b49b0e3b895eb30e2fc", + "msg" : "", + "tag" : "eeebe1823fb042cc7c56b31748af6a134458eab62fa2e0a7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "short key", + "key" : "f2c10ce8cb1cf3b363354473b027c1e53deccef03233be0c", + "msg" : "e1fa10b8e301e0348405770bc3fafcb1", + "tag" : "9f0e9d9be70c82525f8add7dd15d925b9398d7fdbe1f2110", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "short key", + "key" : "92e074442cc4c59e72260808d80d8e7b85c6335068917b83", + "msg" : "34eae27425ace17771e164cbb634306f352edc9c37bf608be8a755fb94148183", + "tag" : "b789a4371f0aa2f667a7ade1c53c98b53a39ff65dfbe7d28", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 384, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 169, + "comment" : "long key", + "key" : "db6f9956c3f4ca6e41f1f7f14629d44c79e0353edbf3e310e6858bbc45a7cd57778a9053ba22a141bf58bfd434ad08648c7041a224b97a0d17e0edf94fd40b410a", + "msg" : "", + "tag" : "2553a0441bda89fe78a8fef9d334f92224c3fd47b7eb8f18bd6ba3e7c2ddc383ab9264f50eed7d09f5e40a10e5cf5271", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "long key", + "key" : "f03404bdb3e08f530d4c3a5f165d236012a4c45cd063e3e4483da088ec0afdb24e9639fccabb91f98a49dc2972e2981426573ecfe69c00c43a2d99a3107cef3a70", + "msg" : "73ed9fa2acf49d6c98bfc7d6c5ad9c56", + "tag" : "c345a72ff4dc5a62c8fef912c51f7d95814a3b59291df3f38da214a46423af89a40f8e37047403c9499768b3171a55c2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "ee799e25edb1b18452e5ed174bc6b2185a6754417d6cc05d736d2ba9efc8367e4b05ba0a2ee525ceeab74f9804a8479130c328d671e34070cf174a003a1dfb5994", + "msg" : "ac3e7da7e578b9b4dc2424030446c7f6aebcc471445a9e0e6e65099caeec5b2f", + "tag" : "956d33ddc96bacdcb4e0058c161ae812d79d81d9f0f597e203aa6dae0daab27ad93c5171f564525fb91926dfcfbaa09d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 192, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 172, + "comment" : "long key", + "key" : "063d6e12e670098adabe68192023b637bb6d8d713fc8436188c4ec06fdd084ce6d193f26c86a9560e1abc27d813fce2b3eac0170fd1cb72e1930a2776bc84d6c11", + "msg" : "", + "tag" : "24a9852f76ffa1ba3a6043cd348f17be036755162131259a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "long key", + "key" : "359318e6c6279ba9ebcb1675f5a98195bbf5d895da9c17b8329038be857dc395b12ae91a55598876593c1c20bc0172cf15126b7a6bf0a238eda3325d6dd60600ef", + "msg" : "7ad0c9098ea10e615bb672b52c96542d", + "tag" : "b3de2addd5fce93122f0f2f320c607fafac23b280898068e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "long key", + "key" : "d01cd898089d8a1eeb0035b0d332da80fbd3571b9192db10fa6f55f665ab192d7050cab643996e99254d9573e0cf4eeaa63afccdefd81614fe7b83dfe30e3ba19f", + "msg" : "d67c77cdd0af5d10e8cae887e5a609bb76a9e5597653773c303b82b918fdc59f", + "tag" : "f692da39c59268288b0f081a7b60de6111cef724a14f893a", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_512_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_512_test.json new file mode 100644 index 0000000..b41f4e1 --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha3_512_test.json @@ -0,0 +1,1622 @@ +{ + "algorithm" : "HMACSHA3-512", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 174, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 512, + "tagSize" : 512, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "5365244bb43f23f18dfc86c09d62db4741138bec1fbddc282d295e0a098eb5c3e37bd6f4cc16d5ce7d77b1d474a1eb4db313cc0c24e48992ac125196549df9a8", + "msg" : "", + "tag" : "8327dc85e33898f05724b34a89dfc74f2581b228203ff148f7c86aa328e0e5330c00015d1d983ab005fbc18d3695f2dd5f304bab7a4b7c34f6d010ca0af1acf5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "00698977f7102c67b594166919aa99dc3e58c7b6697a6422e238d04d2f57b2c74e4e84f5c4c6b792952df72f1c09244802f0bcf8752efb90e836110703bfa21c", + "msg" : "01", + "tag" : "84185a2890b3f4c5ef8723c292db676c69104e7ff7def5ecf26928a41626d2b16b063d8a9df03917498467f5abd7af3c6c732957f67cb800a517b26963142a1d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "ed6dc65dbeaadbdaab530a0d35f19f78a7bd93e698546c82751bf650c2a44fc8529033d088febeed288fb4c8132a59df0207687640c76dcdb270ac3af5f042f1", + "msg" : "a78f", + "tag" : "b4805d3a32d4dcc2e08178889173e65d3fa1d3b3f3bb688a46c8793386e7136e6caa55581e04dbc01b561b8fa3ab6bf71121df6e5a51aec6b2f253df99d16bf7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "463c5e696da0ec0d784388be775d1d91d94746aa8d3d2c209f56ac95ea54e7288329f9fb40be4eef35547e64c61dc51a4a1f3380a2b96420f088655ea9d85b97", + "msg" : "e956c1", + "tag" : "30d4794d0f072622d4a326dc9957974ab5ee5e403c8e8ed673911b95838331e99ff8dfd16defedeb696f1c661a0094685dbb6c8604c072a1bb088b9e8cd55d9c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "4bc0d32e945cfdafd20d39be3820f9649727cbda5ab5859953a322cbde1ab7a514d7dcd14ba90905e70919bb86b85cfeaa375ee2ce2703711b938c8f4ab5f178", + "msg" : "b2aa48b3", + "tag" : "6daf3dad42636bfd962246b0b314c939a4fd0a9ae46efec848a56bb6b85de6c47b60243644aa5e4658a4042f8577b388bdf544e120fb32b1af10f0f84b8ae4ca", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "aca47f6350941a0efd8c3bac9064a554be337cde7d192f6fbf86d1b4db09b36531165cbae0a634206f71fa400df33352fff60e1fba4009ac6671cd37312bdd98", + "msg" : "bc993b1db0", + "tag" : "d448310d37fbc2c5d26d6ceceb999a2551793691f36019d88db99d041b0cdb6fbdb40c13b76a235713a59bcbd140c99e5612d3c2ef66dc0fb41586a6c384279a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "b3ecae6f25c2f699f158b3ffcd0a7a575583e4c9cb56b5c22ef4273cde6c6734e84d7400749c17e47e8cfccafaf8b50c65eb47dfeb273d5d30a1181e37b27ad0", + "msg" : "f0361d58291e", + "tag" : "5d3b47454f71949a441c59a20b0a56b6b2aa4c256e1c6e128c5eb201c68e63da130ad69594126ff789fa471e2e51de73ea57f75ce2a1e2c9d02eabdf55153228", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "70ff24a252d65183bdc6b7c88751f850821141a61246727c3240b4f96088ae3278767a822b65735a28ccebe4c874bcb2c942882cb23f9dd87fe08fbaad5ae72f", + "msg" : "e18da3ebf0ffa4", + "tag" : "253a4f223cac5e24b4ffb9b21a325d7645192203cacabfe18d3299010a7d203eb1ef5319547f140840a9742d4907b7fafb4d1ef1b54f26682ac98e3a37c03a89", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "dd4e05933d09711ee88cb4c1ceb3600b2b33808bc08d499387b331d9c7af49bc65b55172cf8083385a940e4b864b7b4b73ddf3bd513a6cbcac73878a879b4d06", + "msg" : "66948029351432c3", + "tag" : "88db64f580e7e2bcf9329007e2831c6764541331679ea4493b24507dc72a3f9ac8fb5dac7e08799d139f74a0c163cf0456552ff12d14785f3deb29278c3ba679", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "fbd32caf8984fc4376d10daa7288db8e6e74464bdd94b448adab4497b319e9a6dcce542f82a7ff2e775d12477c880e460a9eab8efc49fcfc8c5476cb4b08954a", + "msg" : "38a2586a2883953cc4", + "tag" : "9a0f3c3829a11186c69d88433785b784e1dcbd955be679649a89158396cf91fdf26e73a27c3bc5325f6710c421d8cbeb5922af2cfeb7232fb6929c00d8190922", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "fd4c3f6b2137513616c28ed4d8638f867ad0b97188b73fc9b36f3d52b82d72a49b9dc1b8b25397eb448054a8d38d838e7a88b4df9c263aea1b968771d5ac5756", + "msg" : "86b4e61b3b7d650044ad", + "tag" : "e97bd7a78267ac6b575da2f7364448efef8dc7dd4f9a44d0454b021f59957cf620bbae47f0d3b7dec2bf4d153bada472472685a35228970fc99dcceb14f34dd5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "f95baea535f477d22b405c67d927f59a9e042c46297a1681bcc16fdbe1b2cd59675a221351a78075981e7eb4998066768801cbd7a85231114d7f27f9bdf24899", + "msg" : "5a34dee4e0982d458efffb", + "tag" : "f6d382a7782c1a63ad98897dd2616bf29e46b1e430b7d69d02df4f640c9c1e8faf677633d86f639f6834e1599927d9aa23f49fd4fb66085eb56968f9b7b9fb3c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "4d76ae95a123207e01c6d22d8b587e63ba682963e50961afff531160a9b9aac6c772c5e8bf918ddecbeb56455ea64710e51ac21e3bb9af4b24eaa8535b3c2924", + "msg" : "2c31f2d986f68a6d6a96c4b0", + "tag" : "0e4081af61c51dc831ba0448efa24f0ce6e05bdc38e11ef03a4456164542f28dc38368d308dde117087a86aead3b4fd4ad8cff00c5ab93539281bee27f7e5ae1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "0da7fa1f5d217951e3e343cda81f232deb71764eb49e8510bc28dba8eb62afa2a98b6f0536adb10250c74878fe649f47bbafdf3f722fa150f66e83f65f606ab0", + "msg" : "83511de190663c9c4229ace901", + "tag" : "bd1000dcd41ed8aac4edbb818884ddbea01c0cb60a202427a977489c310bbb10dd3a96ad858702d6ac5edb3431f780c2201920deaf760c719e64c6e390f7911c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "cec9e9f25ed9a017004a7882b1e44e8bd8fa3203c50cb6058455ed4f2a036788d46fcd328327d0d86b1abae69f7bbb96e3d66373ec8bd45075890879a83f4d33", + "msg" : "80dcd8ba66f98b51094144e9b8bd", + "tag" : "9920662e0b60073916ec0cb17c9f0a62de7f1f193eb6a9ef52870c93cd9697dfdc13fd2b7ba7664138b037f7e63023865be898c2f4bec6bde9ea8ee1b69b2563", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "bbe25649ecdf54ae0028fb923cc8c28ec00e10e2d44214590781238a143b75d54efb037eb9f53082a8ab3d8876daf4dbdc2483c4ba222797fe20da3b7730368b", + "msg" : "33f630088c0d24cda98caff1a3afc7", + "tag" : "00eaa766f4f3d92047b5e85efc9288cb8a5a2b56d2267dbfd5b16d8c918ed9404314aaddea241bbc966e49b2368232129d1edd06d99bf93bc57291b896bae485", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "f5e2b9e2313f4f807cb3a924a7d4943fc3fb475d8f1a1b40ce09a37770f621af8977729cadf986c98c75f08a4fab4280538e09e7e51e87a8d62c03411bdb8d24", + "msg" : "74ef623c83275ae99745bff7e6142afa", + "tag" : "8d0acc11d6c6992ad16a5e7070236a1000b0f1ccd1c98849eeca395a0daf5f404c8d272257ecbf8bd84c42de302fe368d6c308e4639f2ecd2d91f3dda6a0d8e6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "8e323d5fb4752d92a6d905c512b287d07b21ae50002d026ff0388e1593bde9998dd02321e200d148f5fa2e824b37e9f5a77441794b840bedd552d1051c1ddd8c", + "msg" : "4daa229b009b8984354c2ec3e7973e0042", + "tag" : "b9395c2b7e360385ccb3da590b17279e121f92fd85660e802e24dd92998b2e531d3aa911c3ca389b515620b6bd3f97b63df7ebbd10b639799952927d1c2dc360", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "465bc1ab2125cca29729d01df044e393b0677defdd939280a3aa141224efa06457e623056d02f6c36eca3dfc4a7476dd36b97d0c2d60c7672129189e73b6af8f", + "msg" : "dd84599b47ba9ae9f2ad0c8eac678485433eb6b1dfb7c998", + "tag" : "7072471ab504696f060a3bded10e657e3bc6bad2e0f8239fd4f17e35174c2acbf059aa7d85b3b3adf3d644e0bceba93490a54948138e743091d5225bdbddf6ae", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "b90226798dff2ffb91d1ee4103f26397d0bf84c13c1ec717392c5fe1d4d0f4dc790236d759fa1be852e305da585a3dbde0d3912bea60d6b140c25645eb00943f", + "msg" : "aa29c372f136993c65ace5e1d62078806eb787913bb35af33371056359d354b2", + "tag" : "8d6ef6ea9bf61d3e39535b1f3759c01da28d9ff7370491de117a520188e15a152050371d533ff4b927fd91bd33a6c7404cce34ce4701fc7a8f03ebf70ad188ba", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "af1bb91775cb40c73983f119c927a2ce8f7b954a6274ecc1cd96019e5c417af4b094376194eae71c7f68f3345654d5d9f8198a697b41ae251e82308accd935bd", + "msg" : "75ededdfa7f1df1dc144fb195b27e454640e3f897cb564222f05e8aab0c6024f90472afea6e7254ed25134ea43452a", + "tag" : "cd3075b66d5fb6d90cd9384cd1aeea9a2c67a59bc5a71b9b1e5ef5407ed58229baa67d3e9f9895de320b421a6670210288afe2da4ae4845ab069501185b76ca0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "513e0e7622eabcb6bfc81669dac903df46daea1240f32248bbf4fc61f1f9b13b2c3fe1bcc97540d30065be9eee41e51748bc42c16a8c8269fbe2b6f625c19228", + "msg" : "81d8650937f50871a66af71605ea4fa9d6c5d7a375774c2280eb34aefcee8c0ef83345bc547e4de7cbea482369b25a93", + "tag" : "f7b263b7c2380d0ba70844d2e6e56dfd68fabf7ec9af5c8ba897ae4e9d308aa28ff7a10ba4d37525e858074093ae8b15908de22be70e3f0b23dc61c39b17ab39", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "627c9a72247d07b0cec8346277468311c7401fc4cecaea8e22e13ece4b352c8f7a7eb1ba81ce348a08670438c97b8d9e883614d550f1ff16d636975c59988c2d", + "msg" : "118e0468cbb52f93a3396ebfaa114881a98a4101f4ff912ced47ecfc73b27f52205b7a5d4f3899506f9e34ebf99460da7a", + "tag" : "050b55346ab112e0ba62409f3bb48f7099a5098e2ccb2d18e47b5171029f43f9a011fa1b134b6412fb9df161abf295405ba3e212657d7420ee831885e71a324b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "1e981d0cbbad5bea9480d836b4704bf3147663b6ea59e1e0a280fb45d9b85d445dc972159dde301c6f1e66681f95642dbb9a9218c00d0cd724cb02f3bcaea2ea", + "msg" : "440dff390688c9fde31c17fdb61c1d13899f9544a986324c34d5eb07bef9a4436297f4a7fe16de5dd7b24e0c7c129051efe6f2dd0a21aec05c3e3c8f6fa30d9c0cbd60d840d14f0b2a928bc7189b9de4a6a731151d6b31e6a0ecae75095434737be8c3db11a6a697d0616c78b97041de", + "tag" : "4a7a1d6b15ee94410325362980df659b5f72598faa1963c3f129800439e7a7148f9f1f6031f7d0f3c0a8b8a248c5f5ea88a3544def2b30553061533ebfb47997", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "ee8aea2a52eb7e0c1120ab736b1a825b12610063de9642c594766c020cb87314d8ac94b13072bfbf3c019b4aacb1d2695cdd7563a26f574e12559906784d853c", + "msg" : "a3951f1d18135602fdadceeef5741c24ad22756160d0c55e51b788af952adaeb13e18c24c6b09672f405d7ec3d49b0bd86c7f8691b6f69af49175423215cf57d7c08a54ab0b0293e685c9aa250f1599d78193a00af822dec4b56fdb41f0343ab2cf85ea27bb2e650930f5e8ca836833903b053b3e06899b4012a6532978d90", + "tag" : "741d2fef6b194913b7b6c5431d36cd80f5985480b37a8198f60e0a96bb56d89780b87d8bc3feb03d29fecc28dfa285f052eec5d0f9cfcb7c9cfed200ae60d0f8", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "ecd1861a12eaee48aef1d7ed278223b50d3416dbff81e976c56ecd4b1a1bc8892b584cbcc72370ff5e976a6af1790caa32f9ea912855914c0315979578fbf165", + "msg" : "5779c56373a8e5db43bd65c0453ce23144230d43666d717a3b59d2e90f0e10732376831d7281cb23dd5566e5f8c627d00d39650139ceb87cd47e921d65d6c1cc7712ac4bd75bda8828e68abc968f4160ed91b28946c9d706b0360bbbdd65f47ef9983c50f2d09d05c3674c0943ea4af54c381089f9b846dd69ce908e0f6eaaaf", + "tag" : "e5d84c73db427dbda25d546c5ef17a1a7a7c194b745f42ff6abf5821bfb0a9b778bfc2e0e74871c7bbf645e3a4f735c135d7a83b15bfee39bd5f6cbd68c91e4f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "71aadbf330ea133b46c939d12e603896902e8df638597c98872dfb5aecd5161bc84095221de3222367012f45c6d70701e862ab000e782e91b505b21b4e212c38", + "msg" : "e6d7b0280d2f7df83fd26562fcdea2597cf687a9c9fa194f655c44d3271b881f28adc436db8e0437ff4dc5d38356271c338829c3e2d9ba4ac1777c94886983d4b72c275bc00e4f7b06c5ce38a2fe549fe53761857f236da705fd03790b41cc6f759f41aa206feca7ba5486f4fc9d09f35c8e0887241291882010414ae41b8b384a715a409be13da17bfd60d3fbd4b8cb3cc7c26043807264a20b9a5c02725e742fff03e1806b38af357ebf8c79fc4c38b007bf0613286cf063e45482375475e6c426d4f70057cd92efcb2dfe86e45bdea399273a5e0f142221fae206800555c01b18533295f577e23a9a7a0aa072823002b9096501174d3bc4aac33e0dc600", + "tag" : "e6e46495538a977dc006dcdaeb115dad0b88706ad7b80e46f57ea8f910d75c810edc7e7e0b92d129846aec9baef99a2ae8b580825037db6068f760334519689f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "617063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7ec8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "627063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7dc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "e07063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607163701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc9b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063f01a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b60b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701b568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4448c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "6070637018568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4748c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559a28544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12ff1be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a56855922a544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f719e13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228545d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be12428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63b27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428dbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63827d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428ebb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d6ba27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13420cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 504 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a75", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 504 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41981", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 505 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a76", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 505 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41982", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 510 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a34", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 510 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e419c0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 511 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4af4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 511 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41900", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "617063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7ec8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063f01a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b60b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a5685d9228544d63a27d36efeecab50933a989e8a2f5a6d0741a463e504d4c03a1be0e8fce99a20368dc5ac0f60d90ca0c48443f81a51d4c8ac4a74", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c1af71be13428cbb4a39fea280421c209345dbf0c985bf6910ddc353f0b2040df3fffc38be8caf863c1a4b504f0ca89b200451a1c310d3e41980", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "9f8f9c8fe5a97aa6dd7abb29c5d82c11011354af6cc5676175d0a592f8be5b9c1afb2b3fc5e41f17031665dfc9723a53f09f26f35f3b7bbc07e5ae2b3753b58b", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "80374974bab73ed08e41ecbd7344b546015d7fbde3df6cba240f367a4096ef223cac0f4dfbf20c0003c741735079c3e5b4afb0f35764dffbae5e3cef2c1be67f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "e0f0e3f09ad605d9a205c456baa7536e7e6c2bd013ba181e0aafdaed87c124e365845440ba9b60687c691aa0b60d452c8fe0598c204404c3789ad154482ccaf4", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ff48360bc5c841aff13e93c20c3bca397e2200c29ca013c55b7049053fe9905d43d37032848d737f7cb83e0c2f06bc9acbd0cf8c281ba084d121439053649900", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "617162711b578458238445d73b26d2efffedaa51923b999f8b2e5b6c0640a562e405d5c13b1ae1e9fde89b21378cc4ad0e61d80da1c58542f91b50d5c9ad4b75", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7ec9b78a4449c02e70bf12438dba4bb8ffa381431d219244daf1c884be6811dcc252f1b3050cf2fefd39bf8dae873d1b4a514e0da99a210550a0c211d2e51881", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 512, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171", + "msg" : "", + "tag" : "a2408e6044d91093d34c1f283c19c014e739e2911c01baa0a3079e73d7c8e1d2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "838696e6190c874c3717b8be0cf063ca6d60760987d1a33703e7e35eb173e5ae954e741a37935139d612149e76f6ab2a370604f5b4a68bee87e309240a9ba3d6", + "msg" : "d8", + "tag" : "38497695114208d90af884f6485e942af1e42963c32d8ea0b46a52eca970afef", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "fa999ed1cfbc5c43afb16f22d024e3ce645e00b06712c93b946167c9c2c037d192f0f3003f87c43a71166fe1a3c5824c348673a2f0f3c475706985940f6b02a2", + "msg" : "cad2", + "tag" : "6a0d324e2b498d57fdcc1d4b052de9fbc0086627ebd0e9cfed82dbc8b54a0b5f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "b53fced8b7b4aa59d3b56d91e1386763c39e351c2f5ad6a4885e442ad894d5181c5bfe5c05280a84ad19d758e359bf8171fe652988fcf9d1458ea17364ca8fa9", + "msg" : "d3393c", + "tag" : "3f23eabdb750c10f3232a4b396ff97e6df1a4626c1383caafbf5e6aab0c5510a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "3f0cbeebe391c6491e77c57a05e85a16f0b5294d19f9a7f3390baf7a2051fbf980e041ee45c9104a9126a6a7ec182eaec27a99c1a7a3f5a1e8cd8ffde60641dc", + "msg" : "bebb0392", + "tag" : "ae3ee84825ec607adcad8ad70ce1b6cfc7206f4f9d5046812073f6a3d48ef133", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "4a7f110b92241badc907ba3c61477bab0953a851bf327425e858fc724bd33ede2a4a5018fe71aab434bda8eb2464a41577c8d570530c460f7c8bc0172f1ee0f1", + "msg" : "40a333f4cf", + "tag" : "e3a52f9388f9af038298b778123fcdf5ea58712bc5b46f1e4cdcae98f2ab2e09", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "c6c95bf9facab295cebfa4b907855874f57a5c1548576ad8bae694a364f5e58dbb8c8dd49330b2fdd1b71657d211db2a6569a9f3a356c0c5b3c4efbd5b6777cb", + "msg" : "4cf926af475a", + "tag" : "29e274b1851fa268e0e02e3b450469ce4a69762e45af8afca567776967955de6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "0d3387fe59e8e7c43c928dac7913826dec4d63ac3c8ee346ba7caed9505b9e63ff8942cde90997e8dbeaf6e17ee187c0a84a1853952d866c15f9a32fcee6a82a", + "msg" : "2ba3bc3cd64bc6", + "tag" : "e049f480934a3ccc5b483874ed6eb992f94557b303f44721f7ba72b6c762b108", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "3cb9ce565388a6f0454a80add86c7e107ea537d7f468a0648930fc37172cf7b4ca9058033071c354a20a608e2d46e98afe46435a344362989cbaafac18859bba", + "msg" : "33ce498e1f94f412", + "tag" : "91749d95bc706cb8c1f14f6a61342c44f59a963644b9fd35d58a09e1071e4ee7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "c25f45ceb2a5597f361445fa41a9019f41a6e6d7f144203f29c0b9fcea362d60894c3cadc1ce25d53da362e464c11fc6e169e3db2ea1cf40fe08fffb429b1a5b", + "msg" : "81978af4795c50f89c", + "tag" : "08550f63be595cd9ba3c66e33b19bd2739bdfaa4eec9acdd9823a214538d322e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "b458764ee273f391cb718f64a1bca64c96a870d9426d6254ee37e5c93898d6a5ef68e9d3b0e057a3c396faa834a29926a9680cfa903d2a605b85407bb24c8cee", + "msg" : "d804dc2a1e146f62b621", + "tag" : "d5572726cc7521ef30e0d8390ca521a57f039da4c45f1275fe67c3121c7008b5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "7cbc5778f70595fc211cee3a93e17ff7f25a1d9f3766f8eb70eb1e08c9420a62bd89e8b7d834cc854d059afd413e4d9c062a532e015928528c7f5812dfebecac", + "msg" : "4017e0ffcaac4c485ce7ec", + "tag" : "7e0836625892a37523ee178eb16f785396602fca5addb0006fa6907c530fce0c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "937b9711d670daa2359920e47dd6d0fb75275105b3ef07bb4a31d3c4b99baa8ff79ee4b4a1b4a5b250d0fd7b4721e04a7b06035b1d0c9d739597707839018bce", + "msg" : "6991810e9788af7aabff8eb4", + "tag" : "5b36f377078ce820bd33759a85691efc2053407fd86a3e4946da1e38a4557ab1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "ad37630a280b1a75ebed1984217150a400a55dca2362a8eaf3c907858d0b45db3e208c316d033854eb4284f71117d33876e0e203ca922d26f9b76d94cab0d4f3", + "msg" : "7c6f2fd83e5691827be38e49a0", + "tag" : "c15a7f38007bc32c61d912b30889d6f5c624ad0e6e2e3fa41af2d3295b0259b7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "526aa2645ab71229e2c60f68bd5bbcf0cea0978a0a9c60cf695e81fecaedecfa0362c21747eaa995975208ca35cfa6bc2b95d1c2afcee11275f43add6f026d6c", + "msg" : "681bca550fe301f2dcc1e38b53c1", + "tag" : "87a7e6448d64e006339487b2d93409f00f1dafc0dbfe35a361da264f251ceb71", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "6026a9047a07ccf197fde09c8b9f15f34bc52472b7d1ea4673b4914a0e1c3aa4cfe8d6ef12d4d4019f5ff3ac0adcad7358490874155daf41da2f74aca1cd894a", + "msg" : "ce1d869c53041c5f6acdda7a05af15", + "tag" : "b44c984a2241527545d9cf755663346ba82841d039a3e2aae56b40020a6be1f4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "a03d2c543c302949c51b662f43114c1305a8f6961ae48342803d3690dc18255fab924965536a79bc38564c7c97cb8cc0209786e9f76375bf181529cf7f93d954", + "msg" : "697617ae31f19b8a6ad4b8489bfc3db1", + "tag" : "1827375ec9d32581adfe2347984e33c0fd95362d158fe6a7ca07e084557e2b40", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "25843665d39c3ae9a7b3e4427e2bf7785281fd2594bdde67860ca9b8fa11646469d1645ae8ca3825b8c551f9eac3da0660d8c2e2e3bd23d34395c6775dcdfd2e", + "msg" : "74082cc5d14db1967442d66aac6092bd23", + "tag" : "6bd2e4c2fb8c4849065ebc921b4fbea6de5af848fc9d22ce60b1a3ed536b4eea", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "4831ab4962a2d2436091cbbf388d2ba042b472a262ed8373c85d047c702adf73a87eb097e72d91d089b7d1504a7f7d8abb3bc2c44c1340d6c16c84ea9269e64b", + "msg" : "2803c2f4e5b4bfccd2b407469a6cb5ef21fd14a682636397", + "tag" : "ab6570dd52670051d6879591618a582a15d5bbac995a09d6aeb97e52bbca2296", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "449bb57d046551e1819b3c994122c3605954317d0d76212284a3328c226732cbf4ecb442a582c8423888aaed946e5eec2be66e127f1e2e29b66e68b9b4bec4d1", + "msg" : "79004e644389a11b709bc0a23cb8592f9fc7960bfa46132cc1ffb9747df37dec", + "tag" : "023ffaeb8ee50eb1869f51384011af14c9c99610058a9cc3ba871e3c56fd2ed3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "ff97b77020861a0ce00eff8de9e701aea8c6de0fffd9b4c1342a416d357fce35a7016c64ccd38e2bdf674802281c2234153dd83aacb948966dc87ea4718fff75", + "msg" : "d7e2d2437b7067a30f04529041960e041e281737d1e0daa8cd50cc0b264716e117aa2fe9a7e39c2f178c607faa50c2", + "tag" : "cee096bbd66cb2a500f279aa34418e7c690dd1f46dbe2348d1fd04190ed78cd5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "f4daf370c4f437d8a85391ec455e34540be8d32df8dfac05b166ae72ec1cc608f8c177b30dde8bf07c9d434732c26a6e530b182c7ab21093eb79d0bb5be85e53", + "msg" : "f60418f6c54a25fabf518273088619c0741c1c7187de93a0cf6a03f4565f1765de656754541b860137f3f8455de7c403", + "tag" : "3b260d9bb6d9b18441e07e96c3f3f19a97faec005e98ad3b3566486724dec695", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "3be95e879421ed7856269eef39a2070fae406cec5e30b50d92792df5a37de98595684eaa9205587ca607eeac8f96592f458f63434b7dc82596d3e4a1a16c3d59", + "msg" : "c64f7c970a441c6c503838a491308c783099eac52bd35a217978a64dcec84d34186ab3b74f20285d6fea2165eab4da3d2c", + "tag" : "67329f88b1e99c978ef50b2bccf8a405d4f9ea3f0d10703fe4b335a829f76008", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "b5eb53586b948587db3dd46c43ad65498a5079157562e4074c9c20d097d0c97f19db4661fb2dd11b87a5ccba2c345642618f561d00bf87dffc66762e45e0156f", + "msg" : "9e8ebf96429955d60b925a4111745ec7028de24e694a6d2eee1dbd5e820ab9f00beafde09f95095933a02f251297282b0cf67c518397655841f230e1d9ae5ba93150d4375dc7c0738b99850b07d5a442994e68dc813d55edefa6cd063ccb202711d97ba674efa02ddbdc692341e77cfa", + "tag" : "52bb6b6d0018135187e7265883815d904a57434e68a0a868676059adfb5727b5", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "fbc678235d596980268730a7aa8a3c25095f1dbcf7f830990716a510c44e62b1ae8ce095c65e1852bd8a09f25ab93415ae736f22b2c68ecdf3c0f71e15a057dc", + "msg" : "ef395738f2b3bd7a0649eea75e734e5c79baf21358c7ae96c63a58e260266c7bfa869664c5d10e87c26d0f5edb3b5f73900c1d9a96a5a2c2912506c19dff04e900b8d5d63e1bb606fe3d5a229b642b1ac59e08a4687a7aade3de16d183131ddd02da988ff826e88b74ba0c5c41cfcd8570cca59fb3304d588f7f7e63dad47a", + "tag" : "fe957b5c1a0f337e9f119c8eb8398d2c5bdedbd1f84af785b5d365e07d4740b4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "d8437b093e170afc30fb68d873db6dd67ee0372b6c5feb124d548abbd93304a082235a170a9d326268d0cfc34264d8ebcfcbcc0dc0ea7767b650dbcfc7848f91", + "msg" : "0fb91bb043cf3d49341482eacbab92da92117bb6ec03b518a93c9d59e54702c6a21ade4f255870cb52da4a24b36856b0cbf8b122d2fd5b0219aeacb6e292c95863921789092d5d65d5a9389231670e38be31d8b76630650c77edc23773d5ec9189915560ef6f45a4275f85957d8762916d8147ef43ea6f438d066227354df26c", + "tag" : "5e08a2cef9370a6f040788b716e27b6094e4d9f6549ffd6f69ead6610dbd7ac6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "d29225e3042b43d4eb7a9399f224424b5b4dd99031c8abf609d3a6e3175897134cc7ba8a6be25d436d41a757a2daa4e1b03f7c3053ee8cada19531d48dab93e0", + "msg" : "1fdad8cd37e115ef8131d4619b5d61a9827a11b9c25c5b8220b002d5b7f6e2bc30a7e2f3d103dbcaf849a255c20ec5d1b40a623e398d76c5b7f07fe305181cd5bee29de3360fed55f69063e6a8fd2ef31291e4d7c3908449466b4ff1166959ff1f2e86eb48a7ed11bdcec2fc2dfb6684b36b8d0b68e0f1b23ef11bf5907d4a2b162cec26f31b6d5d9892a27b3fad7a5549858dad530bae193d9b60d42d7ad2a66476a3ba4bf7a27ff9d0f885a540bf181caad71a235eb348a23d053ba2db7aed8d7d01d96dc9f780e2e426c72bb63fcb3fff44c14bb7b0f8af3552d67ee6761092c757627d19c080499c247d13b431699397159b1b71c6274584959d5c30f0", + "tag" : "3b28ef1afeba82c4123956e6b902107984b2938d82912e84868c195768769086", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "617063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7ec8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "627063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7dc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "e07063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607163701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc9b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063f01a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b60b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701b568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4448c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "6070637018568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4748c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559a28544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12ff1be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a56855922a544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f719e13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228545d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be12428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63b27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428dbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63827d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428ebb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d6ba27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13420cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a462", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910dc", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a461", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf6910df", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a423", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf69109d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a568559228544d63a27d3eefeecab50933a989e8a2f5a6d0741a4e3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c12f71be13428cbb4ab9fea280421c209345dbf0c985bf69105d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "617063701a568559238544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7ec8b68b4548c12f70be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063f01a5685d9228544d63a27d3eefeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b60b4548c1af71be13428cbb4ab9fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "607063701a5685d9228544d63a27d36efeecab50933a989e8a2f5a6d0741a463", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7fc8b68b4548c1af71be13428cbb4a39fea280421c209345dbf0c985bf6910dd", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "9f8f9c8fe5a97aa6dd7abb29c5d82c11011354af6cc5676175d0a592f8be5b9c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "80374974bab73ed08e41ecbd7344b546015d7fbde3df6cba240f367a4096ef22", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "e0f0e3f09ad605d9a205c456baa7536e7e6c2bd013ba181e0aafdaed87c124e3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ff48360bc5c841aff13e93c20c3bca397e2200c29ca013c55b7049053fe9905d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "617162711b578458238445d73b26d2efffedaa51923b999f8b2e5b6c0640a562", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "7ec9b78a4449c02e70bf12438dba4bb8ffa381431d219244daf1c884be6811dc", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 512, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 163, + "comment" : "short key", + "key" : "14d93759fc28f3319ab74b8167c974e800f032344dc2747ec0f4945061a47827", + "msg" : "", + "tag" : "bfbc9e095822745f9bae15ee3418f330e63891a2972fbfe1045165d8b5fbd288061973ed40ba310b85e7e6dafb9dfb4c29c4de7969499c67aa2ccaa48c63178f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "short key", + "key" : "9fa371f36fb273d514fd628cb938067a4bae32a19a1e045a7d6d7f6de3751cbf", + "msg" : "311bbf722d322cd7a0710f480fc66518", + "tag" : "5d6619bd88bdd18aaafe2c3773d8a92e6617e741196d0c2e9d5271fb9abebb72b520bce1e1f147d861be15734ab25c93437e1058bb44dddb8104185521785099", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "6313f1526bc220f20dde1e64ced8597279586d1e15aad05ad591d841b369284f", + "msg" : "f744fa3933e16d8bf524afaeb34c715653a9cfb01fa45fe1fb68e701fe1487ca", + "tag" : "20df7e320ef62fd4b347193de868516a0b4c245546f1e6b43f5ac42f1cff66a56d214b1bbf7d32849fee3a2c6dee8a8fe209e6e28c6e2416b9cf95ebc10fc8b8", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 166, + "comment" : "short key", + "key" : "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", + "msg" : "", + "tag" : "4e35e7b4b0029d62e3a765c2a41d19f512d77468f8a43860f933f13306bf6204", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "short key", + "key" : "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "msg" : "aeed3e4d4cb9bbb60d482e98c126c0f5", + "tag" : "4b08479a99964744881a02f32435b60bf83ea5036835a0be2b3c6544d502cd95", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "short key", + "key" : "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "msg" : "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "tag" : "318cc3d4a8a10830975458cf984196980c0f3f5ff040e3478ae29b287663752f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 512, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 169, + "comment" : "long key", + "key" : "dd1e0bdbb6b60862176484f3669da531455f1cd714f999c29f08b851055fee8d72186d376c236f4e16cba7a25cba879fb2753deca4459aaebc6f6de625d99af330", + "msg" : "", + "tag" : "dca1d28776d636773d4397b792323d315dab2fdbf7027e9ce6b216db7a35505686a1ea0a410a1473c7c0ca737b4ece05c82e8aa5203db9863677495013dbfd48", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "long key", + "key" : "432b311ebcfd46ecfcd3cc706ebd05c787dfbe1855fdcfce8d50c9a00f72b65a8d42acec335b4e07d544c92fd7b1d38543ac6e0fc04c26d88de8dd974af69e24d7", + "msg" : "36b1fbe8f1335e7c0399c24730906420", + "tag" : "c0ce831930455d18917c4e4f097f2000db8b295041ce822cfe67b9106fabf4800916f75fa00fb9c49eb7cfb7aeaef3170a4575db66161d2035efbc132957f1b3", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "17f720f09df5972af9b9c63e10043284608900d50b7955db3b4e2679cb4120be2c9b9e2aa1a5743eb519792822c326b4d890b5554d1cb0eb71081b7569a2f04df7", + "msg" : "57167c2524a55289687b83a40d3a69bc90adc53ad247020b88897f9b95d1516d", + "tag" : "677530c17b888f416a303f32a3a8b0d707eafbb65845ccfe0b963b7666601385e0daf21b0affa1070109e0812135b7e51e001168e08d17da1106e40d47f084f4", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 172, + "comment" : "long key", + "key" : "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "msg" : "", + "tag" : "0fd5265ee5f787925a827b5f68f9f45460afd232db4a7ad6a09c817dac9f1c68", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "long key", + "key" : "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "msg" : "ba448db88f154f775028fdecf9e6752d", + "tag" : "1ea78bfb221933ddb7dcf5b08f0ef34771143e2cabc6b0b8d4552fa1286dd5ce", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "long key", + "key" : "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "msg" : "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "tag" : "e8db4b9925ad01399a25be1b2e9b08288f50bbe7ece18a279134806bef69d9be", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/common/wycheproof/source_vectors/hmac_sha512_test.json b/nss/gtests/common/wycheproof/source_vectors/hmac_sha512_test.json new file mode 100644 index 0000000..b78a7aa --- /dev/null +++ b/nss/gtests/common/wycheproof/source_vectors/hmac_sha512_test.json @@ -0,0 +1,1622 @@ +{ + "algorithm" : "HMACSHA512", + "generatorVersion" : "0.8rc21", + "numberOfTests" : 174, + "header" : [ + "Test vectors of type MacTest are intended for testing the", + "generation and verification of MACs." + ], + "notes" : { + }, + "schema" : "mac_test_schema.json", + "testGroups" : [ + { + "keySize" : 512, + "tagSize" : 512, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 1, + "comment" : "empty message", + "key" : "5365244bb43f23f18dfc86c09d62db4741138bec1fbddc282d295e0a098eb5c3e37bd6f4cc16d5ce7d77b1d474a1eb4db313cc0c24e48992ac125196549df9a8", + "msg" : "", + "tag" : "d0a556bd1afa8df1ebf9e3ee683a8a2450a7c83eba2daf2e2ff2f953f0cd64da216e67134cf55578b205c8a1e241ba1369516a5ef4298b9c1d31e9d59fc04fe4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "short message", + "key" : "00698977f7102c67b594166919aa99dc3e58c7b6697a6422e238d04d2f57b2c74e4e84f5c4c6b792952df72f1c09244802f0bcf8752efb90e836110703bfa21c", + "msg" : "01", + "tag" : "4d1609cc2c2f1ab5ddc35815ae1b5dc046f226bde17ec37a4c89ec46fbd31af2aeb810b196dffdd11924d3772bef26a7a542e0a1673b76b915d41cbd3df0f6a6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "short message", + "key" : "ed6dc65dbeaadbdaab530a0d35f19f78a7bd93e698546c82751bf650c2a44fc8529033d088febeed288fb4c8132a59df0207687640c76dcdb270ac3af5f042f1", + "msg" : "a78f", + "tag" : "0757b27e120559d64cd3d6e3cb40d497845375815181bd9b4e74f2189d09d01a1b3ead53701380d988958ed22bc379ace9d47cbcac1d49bfa7e14f1f44804c30", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "short message", + "key" : "463c5e696da0ec0d784388be775d1d91d94746aa8d3d2c209f56ac95ea54e7288329f9fb40be4eef35547e64c61dc51a4a1f3380a2b96420f088655ea9d85b97", + "msg" : "e956c1", + "tag" : "ac4b1509391814ae5cb5a123e7a060601575c11d81b563bdc52febe6bb2c747b85eeddcb6748c98147a46a1cc9be6776d1a8e82ae4896b9c18da2ff351c56795", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "short message", + "key" : "4bc0d32e945cfdafd20d39be3820f9649727cbda5ab5859953a322cbde1ab7a514d7dcd14ba90905e70919bb86b85cfeaa375ee2ce2703711b938c8f4ab5f178", + "msg" : "b2aa48b3", + "tag" : "c4ecdbd2efb17640ce6707e2e9d0ee5bfb98b91584bc86ab386437eaa37b0f2eb70500361105416c0dcecff389dc94c723fcff18cb801740962312007a195a23", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "short message", + "key" : "aca47f6350941a0efd8c3bac9064a554be337cde7d192f6fbf86d1b4db09b36531165cbae0a634206f71fa400df33352fff60e1fba4009ac6671cd37312bdd98", + "msg" : "bc993b1db0", + "tag" : "89af2f5746cab89fda6993e00f1bf0cc70a77188945bb7b5409b536aec5533ad501db6ecfa3e516b580b7df9c8eadb3cf556ccc01668be984335bd5a6255d566", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "short message", + "key" : "b3ecae6f25c2f699f158b3ffcd0a7a575583e4c9cb56b5c22ef4273cde6c6734e84d7400749c17e47e8cfccafaf8b50c65eb47dfeb273d5d30a1181e37b27ad0", + "msg" : "f0361d58291e", + "tag" : "4037a57aa279b5a07abe9389dcf508be9495a8257dcb3feba3f0801cd57574c30bfddc6df5df6567cd572c4e82735fd4e67b65e85b030f183a7f4457fb7d2c3d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "short message", + "key" : "70ff24a252d65183bdc6b7c88751f850821141a61246727c3240b4f96088ae3278767a822b65735a28ccebe4c874bcb2c942882cb23f9dd87fe08fbaad5ae72f", + "msg" : "e18da3ebf0ffa4", + "tag" : "878d488754bc796c70e11d5db77acda2e1796d86146e27d862586740c4d488ed12239e6fb4ab2925afc88168609edc048f8572536fae96e149d73d230b18db66", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "short message", + "key" : "dd4e05933d09711ee88cb4c1ceb3600b2b33808bc08d499387b331d9c7af49bc65b55172cf8083385a940e4b864b7b4b73ddf3bd513a6cbcac73878a879b4d06", + "msg" : "66948029351432c3", + "tag" : "9968a16eff2b4eeecb2f9d11fcb105e8d8ca59ed4e69131c9de599cd8155fa4f33def1195a6b452263aad9265e16d4951841d7cd33c74c475da04497c02922ea", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "short message", + "key" : "fbd32caf8984fc4376d10daa7288db8e6e74464bdd94b448adab4497b319e9a6dcce542f82a7ff2e775d12477c880e460a9eab8efc49fcfc8c5476cb4b08954a", + "msg" : "38a2586a2883953cc4", + "tag" : "e0c69bd034cdec5b48150fdf3a4383456a7626d4405df52dc6c2bc8fe93bd87e369e06a781ed80ba8b1fe1146c4df82b6a514412358b31b77b9b79c7a91ec9e4", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "short message", + "key" : "fd4c3f6b2137513616c28ed4d8638f867ad0b97188b73fc9b36f3d52b82d72a49b9dc1b8b25397eb448054a8d38d838e7a88b4df9c263aea1b968771d5ac5756", + "msg" : "86b4e61b3b7d650044ad", + "tag" : "29345d7da44e2f228e8d502e29fb655da3676a481f9947c8482502ce070b3da5065589d84c02a05cd774b4bd5a15b668c59bafc192695aec43e5df3a82301745", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "short message", + "key" : "f95baea535f477d22b405c67d927f59a9e042c46297a1681bcc16fdbe1b2cd59675a221351a78075981e7eb4998066768801cbd7a85231114d7f27f9bdf24899", + "msg" : "5a34dee4e0982d458efffb", + "tag" : "63867bb3e82bd4a5f715b3dd67ba3625666e458c5e3d75804709f80b6dde6f774ea223ba9e2536c60ab636dd12d07b217234a490ea9cae4fe673215d33f8c57a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "short message", + "key" : "4d76ae95a123207e01c6d22d8b587e63ba682963e50961afff531160a9b9aac6c772c5e8bf918ddecbeb56455ea64710e51ac21e3bb9af4b24eaa8535b3c2924", + "msg" : "2c31f2d986f68a6d6a96c4b0", + "tag" : "9d4f9549ac134a6f60f17fd0fbc80f55426afa73cdaf84a806d98dfffc94263178116f76aadca95a9243a9128f5f66d3e7f33e72603d4b35ab90ab7d1e870ad7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "short message", + "key" : "0da7fa1f5d217951e3e343cda81f232deb71764eb49e8510bc28dba8eb62afa2a98b6f0536adb10250c74878fe649f47bbafdf3f722fa150f66e83f65f606ab0", + "msg" : "83511de190663c9c4229ace901", + "tag" : "11bd76ba2fd5684e3faadd44abc05d32661472ae4c75fd69e62e47a2d462e483ab5fd374070e648017250934d486fed55e68f4338547fb5dc54d4bed894c1c2f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "short message", + "key" : "cec9e9f25ed9a017004a7882b1e44e8bd8fa3203c50cb6058455ed4f2a036788d46fcd328327d0d86b1abae69f7bbb96e3d66373ec8bd45075890879a83f4d33", + "msg" : "80dcd8ba66f98b51094144e9b8bd", + "tag" : "c69f1787bf7804bfffd9da7e62f58c1c9f599ccae2ed4fc6abda1be48620afc797d59d4adb396e1fa5d18b8c1aa1c7c15218a9f9e3aab226119adad742641089", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "short message", + "key" : "bbe25649ecdf54ae0028fb923cc8c28ec00e10e2d44214590781238a143b75d54efb037eb9f53082a8ab3d8876daf4dbdc2483c4ba222797fe20da3b7730368b", + "msg" : "33f630088c0d24cda98caff1a3afc7", + "tag" : "c803ca833e851418a3d9ed764f8c83f481060141eb1b2bf64d7ee7991b041c48bfc747bce13d69722f63944085cef8e7a166270530fe31a2a525a99b8a75f1b1", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "", + "key" : "f5e2b9e2313f4f807cb3a924a7d4943fc3fb475d8f1a1b40ce09a37770f621af8977729cadf986c98c75f08a4fab4280538e09e7e51e87a8d62c03411bdb8d24", + "msg" : "74ef623c83275ae99745bff7e6142afa", + "tag" : "471055f7a2d44758e7d7837db85c33626b8306760eb45e18d4ba8dfbcd0d4279fcf8b539ef7b165eeabf5457ee2c41e52d07e9121da02c988f08162f86bdf208", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "", + "key" : "8e323d5fb4752d92a6d905c512b287d07b21ae50002d026ff0388e1593bde9998dd02321e200d148f5fa2e824b37e9f5a77441794b840bedd552d1051c1ddd8c", + "msg" : "4daa229b009b8984354c2ec3e7973e0042", + "tag" : "93a2137cc84e2fa1439d7c239767b3ce653d634c58a4590eb61af9d3ef986445220aff3554de45a1b0933fa06d3d64460418910977d8d9ddb2eb04963c816841", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "", + "key" : "465bc1ab2125cca29729d01df044e393b0677defdd939280a3aa141224efa06457e623056d02f6c36eca3dfc4a7476dd36b97d0c2d60c7672129189e73b6af8f", + "msg" : "dd84599b47ba9ae9f2ad0c8eac678485433eb6b1dfb7c998", + "tag" : "9fff43a83c71833211f9d60eeef4166965c41a37c76634b1bdf9c5291df75dc877668f2287bcf8108ea9e03d061a708db2db08687eda61fa97b1ca92dcf22b92", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "", + "key" : "b90226798dff2ffb91d1ee4103f26397d0bf84c13c1ec717392c5fe1d4d0f4dc790236d759fa1be852e305da585a3dbde0d3912bea60d6b140c25645eb00943f", + "msg" : "aa29c372f136993c65ace5e1d62078806eb787913bb35af33371056359d354b2", + "tag" : "493a727536b07d434a7fc8df6b70989148a8d94cadb9761ad845ac5fde2068f9565e68607b531b0f307d7c17ce0a2ba69fb1ac1b0c716f93904eec75669e70b7", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "long message", + "key" : "af1bb91775cb40c73983f119c927a2ce8f7b954a6274ecc1cd96019e5c417af4b094376194eae71c7f68f3345654d5d9f8198a697b41ae251e82308accd935bd", + "msg" : "75ededdfa7f1df1dc144fb195b27e454640e3f897cb564222f05e8aab0c6024f90472afea6e7254ed25134ea43452a", + "tag" : "b53d564086a745b10d88a48b50ed8b53f4c83fd12bf56a75108074de9b343cdf0668ce8b6a3d884ba2da5f4c957f1319e26c0813c99a4269c171ad80981013a2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "long message", + "key" : "513e0e7622eabcb6bfc81669dac903df46daea1240f32248bbf4fc61f1f9b13b2c3fe1bcc97540d30065be9eee41e51748bc42c16a8c8269fbe2b6f625c19228", + "msg" : "81d8650937f50871a66af71605ea4fa9d6c5d7a375774c2280eb34aefcee8c0ef83345bc547e4de7cbea482369b25a93", + "tag" : "9d942e4585742ba118bda6e132510af3b9297047d364f76b2a0d1fc803849b06ccac0eaa427934055c9d2e5a5da19cf17299ffdab65089580d10ff7207c9ed03", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "long message", + "key" : "627c9a72247d07b0cec8346277468311c7401fc4cecaea8e22e13ece4b352c8f7a7eb1ba81ce348a08670438c97b8d9e883614d550f1ff16d636975c59988c2d", + "msg" : "118e0468cbb52f93a3396ebfaa114881a98a4101f4ff912ced47ecfc73b27f52205b7a5d4f3899506f9e34ebf99460da7a", + "tag" : "a186e08c7731d4bbb1d5342a105ef48f5353c5c542277de607831fcbbc8d0b9fd509c74bf9e352ee739792ee3cd6382f96e70adb589fdf1fb031d43eef1a595f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "long message", + "key" : "1e981d0cbbad5bea9480d836b4704bf3147663b6ea59e1e0a280fb45d9b85d445dc972159dde301c6f1e66681f95642dbb9a9218c00d0cd724cb02f3bcaea2ea", + "msg" : "440dff390688c9fde31c17fdb61c1d13899f9544a986324c34d5eb07bef9a4436297f4a7fe16de5dd7b24e0c7c129051efe6f2dd0a21aec05c3e3c8f6fa30d9c0cbd60d840d14f0b2a928bc7189b9de4a6a731151d6b31e6a0ecae75095434737be8c3db11a6a697d0616c78b97041de", + "tag" : "c52eb5d18e90687248342a84dc0241c680e992b88b1409275df7e347c99169a50cd780eb4726ad759e2a027fb091354e3d7c7aba8a21f8acd1d0e21236af5f98", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "long message", + "key" : "ee8aea2a52eb7e0c1120ab736b1a825b12610063de9642c594766c020cb87314d8ac94b13072bfbf3c019b4aacb1d2695cdd7563a26f574e12559906784d853c", + "msg" : "a3951f1d18135602fdadceeef5741c24ad22756160d0c55e51b788af952adaeb13e18c24c6b09672f405d7ec3d49b0bd86c7f8691b6f69af49175423215cf57d7c08a54ab0b0293e685c9aa250f1599d78193a00af822dec4b56fdb41f0343ab2cf85ea27bb2e650930f5e8ca836833903b053b3e06899b4012a6532978d90", + "tag" : "d3678ca7c5c1aa21f12eccc21a1add0b3eb12ccd134033570468191e51b058c61f2a7d88f2ca6c652c29c65c491bf1f0252bc157bdd77436ff55204eac6dfb0d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "long message", + "key" : "ecd1861a12eaee48aef1d7ed278223b50d3416dbff81e976c56ecd4b1a1bc8892b584cbcc72370ff5e976a6af1790caa32f9ea912855914c0315979578fbf165", + "msg" : "5779c56373a8e5db43bd65c0453ce23144230d43666d717a3b59d2e90f0e10732376831d7281cb23dd5566e5f8c627d00d39650139ceb87cd47e921d65d6c1cc7712ac4bd75bda8828e68abc968f4160ed91b28946c9d706b0360bbbdd65f47ef9983c50f2d09d05c3674c0943ea4af54c381089f9b846dd69ce908e0f6eaaaf", + "tag" : "d377e4efc39f25ca751452e79dcb5661f8adcc06570bd3f710e03854e032286ca477e6a620647958fd31706463b542ddf617757875f349c61109358d04f6dc58", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "long message", + "key" : "71aadbf330ea133b46c939d12e603896902e8df638597c98872dfb5aecd5161bc84095221de3222367012f45c6d70701e862ab000e782e91b505b21b4e212c38", + "msg" : "e6d7b0280d2f7df83fd26562fcdea2597cf687a9c9fa194f655c44d3271b881f28adc436db8e0437ff4dc5d38356271c338829c3e2d9ba4ac1777c94886983d4b72c275bc00e4f7b06c5ce38a2fe549fe53761857f236da705fd03790b41cc6f759f41aa206feca7ba5486f4fc9d09f35c8e0887241291882010414ae41b8b384a715a409be13da17bfd60d3fbd4b8cb3cc7c26043807264a20b9a5c02725e742fff03e1806b38af357ebf8c79fc4c38b007bf0613286cf063e45482375475e6c426d4f70057cd92efcb2dfe86e45bdea399273a5e0f142221fae206800555c01b18533295f577e23a9a7a0aa072823002b9096501174d3bc4aac33e0dc600", + "tag" : "0c1cbb2f196d3d1af5f982a330bf1d9accaada72cf6c254658cb32bfd8705481abd2e163a73338700f0d961ca02a31b600df04faf311cd06498557831102f80f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "Flipped bit 504 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "Flipped bit 504 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca53", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "Flipped bit 505 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "Flipped bit 505 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca50", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "Flipped bit 510 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb038cc", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "Flipped bit 510 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca12", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 64, + "comment" : "Flipped bit 511 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0380c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 65, + "comment" : "Flipped bit 511 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8cad2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 66, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 67, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 68, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 69, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 70, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362122e58272a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 71, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9dedd1a7d8d5ce9868df4dab3429c58392969406d7c063976818286db7c44fc773", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c181d23584fee40b313b38182933be43ef3c41c917cdf3af55093ca0fb53735ad", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e292aed8a7aab1e717a032d44b56bafcede9eb79a8bf1ce817675712c8bb30b80c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb2367625c2730913fcc6cccfefdec449b418cbb63ee03a0458a2fecb570ca484ad2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 80, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263132f59262b30669621b355cad73b7d6c686af8293e9d6996e6d693493ab1398d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 81, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2e6e3dda6b110be4ded4d7f7c6dc51ac00d3ae26f8221c40bae6d34f14bc9cb53", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 512, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 82, + "comment" : "empty message", + "key" : "eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171", + "msg" : "", + "tag" : "75f6975e3500be4fbfee1bc95644745ce9f8d47b6f3818a48ff34e8c2b186ba6", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 83, + "comment" : "short message", + "key" : "838696e6190c874c3717b8be0cf063ca6d60760987d1a33703e7e35eb173e5ae954e741a37935139d612149e76f6ab2a370604f5b4a68bee87e309240a9ba3d6", + "msg" : "d8", + "tag" : "5bcf44539d8783bb708e7f5dafc4d683bcaa0d240c902675bdde059f944dacde", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 84, + "comment" : "short message", + "key" : "fa999ed1cfbc5c43afb16f22d024e3ce645e00b06712c93b946167c9c2c037d192f0f3003f87c43a71166fe1a3c5824c348673a2f0f3c475706985940f6b02a2", + "msg" : "cad2", + "tag" : "9a93f4728aa5941da160ec707f14b7e9ee1e768c7f627269543430d2fc681e90", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 85, + "comment" : "short message", + "key" : "b53fced8b7b4aa59d3b56d91e1386763c39e351c2f5ad6a4885e442ad894d5181c5bfe5c05280a84ad19d758e359bf8171fe652988fcf9d1458ea17364ca8fa9", + "msg" : "d3393c", + "tag" : "02c4968e86d1c62837a41650d3199ca6b3c59b8227f55e0ba40e5e3904ab512a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "short message", + "key" : "3f0cbeebe391c6491e77c57a05e85a16f0b5294d19f9a7f3390baf7a2051fbf980e041ee45c9104a9126a6a7ec182eaec27a99c1a7a3f5a1e8cd8ffde60641dc", + "msg" : "bebb0392", + "tag" : "8d68dd7d67763e8eafee0029d01e96e6a09c4ba09e57a2e5bde3bacca213c695", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 87, + "comment" : "short message", + "key" : "4a7f110b92241badc907ba3c61477bab0953a851bf327425e858fc724bd33ede2a4a5018fe71aab434bda8eb2464a41577c8d570530c460f7c8bc0172f1ee0f1", + "msg" : "40a333f4cf", + "tag" : "5feda3366ce9f5ac3402c977a4062d33c09e2c9a3d0c2dcda0c8d67b4bbd1a37", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "short message", + "key" : "c6c95bf9facab295cebfa4b907855874f57a5c1548576ad8bae694a364f5e58dbb8c8dd49330b2fdd1b71657d211db2a6569a9f3a356c0c5b3c4efbd5b6777cb", + "msg" : "4cf926af475a", + "tag" : "0a748aa33762d374aa04b617b58d129ad1aaf252a40463fd62ce924e21e6d52c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 89, + "comment" : "short message", + "key" : "0d3387fe59e8e7c43c928dac7913826dec4d63ac3c8ee346ba7caed9505b9e63ff8942cde90997e8dbeaf6e17ee187c0a84a1853952d866c15f9a32fcee6a82a", + "msg" : "2ba3bc3cd64bc6", + "tag" : "cc7e97630884bd8ad56f6d96fd34690eab6c8ad5556b519db3bc3c6083c82d3c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "short message", + "key" : "3cb9ce565388a6f0454a80add86c7e107ea537d7f468a0648930fc37172cf7b4ca9058033071c354a20a608e2d46e98afe46435a344362989cbaafac18859bba", + "msg" : "33ce498e1f94f412", + "tag" : "76335ee23ee1dc258812be373bb5f95918babed0b69e565e00ee3af776c5a5fc", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "short message", + "key" : "c25f45ceb2a5597f361445fa41a9019f41a6e6d7f144203f29c0b9fcea362d60894c3cadc1ce25d53da362e464c11fc6e169e3db2ea1cf40fe08fffb429b1a5b", + "msg" : "81978af4795c50f89c", + "tag" : "bf73218544d8458e6ad00727b236f833d281723d7dcae4d1019b70b9d6e8bc4d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "short message", + "key" : "b458764ee273f391cb718f64a1bca64c96a870d9426d6254ee37e5c93898d6a5ef68e9d3b0e057a3c396faa834a29926a9680cfa903d2a605b85407bb24c8cee", + "msg" : "d804dc2a1e146f62b621", + "tag" : "5b25843416467b9e0a24cfab67d8fc27e0623ff9e01b2204b5afdf3e9cc05d1b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "short message", + "key" : "7cbc5778f70595fc211cee3a93e17ff7f25a1d9f3766f8eb70eb1e08c9420a62bd89e8b7d834cc854d059afd413e4d9c062a532e015928528c7f5812dfebecac", + "msg" : "4017e0ffcaac4c485ce7ec", + "tag" : "66b4191b37a6f78809c434736ed6ac2273c04a11219636e92671ea05bf6dc299", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "short message", + "key" : "937b9711d670daa2359920e47dd6d0fb75275105b3ef07bb4a31d3c4b99baa8ff79ee4b4a1b4a5b250d0fd7b4721e04a7b06035b1d0c9d739597707839018bce", + "msg" : "6991810e9788af7aabff8eb4", + "tag" : "23522de80ff6a3a6d8fc1bf9b632e1600df53c59f38589a6f2ae9b95d940a340", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "short message", + "key" : "ad37630a280b1a75ebed1984217150a400a55dca2362a8eaf3c907858d0b45db3e208c316d033854eb4284f71117d33876e0e203ca922d26f9b76d94cab0d4f3", + "msg" : "7c6f2fd83e5691827be38e49a0", + "tag" : "b609c0b5d359061ac066bd3bccabc98493fd33bac8fe0e3f2e2b4758cb6578b0", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "short message", + "key" : "526aa2645ab71229e2c60f68bd5bbcf0cea0978a0a9c60cf695e81fecaedecfa0362c21747eaa995975208ca35cfa6bc2b95d1c2afcee11275f43add6f026d6c", + "msg" : "681bca550fe301f2dcc1e38b53c1", + "tag" : "1f1f50dacb3dc35b90429c0f9b31edd239a6af4c09d51095cb39ff11c7c26598", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "short message", + "key" : "6026a9047a07ccf197fde09c8b9f15f34bc52472b7d1ea4673b4914a0e1c3aa4cfe8d6ef12d4d4019f5ff3ac0adcad7358490874155daf41da2f74aca1cd894a", + "msg" : "ce1d869c53041c5f6acdda7a05af15", + "tag" : "bd2d678ceadd71680f9987c88d24c49335cb985af0bcf8e23fe810e83a920f13", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 98, + "comment" : "", + "key" : "a03d2c543c302949c51b662f43114c1305a8f6961ae48342803d3690dc18255fab924965536a79bc38564c7c97cb8cc0209786e9f76375bf181529cf7f93d954", + "msg" : "697617ae31f19b8a6ad4b8489bfc3db1", + "tag" : "577d62d7279b39a0d71e2f80833425ed43e4a16233eeb5d251f766db0bf7a58c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "", + "key" : "25843665d39c3ae9a7b3e4427e2bf7785281fd2594bdde67860ca9b8fa11646469d1645ae8ca3825b8c551f9eac3da0660d8c2e2e3bd23d34395c6775dcdfd2e", + "msg" : "74082cc5d14db1967442d66aac6092bd23", + "tag" : "b373ac5fb1982b9d47d28844e969d51680dc81d21d556c2671c29c11dfa6e340", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 100, + "comment" : "", + "key" : "4831ab4962a2d2436091cbbf388d2ba042b472a262ed8373c85d047c702adf73a87eb097e72d91d089b7d1504a7f7d8abb3bc2c44c1340d6c16c84ea9269e64b", + "msg" : "2803c2f4e5b4bfccd2b407469a6cb5ef21fd14a682636397", + "tag" : "641f29925c06aa01086c8bce89d99e1456dc2ad4b1d3364442187ce4392838ee", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "", + "key" : "449bb57d046551e1819b3c994122c3605954317d0d76212284a3328c226732cbf4ecb442a582c8423888aaed946e5eec2be66e127f1e2e29b66e68b9b4bec4d1", + "msg" : "79004e644389a11b709bc0a23cb8592f9fc7960bfa46132cc1ffb9747df37dec", + "tag" : "c054667d992cc1e84fa5b13f6402125b4bb6fd2900dbcdaf8b8644c82edadc2b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "long message", + "key" : "ff97b77020861a0ce00eff8de9e701aea8c6de0fffd9b4c1342a416d357fce35a7016c64ccd38e2bdf674802281c2234153dd83aacb948966dc87ea4718fff75", + "msg" : "d7e2d2437b7067a30f04529041960e041e281737d1e0daa8cd50cc0b264716e117aa2fe9a7e39c2f178c607faa50c2", + "tag" : "062e9c4609a3b1d5df277a33ac1c7501df81ec1ddf460b0850a2aa332d07bfcb", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "long message", + "key" : "f4daf370c4f437d8a85391ec455e34540be8d32df8dfac05b166ae72ec1cc608f8c177b30dde8bf07c9d434732c26a6e530b182c7ab21093eb79d0bb5be85e53", + "msg" : "f60418f6c54a25fabf518273088619c0741c1c7187de93a0cf6a03f4565f1765de656754541b860137f3f8455de7c403", + "tag" : "4d4a568dd26d27267d0772540ebb0b94d44fbbb15a1bb749a570ed6313ee695b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "long message", + "key" : "3be95e879421ed7856269eef39a2070fae406cec5e30b50d92792df5a37de98595684eaa9205587ca607eeac8f96592f458f63434b7dc82596d3e4a1a16c3d59", + "msg" : "c64f7c970a441c6c503838a491308c783099eac52bd35a217978a64dcec84d34186ab3b74f20285d6fea2165eab4da3d2c", + "tag" : "4ea9e2f08870c30cb68d419816deb681cfd6ba62906e6b4a8088efcd9fa4edf9", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 105, + "comment" : "long message", + "key" : "b5eb53586b948587db3dd46c43ad65498a5079157562e4074c9c20d097d0c97f19db4661fb2dd11b87a5ccba2c345642618f561d00bf87dffc66762e45e0156f", + "msg" : "9e8ebf96429955d60b925a4111745ec7028de24e694a6d2eee1dbd5e820ab9f00beafde09f95095933a02f251297282b0cf67c518397655841f230e1d9ae5ba93150d4375dc7c0738b99850b07d5a442994e68dc813d55edefa6cd063ccb202711d97ba674efa02ddbdc692341e77cfa", + "tag" : "6a5b6272df7fb6315293ce22483511d700a83c34db6b0ee4398b4a770241fcf2", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "long message", + "key" : "fbc678235d596980268730a7aa8a3c25095f1dbcf7f830990716a510c44e62b1ae8ce095c65e1852bd8a09f25ab93415ae736f22b2c68ecdf3c0f71e15a057dc", + "msg" : "ef395738f2b3bd7a0649eea75e734e5c79baf21358c7ae96c63a58e260266c7bfa869664c5d10e87c26d0f5edb3b5f73900c1d9a96a5a2c2912506c19dff04e900b8d5d63e1bb606fe3d5a229b642b1ac59e08a4687a7aade3de16d183131ddd02da988ff826e88b74ba0c5c41cfcd8570cca59fb3304d588f7f7e63dad47a", + "tag" : "84df3338f502e65866cf2077f6776341a89dd2234961b474d5b7438d1836fd6b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 107, + "comment" : "long message", + "key" : "d8437b093e170afc30fb68d873db6dd67ee0372b6c5feb124d548abbd93304a082235a170a9d326268d0cfc34264d8ebcfcbcc0dc0ea7767b650dbcfc7848f91", + "msg" : "0fb91bb043cf3d49341482eacbab92da92117bb6ec03b518a93c9d59e54702c6a21ade4f255870cb52da4a24b36856b0cbf8b122d2fd5b0219aeacb6e292c95863921789092d5d65d5a9389231670e38be31d8b76630650c77edc23773d5ec9189915560ef6f45a4275f85957d8762916d8147ef43ea6f438d066227354df26c", + "tag" : "4b9b51f2c7d725269a5bd735d4251cbfda71ea5cf5c046379b439ddff766d21a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "long message", + "key" : "d29225e3042b43d4eb7a9399f224424b5b4dd99031c8abf609d3a6e3175897134cc7ba8a6be25d436d41a757a2daa4e1b03f7c3053ee8cada19531d48dab93e0", + "msg" : "1fdad8cd37e115ef8131d4619b5d61a9827a11b9c25c5b8220b002d5b7f6e2bc30a7e2f3d103dbcaf849a255c20ec5d1b40a623e398d76c5b7f07fe305181cd5bee29de3360fed55f69063e6a8fd2ef31291e4d7c3908449466b4ff1166959ff1f2e86eb48a7ed11bdcec2fc2dfb6684b36b8d0b68e0f1b23ef11bf5907d4a2b162cec26f31b6d5d9892a27b3fad7a5549858dad530bae193d9b60d42d7ad2a66476a3ba4bf7a27ff9d0f885a540bf181caad71a235eb348a23d053ba2db7aed8d7d01d96dc9f780e2e426c72bb63fcb3fff44c14bb7b0f8af3552d67ee6761092c757627d19c080499c247d13b431699397159b1b71c6274584959d5c30f0", + "tag" : "f9ad00420ce909cd050fdb84dcc70f00df97928968d0aca51db2784f0394898d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 109, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 110, + "comment" : "Flipped bit 0 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 111, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 112, + "comment" : "Flipped bit 1 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 113, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 114, + "comment" : "Flipped bit 7 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 115, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 116, + "comment" : "Flipped bit 8 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 117, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 118, + "comment" : "Flipped bit 31 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 119, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 120, + "comment" : "Flipped bit 32 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 121, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 122, + "comment" : "Flipped bit 33 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 123, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 124, + "comment" : "Flipped bit 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 125, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 126, + "comment" : "Flipped bit 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 127, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 128, + "comment" : "Flipped bit 71 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 129, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 130, + "comment" : "Flipped bit 77 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 131, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 132, + "comment" : "Flipped bit 80 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 133, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 134, + "comment" : "Flipped bit 96 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 135, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 136, + "comment" : "Flipped bit 97 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 137, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 138, + "comment" : "Flipped bit 103 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 139, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170363", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 140, + "comment" : "Flipped bit 248 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 141, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170360", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 142, + "comment" : "Flipped bit 249 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba1", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 143, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170322", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 144, + "comment" : "Flipped bit 254 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5be3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 145, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e11703e2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 146, + "comment" : "Flipped bit 255 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5b23", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 147, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 148, + "comment" : "Flipped bits 0 and 64 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 149, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 150, + "comment" : "Flipped bits 31 and 63 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 151, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 152, + "comment" : "Flipped bits 63 and 127 in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 153, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 154, + "comment" : "all bits of tag flipped", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 155, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 156, + "comment" : "Tag changed to all zero", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 157, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 158, + "comment" : "tag changed to all 1", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 159, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e2", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 160, + "comment" : "msbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb23", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 161, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "", + "tag" : "d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 162, + "comment" : "lsbs changed in tag", + "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "msg" : "000102030405060708090a0b0c0d0e0f", + "tag" : "be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2", + "result" : "invalid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 512, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 163, + "comment" : "short key", + "key" : "14d93759fc28f3319ab74b8167c974e800f032344dc2747ec0f4945061a47827", + "msg" : "", + "tag" : "68934dbe948d9a77a5e0a92ed98254fa3b6c93c8bf5eeaa912b7dfdf762b37192c5d8523bcab9ad71b09bf96d8454188d001c7f2077eb641199f5731b9f94669", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 164, + "comment" : "short key", + "key" : "9fa371f36fb273d514fd628cb938067a4bae32a19a1e045a7d6d7f6de3751cbf", + "msg" : "311bbf722d322cd7a0710f480fc66518", + "tag" : "16345f6a6ca6e78d4ccac30b48d76691d6442420efa113c15ef127b538b5b024018b7d2db4bc3ed3424251ab6b8b6c3cb108b0beda842dc3e68e63400287e5cd", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 165, + "comment" : "short key", + "key" : "6313f1526bc220f20dde1e64ced8597279586d1e15aad05ad591d841b369284f", + "msg" : "f744fa3933e16d8bf524afaeb34c715653a9cfb01fa45fe1fb68e701fe1487ca", + "tag" : "b88d1ba03e2799200a447550d18e310697a57974f513df77eb07bbe315ba5fef397eeb81ad9071680bcc6c70f6b252ade35b4a4040279ec01b86e40b98770e39", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 256, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 166, + "comment" : "short key", + "key" : "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", + "msg" : "", + "tag" : "23d482a05c907eeb346ba98f83db0f63c2adfbd5b2940f33c7964c7f1799f180", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 167, + "comment" : "short key", + "key" : "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "msg" : "aeed3e4d4cb9bbb60d482e98c126c0f5", + "tag" : "1cf9d2c9c1b55a45190b5beb590cd4cc95e3853df8aaf9f4fef9bbbbd72435ff", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 168, + "comment" : "short key", + "key" : "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "msg" : "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "tag" : "d127b7385badf0c76f2b3d8aa9c722333592e01f462fedd35ec664a6f6d52d74", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 512, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 169, + "comment" : "long key", + "key" : "dd1e0bdbb6b60862176484f3669da531455f1cd714f999c29f08b851055fee8d72186d376c236f4e16cba7a25cba879fb2753deca4459aaebc6f6de625d99af330", + "msg" : "", + "tag" : "7e4f7d844b3ba0e025b66de7cc6227bc50d4e174930251bfff3df36c3900b5b76b00095a896d0f96842e37b6134df40760307699534d6670f138974ee1c58d94", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 170, + "comment" : "long key", + "key" : "432b311ebcfd46ecfcd3cc706ebd05c787dfbe1855fdcfce8d50c9a00f72b65a8d42acec335b4e07d544c92fd7b1d38543ac6e0fc04c26d88de8dd974af69e24d7", + "msg" : "36b1fbe8f1335e7c0399c24730906420", + "tag" : "2cfb688f30b10534da9377a4b3fbee1dec161cb288ac8b758793838b45ab953979dadf27817f477c9ebf23cfdcbacb60b81038e08bc4fc3180bd2a1ee805976a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 171, + "comment" : "long key", + "key" : "17f720f09df5972af9b9c63e10043284608900d50b7955db3b4e2679cb4120be2c9b9e2aa1a5743eb519792822c326b4d890b5554d1cb0eb71081b7569a2f04df7", + "msg" : "57167c2524a55289687b83a40d3a69bc90adc53ad247020b88897f9b95d1516d", + "tag" : "4f70267b98fceb4f662901bd18fb4c81ac164281dd0ece43028a3c2a65ca213aedf1bd207f0939bd879bbe20fd09cdeb20246e6539766add08b3adc5143d2bd9", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "keySize" : 520, + "tagSize" : 256, + "type" : "MacTest", + "tests" : [ + { + "tcId" : 172, + "comment" : "long key", + "key" : "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd974e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "msg" : "", + "tag" : "e1657f44bf84895e6db0810a2cca61a6e105e12ec006f0b5961020301b57744e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 173, + "comment" : "long key", + "key" : "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fac55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "msg" : "ba448db88f154f775028fdecf9e6752d", + "tag" : "33d5a2d1998a586849eebf8134728485fcfc71248f4a98e622f83b967844c40e", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 174, + "comment" : "long key", + "key" : "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e5590e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "msg" : "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "tag" : "88d579c2801905b818070ccebd2c7192f97bb3e7acdcaf613cecc74d0e411232", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/nss/gtests/freebl_gtest/freebl_gtest.gyp b/nss/gtests/freebl_gtest/freebl_gtest.gyp index 98666c2..a376d42 100644 --- a/nss/gtests/freebl_gtest/freebl_gtest.gyp +++ b/nss/gtests/freebl_gtest/freebl_gtest.gyp @@ -31,6 +31,7 @@ 'type': 'executable', 'sources': [ 'blake2b_unittest.cc', + 'shake_unittest.cc', 'cmac_unittests.cc', 'dh_unittest.cc', 'ecl_unittest.cc', diff --git a/nss/gtests/freebl_gtest/shake_unittest.cc b/nss/gtests/freebl_gtest/shake_unittest.cc new file mode 100644 index 0000000..6dc4b32 --- /dev/null +++ b/nss/gtests/freebl_gtest/shake_unittest.cc @@ -0,0 +1,95 @@ +/* + * shake_unittest.cc - unittests for SHAKE-128 and SHAKE-256 XOFs + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "blapi.h" +#include "nspr.h" +#include "nss.h" +#include "secerr.h" + +#include +#include +#include + +#define GTEST_HAS_RTTI 0 +#include "gtest/gtest.h" + +template +struct ScopedDelete128 { + void operator()(T* ptr) { + if (ptr) { + SHAKE_128_DestroyContext(ptr, PR_TRUE); + } + } +}; + +template +struct ScopedDelete256 { + void operator()(T* ptr) { + if (ptr) { + SHAKE_256_DestroyContext(ptr, PR_TRUE); + } + } +}; + +typedef std::unique_ptr> + ScopedSHAKE_128Context; + +typedef std::unique_ptr> + ScopedSHAKE_256Context; + +class SHAKE_128Tests : public ::testing::Test {}; +class SHAKE_256Tests : public ::testing::Test {}; + +TEST_F(SHAKE_128Tests, TestVector1) { + ScopedSHAKE_128Context ctx(SHAKE_128_NewContext()); + ASSERT_TRUE(ctx) << "SHAKE_128_NewContext failed!"; + + std::vector digest(16); + SECStatus rv = SHAKE_128_Hash(digest.data(), 16, "abc"); + std::vector expected = {0x58, 0x81, 0x09, 0x2d, 0xd8, 0x18, + 0xbf, 0x5c, 0xf8, 0xa3, 0xdd, 0xb7, + 0x93, 0xfb, 0xcb, 0xa7}; + ASSERT_EQ(SECSuccess, rv); + EXPECT_EQ(expected, digest); +} + +TEST_F(SHAKE_128Tests, TestVector2) { + ScopedSHAKE_128Context ctx(SHAKE_128_NewContext()); + ASSERT_TRUE(ctx) << "SHAKE_128_NewContext failed!"; + + std::vector digest(8); + SECStatus rv = SHAKE_128_Hash(digest.data(), 8, "hello123"); + std::vector expected = {0x1b, 0x85, 0x86, 0x15, + 0x10, 0xbc, 0x4d, 0x8e}; + ASSERT_EQ(SECSuccess, rv); + EXPECT_EQ(expected, digest); +} + +TEST_F(SHAKE_256Tests, TestVector1) { + ScopedSHAKE_256Context ctx(SHAKE_256_NewContext()); + ASSERT_TRUE(ctx) << "SHAKE_256_NewContext failed!"; + + std::vector digest(16); + SECStatus rv = SHAKE_256_Hash(digest.data(), 16, "abc"); + std::vector expected = {0x48, 0x33, 0x66, 0x60, 0x13, 0x60, + 0xa8, 0x77, 0x1c, 0x68, 0x63, 0x08, + 0x0c, 0xc4, 0x11, 0x4d}; + ASSERT_EQ(SECSuccess, rv); + EXPECT_EQ(expected, digest); +} + +TEST_F(SHAKE_256Tests, TestVector2) { + ScopedSHAKE_256Context ctx(SHAKE_256_NewContext()); + ASSERT_TRUE(ctx) << "SHAKE_256_NewContext failed!"; + + std::vector digest(8); + SECStatus rv = SHAKE_256_Hash(digest.data(), 8, "hello123"); + std::vector expected = {0xad, 0xe6, 0x12, 0xba, + 0x26, 0x5f, 0x92, 0xde}; + ASSERT_EQ(SECSuccess, rv); + EXPECT_EQ(expected, digest); +} diff --git a/nss/gtests/pk11_gtest/pk11_hmac_unittest.cc b/nss/gtests/pk11_gtest/pk11_hmac_unittest.cc index 99aed44..39a4a57 100644 --- a/nss/gtests/pk11_gtest/pk11_hmac_unittest.cc +++ b/nss/gtests/pk11_gtest/pk11_hmac_unittest.cc @@ -17,6 +17,10 @@ #include "testvectors/hmac-sha256-vectors.h" #include "testvectors/hmac-sha384-vectors.h" #include "testvectors/hmac-sha512-vectors.h" +#include "testvectors/hmac-sha3-224-vectors.h" +#include "testvectors/hmac-sha3-256-vectors.h" +#include "testvectors/hmac-sha3-384-vectors.h" +#include "testvectors/hmac-sha3-512-vectors.h" #include "util.h" namespace nss_test { @@ -71,4 +75,20 @@ INSTANTIATE_TEST_SUITE_P( HmacSha512, Pkcs11HmacTest, ::testing::Combine(::testing::ValuesIn(kHmacSha512WycheproofVectors), ::testing::Values(CKM_SHA512_HMAC))); +INSTANTIATE_TEST_SUITE_P( + HmacSha3224, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha3224WycheproofVectors), + ::testing::Values(CKM_SHA3_224_HMAC))); +INSTANTIATE_TEST_SUITE_P( + HmacSha3256, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha3256WycheproofVectors), + ::testing::Values(CKM_SHA3_256_HMAC))); +INSTANTIATE_TEST_SUITE_P( + HmacSha3384, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha3384WycheproofVectors), + ::testing::Values(CKM_SHA3_384_HMAC))); +INSTANTIATE_TEST_SUITE_P( + HmacSha3512, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha3512WycheproofVectors), + ::testing::Values(CKM_SHA3_512_HMAC))); } // namespace nss_test diff --git a/nss/gtests/ssl_gtest/ssl_extension_unittest.cc b/nss/gtests/ssl_gtest/ssl_extension_unittest.cc index eb45e71..3996ecd 100644 --- a/nss/gtests/ssl_gtest/ssl_extension_unittest.cc +++ b/nss/gtests/ssl_gtest/ssl_extension_unittest.cc @@ -1359,9 +1359,9 @@ TEST_F(TlsConnectDatagram13, Dtls13RejectLegacyCookie) { TEST_P(TlsConnectGeneric, ClientHelloExtensionPermutation) { EnsureTlsSetup(); - PR_ASSERT(SSL_OptionSet(client_->ssl_fd(), - SSL_ENABLE_CH_EXTENSION_PERMUTATION, - PR_TRUE) == SECSuccess); + ASSERT_TRUE(SSL_OptionSet(client_->ssl_fd(), + SSL_ENABLE_CH_EXTENSION_PERMUTATION, + PR_TRUE) == SECSuccess); Connect(); } @@ -1385,9 +1385,9 @@ TEST_F(TlsConnectStreamTls13, ClientHelloExtensionPermutationWithPSK) { const SSLHashType kPskHash_ = ssl_hash_sha384; AddPsk(scoped_psk_, kPskDummyLabel_, kPskHash_); - PR_ASSERT(SSL_OptionSet(client_->ssl_fd(), - SSL_ENABLE_CH_EXTENSION_PERMUTATION, - PR_TRUE) == SECSuccess); + ASSERT_TRUE(SSL_OptionSet(client_->ssl_fd(), + SSL_ENABLE_CH_EXTENSION_PERMUTATION, + PR_TRUE) == SECSuccess); Connect(); SendReceive(); CheckKeys(ssl_kea_ecdh, ssl_grp_ec_curve25519, ssl_auth_psk, ssl_sig_none); diff --git a/nss/gtests/ssl_gtest/tls_ech_unittest.cc b/nss/gtests/ssl_gtest/tls_ech_unittest.cc index 1e70a6e..c557d76 100644 --- a/nss/gtests/ssl_gtest/tls_ech_unittest.cc +++ b/nss/gtests/ssl_gtest/tls_ech_unittest.cc @@ -2886,9 +2886,9 @@ TEST_F(TlsConnectStreamTls13Ech, EchPublicNameNotLdh) { TEST_F(TlsConnectStreamTls13, EchClientHelloExtensionPermutation) { EnsureTlsSetup(); - PR_ASSERT(SSL_OptionSet(client_->ssl_fd(), - SSL_ENABLE_CH_EXTENSION_PERMUTATION, - PR_TRUE) == SECSuccess); + ASSERT_TRUE(SSL_OptionSet(client_->ssl_fd(), + SSL_ENABLE_CH_EXTENSION_PERMUTATION, + PR_TRUE) == SECSuccess); SetupEch(client_, server_); client_->ExpectEch(); @@ -2898,11 +2898,11 @@ TEST_F(TlsConnectStreamTls13, EchClientHelloExtensionPermutation) { TEST_F(TlsConnectStreamTls13, EchGreaseClientHelloExtensionPermutation) { EnsureTlsSetup(); - PR_ASSERT(SSL_OptionSet(client_->ssl_fd(), - SSL_ENABLE_CH_EXTENSION_PERMUTATION, - PR_TRUE) == SECSuccess); - PR_ASSERT(SSL_EnableTls13GreaseEch(client_->ssl_fd(), PR_FALSE) == - SECSuccess); + ASSERT_TRUE(SSL_OptionSet(client_->ssl_fd(), + SSL_ENABLE_CH_EXTENSION_PERMUTATION, + PR_TRUE) == SECSuccess); + ASSERT_TRUE(SSL_EnableTls13GreaseEch(client_->ssl_fd(), PR_FALSE) == + SECSuccess); Connect(); } diff --git a/nss/gtests/ssl_gtest/tls_grease_unittest.cc b/nss/gtests/ssl_gtest/tls_grease_unittest.cc index c89c41b..5c03c86 100644 --- a/nss/gtests/ssl_gtest/tls_grease_unittest.cc +++ b/nss/gtests/ssl_gtest/tls_grease_unittest.cc @@ -851,11 +851,11 @@ TEST_P(GreaseTestStreamTls13, GreasedClientCertificateExtensions) { TEST_F(TlsConnectStreamTls13, GreaseClientHelloExtensionPermutation) { EnsureTlsSetup(); - PR_ASSERT(SSL_OptionSet(client_->ssl_fd(), - SSL_ENABLE_CH_EXTENSION_PERMUTATION, - PR_TRUE) == SECSuccess); - PR_ASSERT(SSL_OptionSet(client_->ssl_fd(), SSL_ENABLE_GREASE, PR_TRUE) == - SECSuccess); + ASSERT_TRUE(SSL_OptionSet(client_->ssl_fd(), + SSL_ENABLE_CH_EXTENSION_PERMUTATION, + PR_TRUE) == SECSuccess); + ASSERT_TRUE(SSL_OptionSet(client_->ssl_fd(), SSL_ENABLE_GREASE, PR_TRUE) == + SECSuccess); Connect(); } diff --git a/nss/lib/ckfw/builtins/certdata.txt b/nss/lib/ckfw/builtins/certdata.txt index f604b26..dd113ae 100644 --- a/nss/lib/ckfw/builtins/certdata.txt +++ b/nss/lib/ckfw/builtins/certdata.txt @@ -1766,173 +1766,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -# -# Certificate "Camerfirma Chambers of Commerce Root" -# -# Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Serial Number: 0 (0x0) -# Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Not Valid Before: Tue Sep 30 16:13:43 2003 -# Not Valid After : Wed Sep 30 16:13:44 2037 -# Fingerprint (SHA-256): 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3 -# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047 -\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145 -\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070 -\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013 -\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141 -\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060\040 -\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163\040 -\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157\164 -\060\036\027\015\060\063\060\071\063\060\061\066\061\063\064\063 -\132\027\015\063\067\060\071\063\060\061\066\061\063\064\064\132 -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164\060\202\001\040\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\015\000\060\202\001\010\002\202\001 -\001\000\267\066\125\345\245\135\030\060\340\332\211\124\221\374 -\310\307\122\370\057\120\331\357\261\165\163\145\107\175\033\133 -\272\165\305\374\241\210\044\372\057\355\312\010\112\071\124\304 -\121\172\265\332\140\352\070\074\201\262\313\361\273\331\221\043 -\077\110\001\160\165\251\005\052\255\037\161\363\311\124\075\035 -\006\152\100\076\263\014\205\356\134\033\171\302\142\304\270\066 -\216\065\135\001\014\043\004\107\065\252\233\140\116\240\146\075 -\313\046\012\234\100\241\364\135\230\277\161\253\245\000\150\052 -\355\203\172\017\242\024\265\324\042\263\200\260\074\014\132\121 -\151\055\130\030\217\355\231\236\361\256\342\225\346\366\107\250 -\326\014\017\260\130\130\333\303\146\067\236\233\221\124\063\067 -\322\224\034\152\110\311\311\362\245\332\245\014\043\367\043\016 -\234\062\125\136\161\234\204\005\121\232\055\375\346\116\052\064 -\132\336\312\100\067\147\014\124\041\125\167\332\012\014\314\227 -\256\200\334\224\066\112\364\076\316\066\023\036\123\344\254\116 -\072\005\354\333\256\162\234\070\213\320\071\073\211\012\076\167 -\376\165\002\001\003\243\202\001\104\060\202\001\100\060\022\006 -\003\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001 -\014\060\074\006\003\125\035\037\004\065\060\063\060\061\240\057 -\240\055\206\053\150\164\164\160\072\057\057\143\162\154\056\143 -\150\141\155\142\145\162\163\151\147\156\056\157\162\147\057\143 -\150\141\155\142\145\162\163\162\157\157\164\056\143\162\154\060 -\035\006\003\125\035\016\004\026\004\024\343\224\365\261\115\351 -\333\241\051\133\127\213\115\166\006\166\341\321\242\212\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021 -\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000 -\007\060\047\006\003\125\035\021\004\040\060\036\201\034\143\150 -\141\155\142\145\162\163\162\157\157\164\100\143\150\141\155\142 -\145\162\163\151\147\156\056\157\162\147\060\047\006\003\125\035 -\022\004\040\060\036\201\034\143\150\141\155\142\145\162\163\162 -\157\157\164\100\143\150\141\155\142\145\162\163\151\147\156\056 -\157\162\147\060\130\006\003\125\035\040\004\121\060\117\060\115 -\006\013\053\006\001\004\001\201\207\056\012\003\001\060\076\060 -\074\006\010\053\006\001\005\005\007\002\001\026\060\150\164\164 -\160\072\057\057\143\160\163\056\143\150\141\155\142\145\162\163 -\151\147\156\056\157\162\147\057\143\160\163\057\143\150\141\155 -\142\145\162\163\162\157\157\164\056\150\164\155\154\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 -\000\014\101\227\302\032\206\300\042\174\237\373\220\363\032\321 -\003\261\357\023\371\041\137\004\234\332\311\245\215\047\154\226 -\207\221\276\101\220\001\162\223\347\036\175\137\366\211\306\135 -\247\100\011\075\254\111\105\105\334\056\215\060\150\262\011\272 -\373\303\057\314\272\013\337\077\167\173\106\175\072\022\044\216 -\226\217\074\005\012\157\322\224\050\035\155\014\300\056\210\042 -\325\330\317\035\023\307\360\110\327\327\005\247\317\307\107\236 -\073\074\064\310\200\117\324\024\273\374\015\120\367\372\263\354 -\102\137\251\335\155\310\364\165\317\173\301\162\046\261\001\034 -\134\054\375\172\116\264\001\305\005\127\271\347\074\252\005\331 -\210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312 -\327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064 -\170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110 -\132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335 -\250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356 -\264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370 -\334 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -# For Email Distrust After: Mon Mar 01 00:00:00 2021 -CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL -\062\061\060\063\060\061\060\060\060\060\060\060\132 -END - -# Trust for "Camerfirma Chambers of Commerce Root" -# Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Serial Number: 0 (0x0) -# Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Not Valid Before: Tue Sep 30 16:13:43 2003 -# Not Valid After : Wed Sep 30 16:13:44 2037 -# Fingerprint (SHA-256): 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3 -# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\156\072\125\244\031\014\031\134\223\204\074\300\333\162\056\061 -\060\141\360\261 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\260\001\356\024\331\257\051\030\224\166\216\361\151\063\052\204 -END -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - # # Certificate "XRamp Global CA Root" # @@ -4447,133 +4280,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -# -# Certificate "Hongkong Post Root CA 1" -# -# Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Serial Number: 1000 (0x3e8) -# Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Not Valid Before: Thu May 15 05:13:14 2003 -# Not Valid After : Mon May 15 04:52:29 2023 -# Fingerprint (SHA-256): F9:E6:7D:33:6C:51:00:2A:C0:54:C6:32:02:2D:66:DD:A2:E7:E3:FF:F1:0A:D0:61:ED:31:D8:BB:B4:10:CF:B2 -# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hongkong Post Root CA 1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\003\350 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\060\060\202\002\030\240\003\002\001\002\002\002\003 -\350\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061\060\036\027\015\060\063\060 -\065\061\065\060\065\061\063\061\064\132\027\015\062\063\060\065 -\061\065\060\064\065\062\062\071\132\060\107\061\013\060\011\006 -\003\125\004\006\023\002\110\113\061\026\060\024\006\003\125\004 -\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164 -\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153 -\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101 -\040\061\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\254\377\070\266\351\146\002\111\343\242\264\341\220 -\371\100\217\171\371\342\275\171\376\002\275\356\044\222\035\042 -\366\332\205\162\151\376\327\077\011\324\335\221\265\002\234\320 -\215\132\341\125\303\120\206\271\051\046\302\343\331\240\361\151 -\003\050\040\200\105\042\055\126\247\073\124\225\126\042\131\037 -\050\337\037\040\075\155\242\066\276\043\240\261\156\265\261\047 -\077\071\123\011\352\253\152\350\164\262\302\145\134\216\277\174 -\303\170\204\315\236\026\374\365\056\117\040\052\010\237\167\363 -\305\036\304\232\122\146\036\110\136\343\020\006\217\042\230\341 -\145\216\033\135\043\146\073\270\245\062\121\310\206\252\241\251 -\236\177\166\224\302\246\154\267\101\360\325\310\006\070\346\324 -\014\342\363\073\114\155\120\214\304\203\047\301\023\204\131\075 -\236\165\164\266\330\002\136\072\220\172\300\102\066\162\354\152 -\115\334\357\304\000\337\023\030\127\137\046\170\310\326\012\171 -\167\277\367\257\267\166\271\245\013\204\027\135\020\352\157\341 -\253\225\021\137\155\074\243\134\115\203\133\362\263\031\212\200 -\213\013\207\002\003\001\000\001\243\046\060\044\060\022\006\003 -\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\003 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\306 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\016\106\325\074\256\342\207\331\136\201\213\002 -\230\101\010\214\114\274\332\333\356\047\033\202\347\152\105\354 -\026\213\117\205\240\363\262\160\275\132\226\272\312\156\155\356 -\106\213\156\347\052\056\226\263\031\063\353\264\237\250\262\067 -\356\230\250\227\266\056\266\147\047\324\246\111\375\034\223\145 -\166\236\102\057\334\042\154\232\117\362\132\025\071\261\161\327 -\053\121\350\155\034\230\300\331\052\364\241\202\173\325\311\101 -\242\043\001\164\070\125\213\017\271\056\147\242\040\004\067\332 -\234\013\323\027\041\340\217\227\171\064\157\204\110\002\040\063 -\033\346\064\104\237\221\160\364\200\136\204\103\302\051\322\154 -\022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105 -\237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203 -\133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116 -\174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321 -\034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206 -\237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342 -\002\153\331\132 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE - -# Trust for "Hongkong Post Root CA 1" -# Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Serial Number: 1000 (0x3e8) -# Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Not Valid Before: Thu May 15 05:13:14 2003 -# Not Valid After : Mon May 15 04:52:29 2023 -# Fingerprint (SHA-256): F9:E6:7D:33:6C:51:00:2A:C0:54:C6:32:02:2D:66:DD:A2:E7:E3:FF:F1:0A:D0:61:ED:31:D8:BB:B4:10:CF:B2 -# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hongkong Post Root CA 1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\326\332\250\040\215\011\322\025\115\044\265\057\313\064\156\262 -\130\262\212\130 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\250\015\157\071\170\271\103\155\167\102\155\230\132\314\043\312 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\003\350 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - # # Certificate "SecureSign RootCA11" # @@ -8943,203 +8649,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -# -# Certificate "E-Tugra Certification Authority" -# -# Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Serial Number:6a:68:3e:9c:51:9b:cb:53 -# Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Not Valid Before: Tue Mar 05 12:09:48 2013 -# Not Valid After : Fri Mar 03 12:09:48 2023 -# Fingerprint (SHA-256): B0:BF:D5:2B:B0:D7:D9:BD:92:BF:5D:4D:C1:3D:A2:55:C0:2C:54:2F:37:83:65:EA:89:39:11:F5:5E:55:F2:3C -# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 -\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 -\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 -\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 -\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 -\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 -\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 -\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 -\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 -\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 -\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 -\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 -\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 -\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 -\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 -\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 -\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\152\150\076\234\121\233\313\123 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\113\060\202\004\063\240\003\002\001\002\002\010\152 -\150\076\234\121\233\313\123\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\201\262\061\013\060\011\006\003\125 -\004\006\023\002\124\122\061\017\060\015\006\003\125\004\007\014 -\006\101\156\153\141\162\141\061\100\060\076\006\003\125\004\012 -\014\067\105\055\124\165\304\237\162\141\040\105\102\107\040\102 -\151\154\151\305\237\151\155\040\124\145\153\156\157\154\157\152 -\151\154\145\162\151\040\166\145\040\110\151\172\155\145\164\154 -\145\162\151\040\101\056\305\236\056\061\046\060\044\006\003\125 -\004\013\014\035\105\055\124\165\147\162\141\040\123\145\162\164 -\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145\172 -\151\061\050\060\046\006\003\125\004\003\014\037\105\055\124\165 -\147\162\141\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\061 -\063\060\063\060\065\061\062\060\071\064\070\132\027\015\062\063 -\060\063\060\063\061\062\060\071\064\070\132\060\201\262\061\013 -\060\011\006\003\125\004\006\023\002\124\122\061\017\060\015\006 -\003\125\004\007\014\006\101\156\153\141\162\141\061\100\060\076 -\006\003\125\004\012\014\067\105\055\124\165\304\237\162\141\040 -\105\102\107\040\102\151\154\151\305\237\151\155\040\124\145\153 -\156\157\154\157\152\151\154\145\162\151\040\166\145\040\110\151 -\172\155\145\164\154\145\162\151\040\101\056\305\236\056\061\046 -\060\044\006\003\125\004\013\014\035\105\055\124\165\147\162\141 -\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040\115 -\145\162\153\145\172\151\061\050\060\046\006\003\125\004\003\014 -\037\105\055\124\165\147\162\141\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\342\365\077\223\005\121\036\205\142\124\136\172\013\365\030 -\007\203\256\176\257\174\367\324\212\153\245\143\103\071\271\113 -\367\303\306\144\211\075\224\056\124\200\122\071\071\007\113\113 -\335\205\007\166\207\314\277\057\225\114\314\175\247\075\274\107 -\017\230\160\370\214\205\036\164\216\222\155\033\100\321\231\015 -\273\165\156\310\251\153\232\300\204\061\257\312\103\313\353\053 -\064\350\217\227\153\001\233\325\016\112\010\252\133\222\164\205 -\103\323\200\256\241\210\133\256\263\352\136\313\026\232\167\104 -\310\241\366\124\150\316\336\217\227\053\272\133\100\002\014\144 -\027\300\265\223\315\341\361\023\146\316\014\171\357\321\221\050 -\253\137\240\022\122\060\163\031\216\217\341\214\007\242\303\273 -\112\360\352\037\025\250\356\045\314\244\106\370\033\042\357\263 -\016\103\272\054\044\270\305\054\134\324\034\370\135\144\275\303 -\223\136\050\247\077\047\361\216\036\323\052\120\005\243\125\331 -\313\347\071\123\300\230\236\214\124\142\213\046\260\367\175\215 -\174\344\306\236\146\102\125\202\107\347\262\130\215\146\367\007 -\174\056\066\346\120\034\077\333\103\044\305\277\206\107\171\263 -\171\034\367\132\364\023\354\154\370\077\342\131\037\225\356\102 -\076\271\255\250\062\205\111\227\106\376\113\061\217\132\313\255 -\164\107\037\351\221\267\337\050\004\042\240\324\017\135\342\171 -\117\352\154\205\206\275\250\246\316\344\372\303\341\263\256\336 -\074\121\356\313\023\174\001\177\204\016\135\121\224\236\023\014 -\266\056\245\114\371\071\160\066\157\226\312\056\014\104\125\305 -\312\372\135\002\243\337\326\144\214\132\263\001\012\251\265\012 -\107\027\377\357\221\100\052\216\241\106\072\061\230\345\021\374 -\314\273\111\126\212\374\271\320\141\232\157\145\154\346\303\313 -\076\165\111\376\217\247\342\211\305\147\327\235\106\023\116\061 -\166\073\044\263\236\021\145\206\253\177\357\035\324\370\274\347 -\254\132\134\267\132\107\134\125\316\125\264\042\161\133\133\013 -\360\317\334\240\141\144\352\251\327\150\012\143\247\340\015\077 -\240\257\323\252\322\176\357\121\240\346\121\053\125\222\025\027 -\123\313\267\146\016\146\114\370\371\165\114\220\347\022\160\307 -\105\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035 -\016\004\026\004\024\056\343\333\262\111\320\234\124\171\134\372 -\047\052\376\314\116\322\350\116\124\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035 -\043\004\030\060\026\200\024\056\343\333\262\111\320\234\124\171 -\134\372\047\052\376\314\116\322\350\116\124\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\005 -\067\072\364\115\267\105\342\105\165\044\217\266\167\122\350\034 -\330\020\223\145\363\362\131\006\244\076\036\051\354\135\321\320 -\253\174\340\012\220\110\170\355\116\230\003\231\376\050\140\221 -\035\060\035\270\143\174\250\346\065\265\372\323\141\166\346\326 -\007\113\312\151\232\262\204\172\167\223\105\027\025\237\044\320 -\230\023\022\377\273\240\056\375\116\114\207\370\316\134\252\230 -\033\005\340\000\106\112\202\200\245\063\213\050\334\355\070\323 -\337\345\076\351\376\373\131\335\141\204\117\322\124\226\023\141 -\023\076\217\200\151\276\223\107\265\065\103\322\132\273\075\134 -\357\263\102\107\315\073\125\023\006\260\011\333\375\143\366\072 -\210\012\231\157\176\341\316\033\123\152\104\146\043\121\010\173 -\274\133\122\242\375\006\067\070\100\141\217\112\226\270\220\067 -\370\146\307\170\220\000\025\056\213\255\121\065\123\007\250\153 -\150\256\371\116\074\007\046\315\010\005\160\314\071\077\166\275 -\245\323\147\046\001\206\246\123\322\140\073\174\103\177\125\212 -\274\225\032\301\050\071\114\037\103\322\221\364\162\131\212\271 -\126\374\077\264\235\332\160\234\166\132\214\103\120\356\216\060 -\162\115\337\377\111\367\306\251\147\331\155\254\002\021\342\072 -\026\045\247\130\010\313\157\123\101\234\110\070\107\150\063\321 -\327\307\217\324\164\041\324\303\005\220\172\377\316\226\210\261 -\025\051\135\043\253\320\140\241\022\117\336\364\027\315\062\345 -\311\277\310\103\255\375\056\216\361\257\342\364\230\372\022\037 -\040\330\300\247\014\205\305\220\364\073\055\226\046\261\054\276 -\114\253\353\261\322\212\311\333\170\023\017\036\011\235\155\217 -\000\237\002\332\301\372\037\172\172\011\304\112\346\210\052\227 -\237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013 -\264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103 -\313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373 -\176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147 -\015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035 -\064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073 -\243\253\157\134\035\266\176\350\263\202\064\355\006\134\044 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE - -# Trust for "E-Tugra Certification Authority" -# Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Serial Number:6a:68:3e:9c:51:9b:cb:53 -# Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Not Valid Before: Tue Mar 05 12:09:48 2013 -# Not Valid After : Fri Mar 03 12:09:48 2023 -# Fingerprint (SHA-256): B0:BF:D5:2B:B0:D7:D9:BD:92:BF:5D:4D:C1:3D:A2:55:C0:2C:54:2F:37:83:65:EA:89:39:11:F5:5E:55:F2:3C -# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\121\306\347\010\111\006\156\363\222\324\134\240\015\155\243\142 -\217\303\122\071 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\270\241\003\143\260\275\041\161\160\212\157\023\072\273\171\111 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 -\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 -\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 -\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 -\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 -\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 -\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 -\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 -\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\152\150\076\234\121\233\313\123 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - # # Certificate "T-TeleSec GlobalRoot Class 2" # @@ -23336,323 +22845,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -# -# Certificate "E-Tugra Global Root CA RSA v3" -# -# Issuer: CN=E-Tugra Global Root CA RSA v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Serial Number:0d:4d:c5:cd:16:22:95:96:08:7e:b8:0b:7f:15:06:34:fb:79:10:34 -# Subject: CN=E-Tugra Global Root CA RSA v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Not Valid Before: Wed Mar 18 09:07:17 2020 -# Not Valid After : Sun Mar 12 09:07:17 2045 -# Fingerprint (SHA-256): EF:66:B0:B1:0A:3C:DB:9F:2E:36:48:C7:6B:D2:AF:18:EA:D2:BF:E6:F1:17:65:5E:28:C4:06:0D:A1:A3:F4:C2 -# Fingerprint (SHA1): E9:A8:5D:22:14:52:1C:5B:AA:0A:B4:BE:24:6A:23:8A:C9:BA:E2:A9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Global Root CA RSA v3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162 -\141\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165 -\147\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033 -\006\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124 -\162\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006 -\003\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154 -\157\142\141\154\040\122\157\157\164\040\103\101\040\122\123\101 -\040\166\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162 -\141\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165 -\147\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033 -\006\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124 -\162\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006 -\003\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154 -\157\142\141\154\040\122\157\157\164\040\103\101\040\122\123\101 -\040\166\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\015\115\305\315\026\042\225\226\010\176\270\013\177\025 -\006\064\373\171\020\064 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\363\060\202\003\333\240\003\002\001\002\002\024\015 -\115\305\315\026\042\225\226\010\176\270\013\177\025\006\064\373 -\171\020\064\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\201\200\061\013\060\011\006\003\125\004\006\023\002 -\124\122\061\017\060\015\006\003\125\004\007\023\006\101\156\153 -\141\162\141\061\031\060\027\006\003\125\004\012\023\020\105\055 -\124\165\147\162\141\040\105\102\107\040\101\056\123\056\061\035 -\060\033\006\003\125\004\013\023\024\105\055\124\165\147\162\141 -\040\124\162\165\163\164\040\103\145\156\164\145\162\061\046\060 -\044\006\003\125\004\003\023\035\105\055\124\165\147\162\141\040 -\107\154\157\142\141\154\040\122\157\157\164\040\103\101\040\122 -\123\101\040\166\063\060\036\027\015\062\060\060\063\061\070\060 -\071\060\067\061\067\132\027\015\064\065\060\063\061\062\060\071 -\060\067\061\067\132\060\201\200\061\013\060\011\006\003\125\004 -\006\023\002\124\122\061\017\060\015\006\003\125\004\007\023\006 -\101\156\153\141\162\141\061\031\060\027\006\003\125\004\012\023 -\020\105\055\124\165\147\162\141\040\105\102\107\040\101\056\123 -\056\061\035\060\033\006\003\125\004\013\023\024\105\055\124\165 -\147\162\141\040\124\162\165\163\164\040\103\145\156\164\145\162 -\061\046\060\044\006\003\125\004\003\023\035\105\055\124\165\147 -\162\141\040\107\154\157\142\141\154\040\122\157\157\164\040\103 -\101\040\122\123\101\040\166\063\060\202\002\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 -\060\202\002\012\002\202\002\001\000\242\146\360\211\267\162\173 -\356\011\311\143\322\323\103\335\136\303\246\204\070\112\361\215 -\201\273\024\275\107\350\100\027\363\075\303\170\105\162\246\056 -\220\336\232\072\324\040\161\312\274\237\035\113\227\012\307\061 -\272\076\327\376\045\251\052\216\066\364\321\057\307\267\251\135 -\063\334\060\160\370\100\154\113\262\246\061\141\321\064\074\075 -\061\172\307\257\304\247\247\204\341\227\244\350\113\366\027\174 -\356\074\007\355\342\212\127\334\266\373\370\103\045\120\352\047 -\201\250\206\274\217\122\112\226\072\140\032\226\273\375\163\364 -\205\375\203\375\177\204\155\064\154\177\152\267\113\001\003\277 -\255\151\267\327\062\331\365\127\152\351\206\202\076\245\146\061 -\263\026\075\302\363\046\140\062\323\122\036\260\154\244\067\076 -\364\365\257\353\341\337\200\006\317\052\101\347\146\011\341\113 -\227\347\167\275\041\155\051\266\147\303\055\176\355\326\171\145 -\321\317\072\266\321\261\136\126\141\120\172\132\316\116\120\061 -\200\003\230\107\347\344\030\174\104\132\306\244\263\073\306\306 -\303\072\360\154\303\213\310\244\221\005\363\365\331\266\252\006 -\241\267\253\344\261\352\041\024\134\203\244\374\377\266\120\323 -\214\022\046\231\166\160\351\300\017\246\164\374\273\320\033\170 -\316\162\222\342\050\234\274\346\351\011\330\072\323\211\346\276 -\056\167\337\001\012\157\226\366\345\215\074\115\122\166\032\126 -\341\163\176\027\254\075\255\154\243\122\022\030\160\346\200\116 -\063\362\176\046\062\254\005\215\070\244\346\166\074\237\020\151 -\016\155\235\322\301\171\040\153\133\317\063\215\321\224\166\065 -\347\135\125\307\267\254\050\253\106\314\347\073\041\265\012\012 -\344\112\131\334\201\065\113\104\225\022\012\147\245\241\377\133 -\000\007\322\300\314\371\077\374\237\063\362\000\370\214\154\207 -\235\006\055\361\357\343\346\006\372\305\146\023\133\374\120\007 -\236\161\206\262\332\157\164\060\317\223\123\350\334\042\326\336 -\040\037\141\215\243\056\243\170\062\220\154\334\254\062\265\005 -\344\365\074\063\015\326\340\207\167\027\114\235\260\330\011\250 -\015\127\367\104\205\360\310\004\276\134\135\132\343\027\216\124 -\143\151\177\111\164\144\005\214\243\002\003\001\000\001\243\143 -\060\141\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\037\006\003\125\035\043\004\030\060\026\200\024 -\262\264\256\346\055\367\046\325\252\165\055\166\113\300\033\123 -\041\320\110\357\060\035\006\003\125\035\016\004\026\004\024\262 -\264\256\346\055\367\046\325\252\165\055\166\113\300\033\123\041 -\320\110\357\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\002\001\000\211\250\162\177\214\353\316\056\030 -\304\020\200\055\020\014\377\373\024\315\004\340\024\074\116\232 -\373\237\051\277\042\236\127\271\202\163\022\143\046\265\314\220 -\351\322\052\051\356\234\055\314\054\231\276\105\047\344\261\161 -\355\344\070\225\061\101\362\175\172\143\170\337\312\066\026\057 -\202\210\237\274\021\107\117\166\115\310\055\216\353\337\055\174 -\116\073\332\256\366\343\332\135\024\246\256\350\205\104\235\006 -\156\216\373\357\172\112\152\055\053\050\030\376\277\220\054\165 -\026\237\017\352\226\175\005\356\233\023\245\104\154\370\003\320 -\335\043\341\375\003\022\022\010\364\030\064\263\340\067\013\167 -\021\001\110\277\141\264\265\370\031\331\313\115\352\243\214\357 -\375\360\006\265\155\222\364\112\141\120\204\355\354\111\323\344 -\276\150\346\056\343\061\013\124\013\032\222\326\202\330\266\242 -\145\074\146\004\371\125\332\154\373\333\265\024\146\115\224\203 -\073\315\036\246\053\262\376\167\100\206\253\347\337\012\311\375 -\366\335\207\126\030\330\260\054\125\140\226\372\010\176\122\220 -\365\113\246\056\207\174\313\040\333\006\076\240\135\003\167\175 -\242\074\023\033\051\242\023\125\240\075\024\042\257\157\270\320 -\232\033\162\335\005\001\215\206\140\277\244\147\356\265\245\015 -\321\177\346\032\053\142\146\303\007\272\347\240\110\034\070\303 -\351\105\373\247\177\374\355\002\150\032\312\167\022\167\246\000 -\125\050\024\354\326\307\022\242\033\145\102\351\221\350\313\076 -\207\211\124\135\331\257\235\227\234\151\347\012\377\017\132\170 -\213\143\052\114\175\107\224\077\336\113\351\123\320\060\361\305 -\366\236\111\337\073\240\221\243\243\376\315\130\314\352\337\257 -\157\050\073\240\151\233\217\354\254\256\053\124\235\233\004\261 -\107\040\257\226\022\076\143\224\035\004\347\056\273\206\307\014 -\232\210\277\166\107\357\367\260\013\227\146\322\104\317\140\122 -\007\341\325\054\112\072\047\141\167\312\327\217\347\207\016\060 -\377\014\273\004\342\141\303\242\310\227\141\216\264\060\152\074 -\155\302\007\137\112\163\057\077\371\026\212\001\146\357\272\221 -\312\122\127\173\256\324\346\017\335\013\172\177\213\236\046\040 -\317\073\357\201\161\203\131 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE - -# Trust for "E-Tugra Global Root CA RSA v3" -# Issuer: CN=E-Tugra Global Root CA RSA v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Serial Number:0d:4d:c5:cd:16:22:95:96:08:7e:b8:0b:7f:15:06:34:fb:79:10:34 -# Subject: CN=E-Tugra Global Root CA RSA v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Not Valid Before: Wed Mar 18 09:07:17 2020 -# Not Valid After : Sun Mar 12 09:07:17 2045 -# Fingerprint (SHA-256): EF:66:B0:B1:0A:3C:DB:9F:2E:36:48:C7:6B:D2:AF:18:EA:D2:BF:E6:F1:17:65:5E:28:C4:06:0D:A1:A3:F4:C2 -# Fingerprint (SHA1): E9:A8:5D:22:14:52:1C:5B:AA:0A:B4:BE:24:6A:23:8A:C9:BA:E2:A9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Global Root CA RSA v3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\351\250\135\042\024\122\034\133\252\012\264\276\044\152\043\212 -\311\272\342\251 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\042\276\020\366\302\370\003\210\163\137\063\051\107\050\107\244 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162 -\141\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165 -\147\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033 -\006\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124 -\162\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006 -\003\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154 -\157\142\141\154\040\122\157\157\164\040\103\101\040\122\123\101 -\040\166\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\015\115\305\315\026\042\225\226\010\176\270\013\177\025 -\006\064\373\171\020\064 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "E-Tugra Global Root CA ECC v3" -# -# Issuer: CN=E-Tugra Global Root CA ECC v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Serial Number:26:46:19:77:31:e1:4f:6f:28:36:de:39:51:86:e6:d4:97:88:22:c1 -# Subject: CN=E-Tugra Global Root CA ECC v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Not Valid Before: Wed Mar 18 09:46:58 2020 -# Not Valid After : Sun Mar 12 09:46:58 2045 -# Fingerprint (SHA-256): 87:3F:46:85:FA:7F:56:36:25:25:2E:6D:36:BC:D7:F1:6F:C2:49:51:F2:64:E4:7E:1B:95:4F:49:08:CD:CA:13 -# Fingerprint (SHA1): 8A:2F:AF:57:53:B1:B0:E6:A1:04:EC:5B:6A:69:71:6D:F6:1C:E2:84 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Global Root CA ECC v3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162 -\141\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165 -\147\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033 -\006\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124 -\162\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006 -\003\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154 -\157\142\141\154\040\122\157\157\164\040\103\101\040\105\103\103 -\040\166\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162 -\141\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165 -\147\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033 -\006\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124 -\162\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006 -\003\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154 -\157\142\141\154\040\122\157\157\164\040\103\101\040\105\103\103 -\040\166\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\046\106\031\167\061\341\117\157\050\066\336\071\121\206 -\346\324\227\210\042\301 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\245\060\202\002\052\240\003\002\001\002\002\024\046 -\106\031\167\061\341\117\157\050\066\336\071\121\206\346\324\227 -\210\042\301\060\012\006\010\052\206\110\316\075\004\003\003\060 -\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122\061 -\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162\141 -\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165\147 -\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033\006 -\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124\162 -\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006\003 -\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154\157 -\142\141\154\040\122\157\157\164\040\103\101\040\105\103\103\040 -\166\063\060\036\027\015\062\060\060\063\061\070\060\071\064\066 -\065\070\132\027\015\064\065\060\063\061\062\060\071\064\066\065 -\070\132\060\201\200\061\013\060\011\006\003\125\004\006\023\002 -\124\122\061\017\060\015\006\003\125\004\007\023\006\101\156\153 -\141\162\141\061\031\060\027\006\003\125\004\012\023\020\105\055 -\124\165\147\162\141\040\105\102\107\040\101\056\123\056\061\035 -\060\033\006\003\125\004\013\023\024\105\055\124\165\147\162\141 -\040\124\162\165\163\164\040\103\145\156\164\145\162\061\046\060 -\044\006\003\125\004\003\023\035\105\055\124\165\147\162\141\040 -\107\154\157\142\141\154\040\122\157\157\164\040\103\101\040\105 -\103\103\040\166\063\060\166\060\020\006\007\052\206\110\316\075 -\002\001\006\005\053\201\004\000\042\003\142\000\004\216\230\051 -\277\307\020\036\047\333\253\003\314\050\054\330\136\110\031\020 -\051\314\313\131\201\314\214\270\222\027\211\203\052\222\366\303 -\244\035\114\142\325\237\326\240\106\334\034\274\166\301\343\107 -\320\133\023\332\347\245\263\146\110\347\041\232\112\117\206\012 -\175\154\352\115\062\200\012\262\172\011\233\151\113\230\201\342 -\056\354\002\160\226\037\375\365\106\316\312\334\202\243\143\060 -\141\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\037\006\003\125\035\043\004\030\060\026\200\024\377 -\202\061\162\076\371\304\146\154\255\070\236\321\260\121\210\245 -\220\314\365\060\035\006\003\125\035\016\004\026\004\024\377\202 -\061\162\076\371\304\146\154\255\070\236\321\260\121\210\245\220 -\314\365\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\006\060\012\006\010\052\206\110\316\075\004\003\003\003\151 -\000\060\146\002\061\000\346\005\130\151\141\345\055\312\015\313 -\361\031\010\275\326\375\121\222\032\176\143\124\004\220\221\232 -\065\221\071\231\372\007\251\146\223\272\310\150\324\212\077\372 -\355\156\026\002\047\267\002\061\000\335\132\027\053\166\035\145 -\102\226\246\254\135\212\171\126\330\212\033\337\232\336\137\307 -\120\217\261\133\161\014\046\337\152\100\000\354\063\221\041\161 -\276\150\344\043\244\331\255\241\067 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE - -# Trust for "E-Tugra Global Root CA ECC v3" -# Issuer: CN=E-Tugra Global Root CA ECC v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Serial Number:26:46:19:77:31:e1:4f:6f:28:36:de:39:51:86:e6:d4:97:88:22:c1 -# Subject: CN=E-Tugra Global Root CA ECC v3,OU=E-Tugra Trust Center,O=E-Tugra EBG A.S.,L=Ankara,C=TR -# Not Valid Before: Wed Mar 18 09:46:58 2020 -# Not Valid After : Sun Mar 12 09:46:58 2045 -# Fingerprint (SHA-256): 87:3F:46:85:FA:7F:56:36:25:25:2E:6D:36:BC:D7:F1:6F:C2:49:51:F2:64:E4:7E:1B:95:4F:49:08:CD:CA:13 -# Fingerprint (SHA1): 8A:2F:AF:57:53:B1:B0:E6:A1:04:EC:5B:6A:69:71:6D:F6:1C:E2:84 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Global Root CA ECC v3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\212\057\257\127\123\261\260\346\241\004\354\133\152\151\161\155 -\366\034\342\204 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\106\274\201\273\361\265\036\367\113\226\274\024\342\347\047\144 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\023\006\101\156\153\141\162 -\141\061\031\060\027\006\003\125\004\012\023\020\105\055\124\165 -\147\162\141\040\105\102\107\040\101\056\123\056\061\035\060\033 -\006\003\125\004\013\023\024\105\055\124\165\147\162\141\040\124 -\162\165\163\164\040\103\145\156\164\145\162\061\046\060\044\006 -\003\125\004\003\023\035\105\055\124\165\147\162\141\040\107\154 -\157\142\141\154\040\122\157\157\164\040\103\101\040\105\103\103 -\040\166\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\046\106\031\167\061\341\117\157\050\066\336\071\121\206 -\346\324\227\210\042\301 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - # # Certificate "DIGITALSIGN GLOBAL ROOT RSA CA" # @@ -24516,3 +23708,1860 @@ CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "LAWtrust Root CA2 (4096)" +# +# Issuer: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA +# Serial Number: 1427795633 (0x551a6eb1) +# Subject: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA +# Not Valid Before: Tue Feb 14 09:19:38 2023 +# Not Valid After : Fri Feb 14 09:49:38 2053 +# Fingerprint (SHA-256): 48:E1:CF:9E:43:B6:88:A5:10:44:16:0F:46:D7:73:B8:27:7F:E4:5B:EA:AD:0E:4D:F9:0D:19:74:38:2F:EA:99 +# Fingerprint (SHA1): EC:A2:D5:30:A9:AB:2C:7D:0E:75:61:64:4E:0A:E0:16:A1:54:38:7D +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "LAWtrust Root CA2 (4096)" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\132\101\061 +\021\060\017\006\003\125\004\012\023\010\114\101\127\164\162\165 +\163\164\061\041\060\037\006\003\125\004\003\023\030\114\101\127 +\164\162\165\163\164\040\122\157\157\164\040\103\101\062\040\050 +\064\060\071\066\051 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\132\101\061 +\021\060\017\006\003\125\004\012\023\010\114\101\127\164\162\165 +\163\164\061\041\060\037\006\003\125\004\003\023\030\114\101\127 +\164\162\165\163\164\040\122\157\157\164\040\103\101\062\040\050 +\064\060\071\066\051 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\125\032\156\261 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\230\060\202\003\200\240\003\002\001\002\002\004\125 +\032\156\261\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\103\061\013\060\011\006\003\125\004\006\023\002\132 +\101\061\021\060\017\006\003\125\004\012\023\010\114\101\127\164 +\162\165\163\164\061\041\060\037\006\003\125\004\003\023\030\114 +\101\127\164\162\165\163\164\040\122\157\157\164\040\103\101\062 +\040\050\064\060\071\066\051\060\040\027\015\062\063\060\062\061 +\064\060\071\061\071\063\070\132\030\017\062\060\065\063\060\062 +\061\064\060\071\064\071\063\070\132\060\103\061\013\060\011\006 +\003\125\004\006\023\002\132\101\061\021\060\017\006\003\125\004 +\012\023\010\114\101\127\164\162\165\163\164\061\041\060\037\006 +\003\125\004\003\023\030\114\101\127\164\162\165\163\164\040\122 +\157\157\164\040\103\101\062\040\050\064\060\071\066\051\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\314 +\027\313\053\103\272\154\371\311\223\212\145\015\022\114\354\047 +\024\267\023\171\340\324\325\055\030\126\361\371\352\052\020\026 +\116\154\104\307\152\145\106\363\232\211\065\321\207\370\063\211 +\057\210\011\032\222\020\221\220\301\153\237\016\156\177\046\212 +\023\135\030\254\150\001\015\020\170\145\160\330\216\217\204\132 +\227\060\030\320\021\016\112\215\122\020\245\201\053\121\050\365 +\143\304\266\354\100\263\001\345\255\167\275\345\070\357\274\215 +\263\335\031\240\173\015\215\264\333\152\373\045\063\132\372\221 +\257\304\161\105\060\370\210\051\173\313\277\325\272\047\004\216 +\335\262\000\367\312\134\231\065\024\352\375\165\006\025\010\273 +\312\127\150\373\077\373\264\064\163\143\321\325\343\310\070\132 +\151\175\152\172\104\014\015\212\116\355\222\035\020\217\073\042 +\054\266\337\355\305\306\360\211\171\124\145\136\137\033\275\217 +\175\337\271\267\355\353\344\305\007\321\147\074\225\073\221\376 +\102\172\122\100\200\004\322\071\127\113\364\222\175\377\233\357 +\345\235\311\011\262\221\022\070\246\051\010\073\256\353\312\314 +\355\115\347\116\041\001\007\374\157\062\316\151\214\204\122\306 +\167\352\047\060\012\336\245\257\060\053\150\037\254\324\354\041 +\255\042\111\166\316\017\302\362\007\052\371\152\022\203\232\073 +\004\256\031\172\376\241\206\044\372\101\136\045\174\100\254\047 +\266\343\051\066\157\065\342\127\320\031\130\337\377\144\366\303 +\001\111\166\333\053\276\274\271\117\024\012\325\033\130\041\366 +\034\056\000\174\370\224\265\313\067\032\024\344\062\271\026\324 +\140\354\005\252\137\062\372\152\043\022\254\324\020\273\322\242 +\202\264\113\016\213\160\047\252\326\007\301\147\210\372\204\303 +\010\311\212\204\310\322\067\162\201\017\215\026\112\344\327\065 +\121\245\070\017\214\204\113\225\066\300\365\327\235\340\135\217 +\253\221\356\000\010\271\235\122\037\354\370\231\273\171\126\261 +\111\332\322\345\330\141\213\133\257\360\253\067\305\173\032\216 +\206\276\176\305\173\025\036\141\150\350\013\207\213\163\111\241 +\027\163\176\051\170\216\312\340\101\057\165\163\164\242\227\072 +\177\367\056\164\011\270\114\140\213\106\066\031\020\055\235\002 +\003\001\000\001\243\201\221\060\201\216\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\053\006\003\125 +\035\020\004\044\060\042\200\017\062\060\062\063\060\062\061\064 +\060\071\061\071\063\070\132\201\017\062\060\065\063\060\062\061 +\064\060\071\064\071\063\070\132\060\037\006\003\125\035\043\004 +\030\060\026\200\024\327\326\126\142\134\077\027\201\346\163\104 +\051\365\121\005\357\013\140\067\254\060\035\006\003\125\035\016 +\004\026\004\024\327\326\126\142\134\077\027\201\346\163\104\051 +\365\121\005\357\013\140\067\254\060\015\006\011\052\206\110\206 +\367\015\001\001\013\005\000\003\202\002\001\000\111\234\051\376 +\075\354\236\105\177\253\076\074\376\043\157\067\076\167\247\123 +\377\170\237\374\111\104\200\127\146\234\156\332\171\377\315\105 +\255\114\223\277\265\131\306\351\020\267\345\370\214\373\207\305 +\036\213\330\263\077\002\226\012\273\212\216\357\327\264\300\203 +\040\070\227\131\105\144\374\366\167\023\362\011\327\241\310\070 +\164\010\352\371\110\114\372\037\004\234\264\377\354\156\126\066 +\162\223\154\225\076\054\137\336\017\013\253\311\314\025\076\026 +\217\146\374\262\020\270\241\321\264\336\300\143\031\314\357\123 +\252\165\066\042\213\045\037\277\233\310\327\301\137\354\246\067 +\011\252\173\142\274\366\042\055\361\326\130\335\214\273\122\364 +\013\247\166\251\172\173\032\215\334\255\232\201\142\056\206\005 +\220\162\107\057\241\311\147\204\260\015\154\260\270\233\026\267 +\320\231\024\057\234\022\233\043\250\215\246\103\036\351\345\055 +\345\170\247\037\144\224\144\266\167\262\250\134\373\011\253\051 +\353\036\155\165\321\366\320\305\245\303\035\237\036\363\032\055 +\262\310\037\345\050\012\156\363\137\375\332\346\043\241\166\220 +\134\113\230\001\202\054\356\107\055\002\032\137\177\064\305\151 +\265\162\255\076\363\317\236\155\370\051\350\021\047\053\340\131 +\013\033\141\353\112\312\151\245\244\325\315\121\033\224\216\171 +\315\337\366\256\164\135\261\054\033\206\123\376\321\060\006\101 +\064\007\142\202\114\364\176\307\207\164\016\260\041\036\011\040 +\200\301\263\025\075\106\155\323\361\006\222\077\357\240\225\212 +\034\156\167\061\266\353\170\051\014\173\356\202\245\117\176\244 +\051\136\236\252\055\370\216\300\363\374\015\006\205\233\116\334 +\367\342\011\174\320\024\121\036\172\263\043\257\372\321\141\052 +\145\265\001\331\270\343\007\312\044\166\322\360\112\276\357\206 +\004\200\102\025\160\021\150\176\327\307\273\376\347\116\233\234 +\225\245\034\112\244\311\320\011\214\252\316\110\322\036\222\227 +\327\021\351\355\146\314\067\334\365\327\033\164\233\246\352\102 +\254\135\062\340\130\364\201\107\377\322\022\342\176\034\334\111 +\166\226\303\035\237\113\312\134\052\067\133\075\212\321\070\233 +\041\332\343\277\105\103\323\340\130\167\037\050 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "LAWtrust Root CA2 (4096)" +# Issuer: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA +# Serial Number: 1427795633 (0x551a6eb1) +# Subject: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA +# Not Valid Before: Tue Feb 14 09:19:38 2023 +# Not Valid After : Fri Feb 14 09:49:38 2053 +# Fingerprint (SHA-256): 48:E1:CF:9E:43:B6:88:A5:10:44:16:0F:46:D7:73:B8:27:7F:E4:5B:EA:AD:0E:4D:F9:0D:19:74:38:2F:EA:99 +# Fingerprint (SHA1): EC:A2:D5:30:A9:AB:2C:7D:0E:75:61:64:4E:0A:E0:16:A1:54:38:7D +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "LAWtrust Root CA2 (4096)" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\354\242\325\060\251\253\054\175\016\165\141\144\116\012\340\026 +\241\124\070\175 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\257\035\306\323\105\305\353\365\246\141\043\060\075\056\021\261 +END +CKA_ISSUER MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\132\101\061 +\021\060\017\006\003\125\004\012\023\010\114\101\127\164\162\165 +\163\164\061\041\060\037\006\003\125\004\003\023\030\114\101\127 +\164\162\165\163\164\040\122\157\157\164\040\103\101\062\040\050 +\064\060\071\066\051 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\125\032\156\261 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sectigo Public Email Protection Root E46" +# +# Issuer: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB +# Serial Number:6e:f5:d3:a7:41:8e:a0:59:40:a7:30:6b:d2:40:65:56 +# Subject: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): 22:D9:59:92:34:D6:0F:1D:4B:C7:C7:E9:6F:43:FA:55:5B:07:30:1F:D4:75:17:50:89:DA:FB:8C:25:E4:77:B3 +# Fingerprint (SHA1): 3A:C5:C3:78:34:5B:E1:82:92:46:ED:17:86:B3:93:91:7B:51:F2:14 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Email Protection Root E46" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125 +\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164 +\151\157\156\040\122\157\157\164\040\105\064\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125 +\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164 +\151\157\156\040\122\157\157\164\040\105\064\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\365\323\247\101\216\240\131\100\247\060\153\322\100 +\145\126 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\061\060\202\001\267\240\003\002\001\002\002\020\156 +\365\323\247\101\216\240\131\100\247\060\153\322\100\145\126\060 +\012\006\010\052\206\110\316\075\004\003\003\060\132\061\013\060 +\011\006\003\125\004\006\023\002\107\102\061\030\060\026\006\003 +\125\004\012\023\017\123\145\143\164\151\147\157\040\114\151\155 +\151\164\145\144\061\061\060\057\006\003\125\004\003\023\050\123 +\145\143\164\151\147\157\040\120\165\142\154\151\143\040\105\155 +\141\151\154\040\120\162\157\164\145\143\164\151\157\156\040\122 +\157\157\164\040\105\064\066\060\036\027\015\062\061\060\063\062 +\062\060\060\060\060\060\060\132\027\015\064\066\060\063\062\061 +\062\063\065\071\065\071\132\060\132\061\013\060\011\006\003\125 +\004\006\023\002\107\102\061\030\060\026\006\003\125\004\012\023 +\017\123\145\143\164\151\147\157\040\114\151\155\151\164\145\144 +\061\061\060\057\006\003\125\004\003\023\050\123\145\143\164\151 +\147\157\040\120\165\142\154\151\143\040\105\155\141\151\154\040 +\120\162\157\164\145\143\164\151\157\156\040\122\157\157\164\040 +\105\064\066\060\166\060\020\006\007\052\206\110\316\075\002\001 +\006\005\053\201\004\000\042\003\142\000\004\270\247\122\224\365 +\076\005\260\033\366\037\261\323\176\271\344\005\146\124\200\316 +\154\245\150\175\344\123\122\333\202\372\304\206\337\103\170\367 +\310\255\026\274\077\170\062\313\153\323\111\326\104\345\263\176 +\237\173\246\306\054\362\342\266\323\211\260\232\074\113\316\211 +\113\306\306\313\072\111\140\017\106\274\155\116\172\234\311\233 +\205\173\012\266\260\107\302\210\343\324\321\243\102\060\100\060 +\035\006\003\125\035\016\004\026\004\024\055\116\214\247\302\043 +\262\127\251\006\153\076\153\053\211\363\303\136\107\316\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060\145 +\002\061\000\222\235\032\131\143\105\130\216\033\026\344\175\172 +\154\066\110\060\037\053\162\347\220\063\064\375\044\242\306\006 +\214\157\073\062\127\132\370\376\306\111\022\123\232\331\020\262 +\231\121\162\002\060\005\045\052\063\041\374\223\346\042\242\314 +\160\125\050\065\126\242\007\304\041\204\043\032\114\114\231\120 +\231\222\024\313\112\334\126\373\365\323\217\152\054\365\161\072 +\370\213\073\003\236 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Sectigo Public Email Protection Root E46" +# Issuer: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB +# Serial Number:6e:f5:d3:a7:41:8e:a0:59:40:a7:30:6b:d2:40:65:56 +# Subject: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): 22:D9:59:92:34:D6:0F:1D:4B:C7:C7:E9:6F:43:FA:55:5B:07:30:1F:D4:75:17:50:89:DA:FB:8C:25:E4:77:B3 +# Fingerprint (SHA1): 3A:C5:C3:78:34:5B:E1:82:92:46:ED:17:86:B3:93:91:7B:51:F2:14 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Email Protection Root E46" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\072\305\303\170\064\133\341\202\222\106\355\027\206\263\223\221 +\173\121\362\024 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\271\032\257\054\211\226\100\140\047\006\073\241\177\335\211\323 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125 +\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164 +\151\157\156\040\122\157\157\164\040\105\064\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\365\323\247\101\216\240\131\100\247\060\153\322\100 +\145\126 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sectigo Public Email Protection Root R46" +# +# Issuer: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB +# Serial Number:1d:44:9e:b9:0d:83:91:74:ae:dd:f2:eb:88:b7:a6:a3 +# Subject: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): D5:91:7A:77:91:EB:7C:F2:0A:2E:57:EB:98:28:4A:67:B2:8A:57:E8:91:82:DA:53:D5:46:67:8C:9F:DE:2B:4F +# Fingerprint (SHA1): D3:7B:8B:0A:E8:42:44:FB:6B:80:38:EE:AE:91:80:26:1A:48:70:66 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Email Protection Root R46" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125 +\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164 +\151\157\156\040\122\157\157\164\040\122\064\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125 +\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164 +\151\157\156\040\122\157\157\164\040\122\064\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\035\104\236\271\015\203\221\164\256\335\362\353\210\267 +\246\243 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\200\060\202\003\150\240\003\002\001\002\002\020\035 +\104\236\271\015\203\221\164\256\335\362\353\210\267\246\243\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\132 +\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060 +\026\006\003\125\004\012\023\017\123\145\143\164\151\147\157\040 +\114\151\155\151\164\145\144\061\061\060\057\006\003\125\004\003 +\023\050\123\145\143\164\151\147\157\040\120\165\142\154\151\143 +\040\105\155\141\151\154\040\120\162\157\164\145\143\164\151\157 +\156\040\122\157\157\164\040\122\064\066\060\036\027\015\062\061 +\060\063\062\062\060\060\060\060\060\060\132\027\015\064\066\060 +\063\062\061\062\063\065\071\065\071\132\060\132\061\013\060\011 +\006\003\125\004\006\023\002\107\102\061\030\060\026\006\003\125 +\004\012\023\017\123\145\143\164\151\147\157\040\114\151\155\151 +\164\145\144\061\061\060\057\006\003\125\004\003\023\050\123\145 +\143\164\151\147\157\040\120\165\142\154\151\143\040\105\155\141 +\151\154\040\120\162\157\164\145\143\164\151\157\156\040\122\157 +\157\164\040\122\064\066\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\221\345\033\372\252\155\067\053\165 +\307\056\137\024\245\333\054\227\266\054\106\217\151\331\354\226 +\055\363\035\132\276\323\035\043\346\150\011\377\112\021\163\032 +\256\147\237\166\232\322\347\354\270\331\137\053\371\046\126\121 +\257\166\235\251\374\027\357\062\012\320\043\074\272\054\117\107 +\203\354\235\005\150\102\136\006\340\325\350\053\150\110\227\262 +\372\363\244\161\065\175\064\233\027\213\177\115\015\333\334\117 +\005\114\224\142\277\065\372\057\310\247\034\146\331\161\137\345 +\346\132\125\312\253\364\270\167\031\105\120\105\116\112\253\333 +\236\146\301\031\267\067\102\310\126\245\100\022\371\063\350\070 +\105\072\306\204\243\002\216\057\044\260\303\101\205\007\111\234 +\317\334\321\362\046\157\355\063\034\063\147\052\105\067\331\205 +\145\042\032\261\265\020\122\011\153\003\306\037\160\075\221\304 +\175\220\075\355\146\370\220\377\045\340\355\222\242\213\061\051 +\255\234\022\146\170\143\235\127\354\373\013\336\216\334\213\313 +\072\251\167\364\272\345\354\070\214\213\346\023\146\247\151\130 +\303\202\032\032\315\361\237\330\123\222\116\111\175\251\105\347 +\361\103\041\132\267\076\100\315\143\211\317\331\277\307\120\013 +\341\274\347\210\226\255\236\324\027\332\135\317\340\221\375\246 +\020\324\271\003\201\233\151\254\373\204\250\201\065\353\033\353 +\150\154\174\140\076\303\337\311\264\256\164\035\110\255\335\156 +\021\206\341\052\152\066\026\256\310\316\274\333\130\374\100\223 +\100\330\216\123\227\302\254\042\070\345\210\061\263\056\241\357 +\354\340\102\015\352\377\223\126\112\006\244\233\114\002\150\144 +\217\126\120\301\201\005\375\313\333\305\327\025\362\153\265\166 +\303\243\371\062\316\312\265\112\251\033\175\031\334\177\307\152 +\176\225\354\266\270\215\375\225\112\234\243\053\155\213\361\160 +\345\107\053\000\134\344\271\236\324\370\331\130\051\320\313\340 +\050\142\154\256\234\142\342\314\274\066\223\101\365\357\376\106 +\142\225\260\127\112\164\054\107\122\051\235\335\242\241\117\102 +\302\222\316\055\120\122\136\214\012\241\367\330\235\305\370\375 +\066\207\116\127\375\150\241\137\231\203\034\360\265\335\350\222 +\323\145\100\125\312\226\205\002\003\001\000\001\243\102\060\100 +\060\035\006\003\125\035\016\004\026\004\024\247\327\225\167\353 +\112\303\047\315\223\276\067\114\046\204\041\024\175\135\230\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003 +\202\002\001\000\064\322\361\025\363\223\001\324\162\213\360\253 +\010\037\023\074\163\264\260\253\350\170\331\154\272\232\257\046 +\354\020\200\345\015\123\061\335\343\372\214\121\042\044\063\067 +\270\030\176\072\372\130\350\064\345\214\340\241\037\011\101\322 +\067\077\314\313\011\065\102\210\351\374\021\327\317\102\252\244 +\160\266\161\301\123\275\305\164\257\304\042\044\143\317\142\202 +\175\311\313\121\301\210\220\155\133\134\276\373\231\250\272\266 +\206\260\351\146\013\345\033\153\257\352\053\206\247\337\250\043 +\114\226\077\117\127\102\030\025\203\103\361\206\046\267\052\003 +\316\013\235\350\245\150\036\214\157\275\205\343\033\121\217\347 +\027\057\053\320\326\170\302\055\335\162\210\324\145\236\372\231 +\324\176\347\227\012\222\001\232\245\251\204\072\014\052\164\075 +\063\030\310\207\367\350\244\365\206\102\071\375\153\165\051\374 +\000\006\254\242\245\032\124\216\351\120\111\027\146\257\113\004 +\055\233\224\200\245\124\253\214\127\027\104\237\017\326\150\144 +\162\264\113\036\001\307\331\233\224\331\203\231\257\022\005\021 +\243\230\042\322\362\127\312\044\371\272\070\025\022\110\272\143 +\073\374\213\225\170\326\162\007\126\314\315\374\235\034\320\305 +\144\073\143\064\317\004\231\212\267\060\171\172\266\362\306\325 +\331\124\172\207\013\176\116\367\204\354\024\363\210\026\022\361 +\325\256\012\032\011\356\206\255\345\253\375\256\303\051\171\164 +\303\001\137\021\233\337\165\231\306\112\367\233\217\154\111\354 +\041\057\264\002\131\263\055\320\162\220\272\013\024\164\170\113 +\317\301\137\125\162\216\124\053\023\316\372\130\014\323\273\054 +\331\251\221\141\370\370\361\266\173\336\274\251\314\222\004\314 +\113\153\137\163\200\266\041\355\120\117\327\166\207\156\316\337 +\322\267\275\142\241\175\130\142\150\105\122\266\077\336\022\333 +\355\004\151\236\166\210\252\001\155\332\206\307\140\033\303\122 +\254\067\354\120\161\200\162\052\041\105\012\123\107\074\031\353 +\215\322\131\004\336\045\260\353\037\065\157\140\175\327\265\306 +\273\013\047\215\340\115\124\345\317\035\046\001\156\073\065\310 +\040\022\211\203\360\322\355\130\073\064\235\273\061\365\062\375 +\061\363\126\032 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Sectigo Public Email Protection Root R46" +# Issuer: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB +# Serial Number:1d:44:9e:b9:0d:83:91:74:ae:dd:f2:eb:88:b7:a6:a3 +# Subject: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): D5:91:7A:77:91:EB:7C:F2:0A:2E:57:EB:98:28:4A:67:B2:8A:57:E8:91:82:DA:53:D5:46:67:8C:9F:DE:2B:4F +# Fingerprint (SHA1): D3:7B:8B:0A:E8:42:44:FB:6B:80:38:EE:AE:91:80:26:1A:48:70:66 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Email Protection Root R46" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\323\173\213\012\350\102\104\373\153\200\070\356\256\221\200\046 +\032\110\160\146 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\102\047\005\220\034\246\300\373\242\015\375\337\142\211\335\133 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125 +\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164 +\151\157\156\040\122\157\157\164\040\122\064\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\035\104\236\271\015\203\221\164\256\335\362\353\210\267 +\246\243 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sectigo Public Server Authentication Root E46" +# +# Issuer: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB +# Serial Number:42:f2:cc:da:1b:69:37:44:5f:15:fe:75:28:10:b8:f4 +# Subject: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): C9:0F:26:F0:FB:1B:40:18:B2:22:27:51:9B:5C:A2:B5:3E:2C:A5:B3:BE:5C:F1:8E:FE:1B:EF:47:38:0C:53:83 +# Fingerprint (SHA1): EC:8A:39:6C:40:F0:2E:BC:42:75:D4:9F:AB:1C:1A:5B:67:BE:D2:9A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Server Authentication Root E46" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125 +\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\105\064 +\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125 +\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\105\064 +\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\102\362\314\332\033\151\067\104\137\025\376\165\050\020 +\270\364 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\072\060\202\001\301\240\003\002\001\002\002\020\102 +\362\314\332\033\151\067\104\137\025\376\165\050\020\270\364\060 +\012\006\010\052\206\110\316\075\004\003\003\060\137\061\013\060 +\011\006\003\125\004\006\023\002\107\102\061\030\060\026\006\003 +\125\004\012\023\017\123\145\143\164\151\147\157\040\114\151\155 +\151\164\145\144\061\066\060\064\006\003\125\004\003\023\055\123 +\145\143\164\151\147\157\040\120\165\142\154\151\143\040\123\145 +\162\166\145\162\040\101\165\164\150\145\156\164\151\143\141\164 +\151\157\156\040\122\157\157\164\040\105\064\066\060\036\027\015 +\062\061\060\063\062\062\060\060\060\060\060\060\132\027\015\064 +\066\060\063\062\061\062\063\065\071\065\071\132\060\137\061\013 +\060\011\006\003\125\004\006\023\002\107\102\061\030\060\026\006 +\003\125\004\012\023\017\123\145\143\164\151\147\157\040\114\151 +\155\151\164\145\144\061\066\060\064\006\003\125\004\003\023\055 +\123\145\143\164\151\147\157\040\120\165\142\154\151\143\040\123 +\145\162\166\145\162\040\101\165\164\150\145\156\164\151\143\141 +\164\151\157\156\040\122\157\157\164\040\105\064\066\060\166\060 +\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 +\042\003\142\000\004\166\372\231\251\156\040\355\371\327\167\343 +\007\073\250\333\075\137\070\350\253\125\246\126\117\326\110\352 +\354\177\055\252\303\262\305\171\354\231\141\177\020\171\307\002 +\132\371\004\067\365\064\065\053\167\316\177\040\217\122\243\000 +\211\354\325\247\242\155\133\343\113\222\223\240\200\365\001\224 +\334\360\150\007\036\315\356\376\045\122\265\040\103\034\033\376 +\353\031\316\103\243\243\102\060\100\060\035\006\003\125\035\016 +\004\026\004\024\321\042\332\114\131\361\113\137\046\070\252\235 +\326\356\353\015\303\373\251\141\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\206\060\017\006\003\125\035\023\001 +\001\377\004\005\060\003\001\001\377\060\012\006\010\052\206\110 +\316\075\004\003\003\003\147\000\060\144\002\060\047\356\244\132 +\250\041\273\351\107\227\224\211\245\164\040\155\171\117\310\275 +\223\136\130\030\373\055\032\000\152\311\270\075\320\244\117\104 +\107\224\001\126\242\370\063\045\014\102\337\252\002\060\035\352 +\341\056\210\056\341\371\247\035\002\062\116\362\237\154\125\164 +\343\256\256\373\245\032\356\355\322\374\302\003\021\353\105\134 +\140\020\075\134\177\231\003\133\155\124\110\001\212\163 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Sectigo Public Server Authentication Root E46" +# Issuer: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB +# Serial Number:42:f2:cc:da:1b:69:37:44:5f:15:fe:75:28:10:b8:f4 +# Subject: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): C9:0F:26:F0:FB:1B:40:18:B2:22:27:51:9B:5C:A2:B5:3E:2C:A5:B3:BE:5C:F1:8E:FE:1B:EF:47:38:0C:53:83 +# Fingerprint (SHA1): EC:8A:39:6C:40:F0:2E:BC:42:75:D4:9F:AB:1C:1A:5B:67:BE:D2:9A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Server Authentication Root E46" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\354\212\071\154\100\360\056\274\102\165\324\237\253\034\032\133 +\147\276\322\232 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\050\043\370\262\230\134\067\026\073\076\106\023\116\260\263\001 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125 +\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\105\064 +\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\102\362\314\332\033\151\067\104\137\025\376\165\050\020 +\270\364 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sectigo Public Server Authentication Root R46" +# +# Issuer: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB +# Serial Number:75:8d:fd:8b:ae:7c:07:00:fa:a9:25:a7:e1:c7:ad:14 +# Subject: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): 7B:B6:47:A6:2A:EE:AC:88:BF:25:7A:A5:22:D0:1F:FE:A3:95:E0:AB:45:C7:3F:93:F6:56:54:EC:38:F2:5A:06 +# Fingerprint (SHA1): AD:98:F9:F3:E4:7D:75:3B:65:D4:82:B3:A4:52:17:BB:6E:F5:E4:38 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Server Authentication Root R46" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125 +\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064 +\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125 +\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064 +\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\165\215\375\213\256\174\007\000\372\251\045\247\341\307 +\255\024 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\165 +\215\375\213\256\174\007\000\372\251\045\247\341\307\255\024\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\137 +\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060 +\026\006\003\125\004\012\023\017\123\145\143\164\151\147\157\040 +\114\151\155\151\164\145\144\061\066\060\064\006\003\125\004\003 +\023\055\123\145\143\164\151\147\157\040\120\165\142\154\151\143 +\040\123\145\162\166\145\162\040\101\165\164\150\145\156\164\151 +\143\141\164\151\157\156\040\122\157\157\164\040\122\064\066\060 +\036\027\015\062\061\060\063\062\062\060\060\060\060\060\060\132 +\027\015\064\066\060\063\062\061\062\063\065\071\065\071\132\060 +\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030 +\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147\157 +\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125\004 +\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154\151 +\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156\164 +\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064\066 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\223\276\325\066\122\165\330\001\043\240\034\107\102\111\356 +\143\266\267\041\375\304\225\325\110\053\046\174\024\123\020\332 +\171\375\053\267\055\244\324\054\372\352\062\335\111\302\271\275 +\017\110\075\173\132\230\124\257\236\135\061\164\117\007\374\120 +\041\335\244\317\150\117\033\022\143\155\045\231\114\052\231\363 +\110\060\141\372\201\174\036\247\010\112\334\076\053\034\037\030 +\114\161\252\065\214\255\370\156\350\073\112\331\345\224\002\326 +\211\204\023\252\155\310\117\063\314\120\226\067\222\063\334\137 +\210\347\237\124\331\110\360\230\103\326\146\375\237\027\070\103 +\305\001\121\013\327\343\043\017\024\135\133\024\347\113\276\335 +\364\310\332\003\067\321\326\071\241\041\121\060\203\260\155\327 +\060\116\226\133\221\360\160\044\253\277\105\201\144\103\015\275 +\041\072\057\074\351\236\015\313\040\265\102\047\314\332\157\233 +\356\144\060\220\071\315\223\145\201\041\061\265\043\120\063\067 +\042\343\070\355\370\061\060\314\105\376\142\371\321\135\062\171 +\102\207\337\152\314\126\031\100\115\316\252\273\371\265\166\111 +\224\361\047\370\221\245\203\345\006\263\143\016\200\334\340\022 +\125\200\246\073\146\264\071\207\055\310\360\320\321\024\351\344 +\015\115\016\366\135\127\162\305\073\034\107\126\235\342\325\373 +\201\141\214\314\115\200\220\064\133\267\327\024\165\334\330\004 +\110\237\300\301\050\210\264\351\034\312\247\261\361\126\267\173 +\111\114\131\345\040\025\250\204\002\051\372\070\224\151\232\111 +\006\217\315\037\171\024\027\022\014\203\172\336\037\261\227\356 +\371\227\170\050\244\310\104\222\351\175\046\005\246\130\162\233 +\171\023\330\021\137\256\305\070\142\064\150\262\206\060\216\370 +\220\141\236\062\154\365\007\066\315\242\114\156\354\212\066\355 +\362\346\231\025\104\160\303\174\274\234\071\300\264\341\153\367 +\203\045\043\127\331\022\200\345\111\360\165\017\357\215\353\034 +\233\124\050\264\041\074\374\174\012\377\357\173\153\165\377\213 +\035\240\031\005\253\372\370\053\201\102\350\070\272\273\373\252 +\375\075\340\363\312\337\116\227\227\051\355\363\030\126\351\245 +\226\254\275\303\220\230\262\340\371\242\324\246\107\103\174\155 +\317\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035 +\016\004\026\004\024\126\163\130\144\225\371\222\032\260\022\052 +\004\142\171\241\100\025\210\041\111\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\206\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206 +\110\206\367\015\001\001\014\005\000\003\202\002\001\000\057\134 +\231\074\374\006\136\214\224\056\160\352\322\062\061\215\264\360 +\121\325\274\012\363\144\237\007\136\325\301\163\150\144\172\242 +\271\016\350\371\135\205\055\250\067\105\252\050\364\226\005\120 +\140\251\111\176\237\342\231\066\051\023\104\107\152\235\125\040 +\074\330\233\361\003\062\272\332\100\241\163\352\203\241\267\104 +\246\016\231\001\233\344\274\177\276\023\224\176\312\246\036\166 +\200\066\075\204\006\213\063\046\145\155\312\176\236\376\037\214 +\130\070\173\032\203\261\017\274\027\021\273\346\006\314\143\372 +\201\362\201\114\332\013\020\153\241\372\325\050\245\317\006\100 +\026\377\173\175\030\136\071\022\244\123\236\176\062\102\020\246 +\041\221\251\034\116\027\174\204\274\237\214\321\350\337\346\121 +\271\066\107\077\220\271\307\274\002\334\133\034\117\016\110\301 +\045\203\234\012\077\236\261\003\063\022\032\047\254\367\042\154 +\044\321\001\101\370\130\003\376\045\150\042\037\232\132\074\174 +\154\236\165\110\363\201\361\146\147\156\114\202\300\356\272\127 +\016\030\357\056\232\367\022\330\240\153\351\005\245\241\351\150 +\370\274\114\077\022\036\105\350\122\300\243\277\022\047\171\271 +\314\061\074\303\366\072\042\026\003\240\311\217\146\244\133\242 +\115\326\201\045\006\351\166\244\000\012\076\313\315\065\233\340 +\341\070\313\140\123\206\050\102\101\034\104\127\350\250\255\253 +\105\343\045\020\274\333\076\145\101\373\033\246\227\017\353\271 +\164\171\371\036\274\035\127\015\107\257\303\057\237\207\106\247 +\353\046\132\017\126\143\265\142\140\156\000\373\343\047\021\042 +\347\376\231\217\064\365\271\350\303\221\162\275\330\303\036\271 +\056\362\221\104\121\320\127\315\014\064\325\110\041\277\333\023 +\361\146\045\103\122\322\160\042\066\315\237\304\034\165\040\255 +\143\162\143\006\017\016\047\316\322\152\015\274\265\071\032\351 +\321\166\172\321\134\344\347\111\111\055\125\067\150\360\032\072 +\230\076\124\027\207\124\351\246\047\120\211\173\040\057\077\377 +\277\241\213\112\107\230\377\053\173\111\076\303\051\106\140\030 +\102\253\063\051\272\300\051\271\023\211\323\210\212\071\101\073 +\311\375\246\355\037\364\140\143\337\322\055\125\001\213 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Sectigo Public Server Authentication Root R46" +# Issuer: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB +# Serial Number:75:8d:fd:8b:ae:7c:07:00:fa:a9:25:a7:e1:c7:ad:14 +# Subject: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB +# Not Valid Before: Mon Mar 22 00:00:00 2021 +# Not Valid After : Wed Mar 21 23:59:59 2046 +# Fingerprint (SHA-256): 7B:B6:47:A6:2A:EE:AC:88:BF:25:7A:A5:22:D0:1F:FE:A3:95:E0:AB:45:C7:3F:93:F6:56:54:EC:38:F2:5A:06 +# Fingerprint (SHA1): AD:98:F9:F3:E4:7D:75:3B:65:D4:82:B3:A4:52:17:BB:6E:F5:E4:38 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sectigo Public Server Authentication Root R46" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\255\230\371\363\344\175\165\073\145\324\202\263\244\122\027\273 +\156\365\344\070 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\062\020\011\122\000\325\176\154\103\337\025\300\261\026\223\345 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147 +\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125 +\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154 +\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064 +\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\165\215\375\213\256\174\007\000\372\251\045\247\341\307 +\255\024 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com TLS RSA Root CA 2022" +# +# Issuer: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US +# Serial Number:6f:be:da:ad:73:bd:08:40:e2:8b:4d:be:d4:f7:5b:91 +# Subject: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:34:22 2022 +# Not Valid After : Sun Aug 19 16:34:21 2046 +# Fingerprint (SHA-256): 8F:AF:7D:2E:2C:B4:70:9B:B8:E0:B3:36:66:BF:75:A5:DD:45:B5:DE:48:0F:8E:A8:D4:BF:E6:BE:BC:17:F2:ED +# Fingerprint (SHA1): EC:2C:83:40:72:AF:26:95:10:FF:0E:F2:03:EE:31:70:F6:78:9D:CA +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com TLS RSA Root CA 2022" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125 +\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040 +\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125 +\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040 +\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\157\276\332\255\163\275\010\100\342\213\115\276\324\367 +\133\221 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\211\060\202\003\161\240\003\002\001\002\002\020\157 +\276\332\255\163\275\010\100\342\213\115\276\324\367\133\221\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\116 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060 +\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160 +\157\162\141\164\151\157\156\061\045\060\043\006\003\125\004\003 +\014\034\123\123\114\056\143\157\155\040\124\114\123\040\122\123 +\101\040\122\157\157\164\040\103\101\040\062\060\062\062\060\036 +\027\015\062\062\060\070\062\065\061\066\063\064\062\062\132\027 +\015\064\066\060\070\061\071\061\066\063\064\062\061\132\060\116 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060 +\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160 +\157\162\141\164\151\157\156\061\045\060\043\006\003\125\004\003 +\014\034\123\123\114\056\143\157\155\040\124\114\123\040\122\123 +\101\040\122\157\157\164\040\103\101\040\062\060\062\062\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\320 +\244\011\162\117\100\210\022\141\076\065\043\236\356\366\164\317 +\057\173\130\075\316\074\015\020\050\220\057\227\367\214\110\330 +\240\330\045\261\114\260\021\114\027\163\120\320\042\112\143\273 +\201\323\051\156\325\265\011\076\046\030\177\262\022\177\223\230 +\267\257\360\066\277\362\356\030\236\234\073\122\305\107\031\135 +\164\363\144\146\325\135\307\150\264\277\033\034\006\243\274\217 +\100\043\266\036\306\204\275\121\304\033\071\301\225\322\051\354 +\113\256\173\055\277\071\375\264\142\336\226\173\101\306\234\240 +\340\006\162\373\360\007\227\011\071\201\164\257\367\064\131\021 +\127\012\302\133\301\044\364\061\163\060\202\306\235\272\002\367 +\076\174\104\137\203\015\363\361\335\040\151\026\011\120\342\324 +\125\266\340\200\162\166\156\114\107\267\165\125\131\264\123\164 +\331\224\306\101\255\130\212\061\146\017\036\242\033\051\100\116 +\057\337\173\346\026\054\055\374\277\354\363\264\372\276\030\366 +\233\111\324\356\005\156\331\064\363\234\361\354\001\213\321\040 +\306\017\240\265\274\027\116\110\173\121\302\374\351\134\151\067 +\107\146\263\150\370\025\050\360\271\323\244\025\314\132\117\272 +\122\160\243\022\105\335\306\272\116\373\302\320\367\250\122\047 +\155\156\171\265\214\374\173\214\301\026\114\356\200\177\276\360 +\166\276\101\123\022\063\256\132\070\102\253\327\017\076\101\215 +\166\007\062\325\253\211\366\116\147\331\261\102\165\043\156\363 +\315\102\262\374\125\365\123\207\027\073\300\063\130\361\122\322 +\371\200\244\360\350\360\073\213\070\314\244\306\220\177\017\234 +\375\213\321\243\317\332\203\247\151\311\120\066\325\134\005\322 +\012\101\164\333\143\021\067\301\245\240\226\113\036\214\026\022 +\167\256\224\064\173\036\177\302\146\000\344\252\203\352\212\220 +\255\316\066\104\115\321\121\351\274\037\363\152\005\375\300\164 +\037\045\031\100\121\156\352\202\121\100\337\233\271\010\052\006 +\002\325\043\034\023\326\351\333\333\306\260\172\313\173\047\233 +\373\340\325\106\044\355\020\113\143\113\245\005\217\272\270\035 +\053\246\372\221\342\222\122\275\354\353\147\227\155\232\055\237 +\201\062\005\147\062\373\110\010\077\331\045\270\004\045\057\002 +\003\001\000\001\243\143\060\141\060\017\006\003\125\035\023\001 +\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035\043 +\004\030\060\026\200\024\373\056\067\356\343\204\172\047\056\315 +\031\065\261\063\174\377\324\104\102\271\060\035\006\003\125\035 +\016\004\026\004\024\373\056\067\356\343\204\172\047\056\315\031 +\065\261\063\174\377\324\104\102\271\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110 +\206\367\015\001\001\013\005\000\003\202\002\001\000\215\211\155 +\204\105\030\361\117\263\240\357\150\244\300\035\254\060\274\147 +\146\260\232\315\266\253\042\031\146\323\073\101\265\020\235\020 +\272\162\156\051\044\040\034\001\231\142\323\226\340\342\373\014 +\102\327\341\132\304\226\115\124\315\217\312\103\123\375\052\270 +\352\370\145\312\001\302\255\140\150\006\237\071\032\121\331\340 +\215\046\371\013\116\245\123\045\172\043\244\034\316\010\033\337 +\107\210\262\255\076\340\047\207\213\111\214\037\251\107\130\173 +\226\362\210\035\030\256\263\321\246\012\224\372\333\323\345\070 +\012\153\171\022\063\373\112\131\067\026\100\016\273\336\365\211 +\014\361\154\323\367\121\153\136\065\365\333\300\046\352\022\163 +\116\251\221\220\246\027\303\154\057\070\324\243\162\224\103\054 +\142\341\116\134\062\075\275\114\175\031\107\242\303\111\347\226 +\077\217\232\323\073\344\021\330\213\003\334\366\266\140\125\030 +\246\201\121\363\341\250\025\152\353\340\013\360\024\061\326\271 +\214\105\072\250\020\330\360\271\047\353\367\313\172\357\005\162 +\226\265\304\217\226\163\304\350\126\163\234\274\151\121\143\274 +\357\147\034\103\032\137\167\031\037\030\370\034\045\051\371\111 +\231\051\266\222\075\242\203\067\261\040\221\250\233\060\351\152 +\154\264\043\223\145\004\253\021\363\016\035\123\044\111\123\035 +\241\077\235\110\222\021\342\175\015\117\365\327\275\242\130\076 +\170\235\036\037\053\376\041\273\032\023\266\261\050\144\375\260 +\002\000\307\154\200\242\275\026\120\040\017\162\201\137\314\224 +\377\273\231\346\272\220\313\352\371\306\014\302\256\305\031\316 +\063\241\153\134\273\176\174\064\127\027\255\360\077\256\315\352 +\257\231\354\054\124\176\214\316\056\022\126\110\357\027\073\077 +\112\136\140\322\334\164\066\274\245\103\143\313\017\133\243\002 +\126\011\236\044\054\341\206\201\214\376\253\027\054\372\310\342 +\062\032\072\377\205\010\311\203\237\362\112\110\020\124\167\067 +\355\242\274\100\276\344\020\164\367\344\133\273\271\363\211\371 +\217\101\330\307\344\120\220\065\200\076\034\270\115\220\323\324 +\367\303\260\241\176\204\312\167\222\061\054\270\220\261\202\172 +\164\116\233\023\046\264\325\120\146\124\170\256\140 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com TLS RSA Root CA 2022" +# Issuer: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US +# Serial Number:6f:be:da:ad:73:bd:08:40:e2:8b:4d:be:d4:f7:5b:91 +# Subject: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:34:22 2022 +# Not Valid After : Sun Aug 19 16:34:21 2046 +# Fingerprint (SHA-256): 8F:AF:7D:2E:2C:B4:70:9B:B8:E0:B3:36:66:BF:75:A5:DD:45:B5:DE:48:0F:8E:A8:D4:BF:E6:BE:BC:17:F2:ED +# Fingerprint (SHA1): EC:2C:83:40:72:AF:26:95:10:FF:0E:F2:03:EE:31:70:F6:78:9D:CA +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com TLS RSA Root CA 2022" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\354\054\203\100\162\257\046\225\020\377\016\362\003\356\061\160 +\366\170\235\312 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\330\116\306\131\060\330\376\240\326\172\132\054\054\151\170\332 +END +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125 +\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040 +\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\157\276\332\255\163\275\010\100\342\213\115\276\324\367 +\133\221 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com TLS ECC Root CA 2022" +# +# Issuer: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US +# Serial Number:14:03:f5:ab:fb:37:8b:17:40:5b:e2:43:b2:a5:d1:c4 +# Subject: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:33:48 2022 +# Not Valid After : Sun Aug 19 16:33:47 2046 +# Fingerprint (SHA-256): C3:2F:FD:9F:46:F9:36:D1:6C:36:73:99:09:59:43:4B:9A:D6:0A:AF:BB:9E:7C:F3:36:54:F1:44:CC:1B:A1:43 +# Fingerprint (SHA1): 9F:5F:D9:1A:54:6D:F5:0C:71:F0:EE:7A:BD:17:49:98:84:73:E2:39 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com TLS ECC Root CA 2022" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125 +\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040 +\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125 +\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040 +\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\024\003\365\253\373\067\213\027\100\133\342\103\262\245 +\321\304 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\072\060\202\001\300\240\003\002\001\002\002\020\024 +\003\365\253\373\067\213\027\100\133\342\103\262\245\321\304\060 +\012\006\010\052\206\110\316\075\004\003\003\060\116\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003 +\125\004\012\014\017\123\123\114\040\103\157\162\160\157\162\141 +\164\151\157\156\061\045\060\043\006\003\125\004\003\014\034\123 +\123\114\056\143\157\155\040\124\114\123\040\105\103\103\040\122 +\157\157\164\040\103\101\040\062\060\062\062\060\036\027\015\062 +\062\060\070\062\065\061\066\063\063\064\070\132\027\015\064\066 +\060\070\061\071\061\066\063\063\064\067\132\060\116\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003 +\125\004\012\014\017\123\123\114\040\103\157\162\160\157\162\141 +\164\151\157\156\061\045\060\043\006\003\125\004\003\014\034\123 +\123\114\056\143\157\155\040\124\114\123\040\105\103\103\040\122 +\157\157\164\040\103\101\040\062\060\062\062\060\166\060\020\006 +\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003 +\142\000\004\105\051\065\163\372\302\270\043\316\024\175\250\261 +\115\240\133\066\356\052\054\123\303\140\011\065\262\044\146\046 +\151\300\263\225\326\135\222\100\031\016\306\245\023\160\364\357 +\022\121\050\135\347\314\275\371\074\205\301\317\224\220\311\053 +\316\222\102\130\131\147\375\224\047\020\144\214\117\004\261\115 +\111\344\173\117\233\365\347\010\370\003\210\367\247\303\222\113 +\031\124\201\243\143\060\141\060\017\006\003\125\035\023\001\001 +\377\004\005\060\003\001\001\377\060\037\006\003\125\035\043\004 +\030\060\026\200\024\211\217\057\243\350\053\240\024\124\173\363 +\126\270\046\137\147\070\013\234\320\060\035\006\003\125\035\016 +\004\026\004\024\211\217\057\243\350\053\240\024\124\173\363\126 +\270\046\137\147\070\013\234\320\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\206\060\012\006\010\052\206\110\316 +\075\004\003\003\003\150\000\060\145\002\060\125\343\042\126\351 +\327\222\044\130\117\036\224\062\017\014\002\066\302\375\254\164 +\062\116\341\373\034\200\210\243\314\373\327\353\053\377\067\175 +\360\355\327\236\165\152\065\166\122\105\340\002\061\000\307\215 +\157\102\040\217\276\266\115\131\355\167\115\051\304\040\040\105 +\144\206\072\120\306\304\255\055\223\365\030\175\162\355\251\317 +\304\254\127\066\050\010\145\337\074\171\146\176\240\352 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com TLS ECC Root CA 2022" +# Issuer: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US +# Serial Number:14:03:f5:ab:fb:37:8b:17:40:5b:e2:43:b2:a5:d1:c4 +# Subject: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:33:48 2022 +# Not Valid After : Sun Aug 19 16:33:47 2046 +# Fingerprint (SHA-256): C3:2F:FD:9F:46:F9:36:D1:6C:36:73:99:09:59:43:4B:9A:D6:0A:AF:BB:9E:7C:F3:36:54:F1:44:CC:1B:A1:43 +# Fingerprint (SHA1): 9F:5F:D9:1A:54:6D:F5:0C:71:F0:EE:7A:BD:17:49:98:84:73:E2:39 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com TLS ECC Root CA 2022" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\237\137\331\032\124\155\365\014\161\360\356\172\275\027\111\230 +\204\163\342\071 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\231\327\134\361\121\066\314\351\316\331\031\056\167\161\126\305 +END +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125 +\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040 +\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\024\003\365\253\373\067\213\027\100\133\342\103\262\245 +\321\304 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com Client ECC Root CA 2022" +# +# Issuer: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US +# Serial Number:76:f8:48:1e:ae:f0:3c:70:1f:e0:3f:25:54:01:83:d5 +# Subject: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:30:32 2022 +# Not Valid After : Sun Aug 19 16:30:31 2046 +# Fingerprint (SHA-256): AD:7D:D5:8D:03:AE:DB:22:A3:0B:50:84:39:49:20:CE:12:23:0C:2D:80:17:AD:9B:81:AB:04:07:9B:DD:02:6B +# Fingerprint (SHA1): 80:7B:1D:9D:65:72:3D:C7:56:F9:EC:C5:00:83:49:F6:F2:AC:F4:86 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Client ECC Root CA 2022" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125 +\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145 +\156\164\040\105\103\103\040\122\157\157\164\040\103\101\040\062 +\060\062\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125 +\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145 +\156\164\040\105\103\103\040\122\157\157\164\040\103\101\040\062 +\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\166\370\110\036\256\360\074\160\037\340\077\045\124\001 +\203\325 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\100\060\202\001\306\240\003\002\001\002\002\020\166 +\370\110\036\256\360\074\160\037\340\077\045\124\001\203\325\060 +\012\006\010\052\206\110\316\075\004\003\003\060\121\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003 +\125\004\012\014\017\123\123\114\040\103\157\162\160\157\162\141 +\164\151\157\156\061\050\060\046\006\003\125\004\003\014\037\123 +\123\114\056\143\157\155\040\103\154\151\145\156\164\040\105\103 +\103\040\122\157\157\164\040\103\101\040\062\060\062\062\060\036 +\027\015\062\062\060\070\062\065\061\066\063\060\063\062\132\027 +\015\064\066\060\070\061\071\061\066\063\060\063\061\132\060\121 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060 +\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160 +\157\162\141\164\151\157\156\061\050\060\046\006\003\125\004\003 +\014\037\123\123\114\056\143\157\155\040\103\154\151\145\156\164 +\040\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062 +\062\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 +\053\201\004\000\042\003\142\000\004\055\123\176\237\213\076\263 +\066\272\120\342\314\353\334\272\046\212\323\214\006\077\147\017 +\357\365\027\345\324\256\232\106\052\101\001\007\151\347\147\161 +\361\302\003\066\306\360\053\122\216\317\024\222\150\244\076\160 +\121\022\151\215\170\242\202\312\051\024\300\344\224\042\262\104 +\222\140\157\310\004\244\147\325\242\320\363\320\327\352\216\074 +\017\272\322\100\107\220\064\356\175\243\143\060\141\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\037 +\006\003\125\035\043\004\030\060\026\200\024\267\376\055\142\305 +\201\123\315\122\032\057\135\140\240\303\135\373\262\034\034\060 +\035\006\003\125\035\016\004\026\004\024\267\376\055\142\305\201 +\123\315\122\032\057\135\140\240\303\135\373\262\034\034\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\012 +\006\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002 +\060\115\007\021\055\021\373\271\046\303\041\335\162\341\027\374 +\301\317\024\352\111\316\161\207\216\326\123\334\021\315\135\124 +\212\257\331\055\364\214\121\352\274\146\107\342\177\225\203\140 +\145\002\061\000\214\041\114\117\273\345\260\120\337\220\142\111 +\346\314\221\333\370\077\135\161\221\010\216\117\222\311\177\246 +\134\352\023\176\355\155\304\350\303\052\157\134\021\341\245\363 +\152\132\232\115 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com Client ECC Root CA 2022" +# Issuer: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US +# Serial Number:76:f8:48:1e:ae:f0:3c:70:1f:e0:3f:25:54:01:83:d5 +# Subject: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:30:32 2022 +# Not Valid After : Sun Aug 19 16:30:31 2046 +# Fingerprint (SHA-256): AD:7D:D5:8D:03:AE:DB:22:A3:0B:50:84:39:49:20:CE:12:23:0C:2D:80:17:AD:9B:81:AB:04:07:9B:DD:02:6B +# Fingerprint (SHA1): 80:7B:1D:9D:65:72:3D:C7:56:F9:EC:C5:00:83:49:F6:F2:AC:F4:86 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Client ECC Root CA 2022" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\200\173\035\235\145\162\075\307\126\371\354\305\000\203\111\366 +\362\254\364\206 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\063\271\151\231\022\166\125\274\337\257\101\334\042\213\167\200 +END +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125 +\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145 +\156\164\040\105\103\103\040\122\157\157\164\040\103\101\040\062 +\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\166\370\110\036\256\360\074\160\037\340\077\045\124\001 +\203\325 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com Client RSA Root CA 2022" +# +# Issuer: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US +# Serial Number:76:af:ee:88:93:15:45:b6:50:53:9b:80:9c:a4:df:9a +# Subject: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:31:07 2022 +# Not Valid After : Sun Aug 19 16:31:06 2046 +# Fingerprint (SHA-256): 1D:4C:A4:A2:AB:21:D0:09:36:59:80:4F:C0:EB:21:75:A6:17:27:9B:56:A2:47:52:45:C9:51:7A:FE:B5:91:53 +# Fingerprint (SHA1): AA:59:70:E5:20:32:9F:CB:D0:D5:79:9F:FB:1B:82:1D:FD:1F:79:65 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Client RSA Root CA 2022" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125 +\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145 +\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040\062 +\060\062\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125 +\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145 +\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040\062 +\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\166\257\356\210\223\025\105\266\120\123\233\200\234\244 +\337\232 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\217\060\202\003\167\240\003\002\001\002\002\020\166 +\257\356\210\223\025\105\266\120\123\233\200\234\244\337\232\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\121 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060 +\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160 +\157\162\141\164\151\157\156\061\050\060\046\006\003\125\004\003 +\014\037\123\123\114\056\143\157\155\040\103\154\151\145\156\164 +\040\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062 +\062\060\036\027\015\062\062\060\070\062\065\061\066\063\061\060 +\067\132\027\015\064\066\060\070\061\071\061\066\063\061\060\066 +\132\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103 +\157\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003 +\125\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151 +\145\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040 +\062\060\062\062\060\202\002\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 +\002\202\002\001\000\270\130\333\106\060\373\311\077\343\310\360 +\001\063\064\342\332\110\250\030\351\040\156\232\327\001\341\325 +\051\217\060\264\043\152\344\313\142\260\276\342\237\040\275\076 +\124\240\071\150\307\206\067\146\164\006\006\357\164\053\332\334 +\237\204\251\122\057\220\322\356\176\174\373\245\042\255\157\160 +\106\147\226\075\051\324\243\273\126\173\024\004\131\301\041\143 +\104\036\262\037\022\134\220\207\145\015\210\366\036\210\042\342 +\143\124\273\363\066\370\326\177\334\332\377\051\065\251\306\156 +\016\151\133\077\330\276\202\207\025\160\135\260\307\134\022\017 +\143\246\070\315\317\163\271\303\016\211\046\067\033\077\142\034 +\062\151\321\233\331\377\125\220\061\336\261\143\335\317\305\164 +\167\374\357\210\041\123\277\000\061\032\046\054\000\060\245\137 +\154\343\344\366\000\212\312\230\207\234\164\003\172\213\146\354 +\176\375\243\217\065\045\134\170\245\263\244\373\075\155\251\212 +\360\154\210\202\213\375\112\320\157\344\327\243\264\216\064\111 +\070\276\316\105\345\322\034\312\136\302\067\024\213\315\146\126 +\063\067\235\345\153\354\103\222\144\240\102\332\165\157\300\025 +\354\371\151\275\064\271\212\173\372\026\373\125\376\122\040\350 +\004\004\126\126\145\365\067\104\230\310\212\106\351\267\254\270 +\350\276\142\216\124\066\133\367\073\160\277\135\356\055\272\137 +\336\102\031\206\360\177\213\353\010\313\330\276\352\016\102\102 +\240\066\163\127\027\355\062\352\320\215\350\007\033\233\231\350 +\304\232\142\004\016\110\367\074\022\272\367\130\301\232\214\351 +\307\260\043\066\126\064\035\313\154\332\272\007\204\035\375\321 +\254\237\346\302\211\357\303\271\154\030\263\151\207\127\137\265 +\014\070\133\247\041\044\052\073\247\064\221\236\264\124\352\050 +\117\323\301\243\213\344\346\053\325\362\235\277\233\141\000\042 +\335\326\113\104\037\077\135\126\376\336\234\170\314\231\133\252 +\344\275\272\333\103\113\255\114\046\114\243\115\064\212\154\164 +\066\023\333\142\374\233\262\005\201\377\256\077\014\315\366\033 +\242\364\071\347\312\365\114\134\373\124\167\065\200\132\300\022 +\241\023\001\063\147\075\235\201\241\251\365\205\044\130\210\170 +\347\364\343\150\125\002\003\001\000\001\243\143\060\141\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\037\006\003\125\035\043\004\030\060\026\200\024\360\070\102\224 +\064\251\074\000\177\122\356\071\245\367\113\015\274\152\175\043 +\060\035\006\003\125\035\016\004\026\004\024\360\070\102\224\064 +\251\074\000\177\122\356\071\245\367\113\015\274\152\175\043\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 +\002\001\000\231\117\333\360\352\326\021\372\052\375\310\253\155 +\344\016\163\142\322\102\237\025\376\174\160\122\077\144\207\202 +\061\077\105\100\056\341\042\237\006\146\051\374\226\323\055\215 +\266\070\307\331\363\047\301\131\051\240\214\366\163\044\017\050 +\042\327\116\141\335\023\335\333\237\062\122\223\373\117\314\352 +\070\074\230\152\003\253\026\257\041\321\102\256\175\105\053\352 +\304\317\212\131\237\202\160\166\072\370\142\046\311\020\227\130 +\100\044\244\055\271\057\051\200\047\341\211\153\162\312\111\010 +\161\067\123\005\361\200\316\323\102\002\322\374\302\321\224\006 +\356\007\342\366\203\342\177\237\347\273\126\303\133\277\335\225 +\223\011\036\044\301\317\046\315\255\244\256\302\264\151\347\252 +\265\355\067\224\351\335\321\143\205\153\232\172\112\126\166\334 +\031\205\050\324\344\306\244\330\270\226\101\167\320\264\131\361 +\106\005\207\207\002\037\151\271\202\030\320\103\331\046\332\032 +\147\250\326\165\166\352\362\155\016\102\377\210\046\242\156\204 +\376\176\142\033\360\306\075\355\300\034\152\307\221\326\270\000 +\067\111\233\271\204\005\241\315\156\061\326\104\352\123\213\272 +\123\230\035\241\220\212\351\205\370\033\362\223\130\303\310\334 +\232\046\117\076\040\317\117\103\363\020\214\177\020\141\172\066 +\312\252\013\175\314\237\107\104\131\256\245\225\306\231\123\343 +\007\153\075\111\020\260\030\377\135\016\205\103\024\113\347\153 +\323\112\265\262\140\141\334\151\111\002\043\135\350\222\161\303 +\234\237\105\147\171\036\334\062\206\272\252\125\074\144\157\062 +\265\020\100\025\336\162\100\170\340\156\160\273\156\353\011\350 +\071\331\254\272\222\165\335\103\312\272\001\225\255\032\201\053 +\072\360\343\305\057\014\030\115\020\306\256\300\355\376\005\122 +\177\031\005\313\251\257\065\010\014\070\042\344\376\126\345\123 +\076\277\344\326\263\331\010\303\075\325\063\062\201\044\305\251 +\341\145\021\270\062\063\060\161\030\111\035\032\105\306\232\024 +\212\130\071\050\156\363\313\121\271\111\046\144\170\003\307\221 +\021\203\251\271\220\064\266\157\252\005\236\205\050\127\231\276 +\177\047\006\111\142\115\241\374\011\341\053\106\011\114\024\233 +\126\217\105 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com Client RSA Root CA 2022" +# Issuer: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US +# Serial Number:76:af:ee:88:93:15:45:b6:50:53:9b:80:9c:a4:df:9a +# Subject: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US +# Not Valid Before: Thu Aug 25 16:31:07 2022 +# Not Valid After : Sun Aug 19 16:31:06 2046 +# Fingerprint (SHA-256): 1D:4C:A4:A2:AB:21:D0:09:36:59:80:4F:C0:EB:21:75:A6:17:27:9B:56:A2:47:52:45:C9:51:7A:FE:B5:91:53 +# Fingerprint (SHA1): AA:59:70:E5:20:32:9F:CB:D0:D5:79:9F:FB:1B:82:1D:FD:1F:79:65 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Client RSA Root CA 2022" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\252\131\160\345\040\062\237\313\320\325\171\237\373\033\202\035 +\375\037\171\145 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\011\215\322\312\256\154\024\276\276\014\224\157\067\027\040\316 +END +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157 +\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125 +\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145 +\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040\062 +\060\062\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\166\257\356\210\223\025\105\266\120\123\233\200\234\244 +\337\232 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Atos TrustedRoot Root CA ECC G2 2020" +# +# Issuer: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE +# Serial Number:0b:73:28:11:18:74:30:1c:ef:6f:08:84 +# Subject: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE +# Not Valid Before: Tue Dec 15 08:39:10 2020 +# Not Valid After : Mon Dec 10 08:39:09 2040 +# Fingerprint (SHA-256): E3:86:55:F4:B0:19:0C:84:D3:B3:89:3D:84:0A:68:7E:19:0A:25:6D:98:05:2F:15:9E:6D:4A:39:F5:89:A6:EB +# Fingerprint (SHA1): 61:25:56:DA:62:94:E5:AE:B3:3C:F8:11:BD:B1:DC:F8:A5:D8:B3:E4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC G2 2020" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055 +\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\105\103\103\040\107\062\040\062\060\062\060 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055 +\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\105\103\103\040\107\062\040\062\060\062\060 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\014\013\163\050\021\030\164\060\034\357\157\010\204 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\061\060\202\001\266\240\003\002\001\002\002\014\013 +\163\050\021\030\164\060\034\357\157\010\204\060\012\006\010\052 +\206\110\316\075\004\003\003\060\113\061\013\060\011\006\003\125 +\004\006\023\002\104\105\061\015\060\013\006\003\125\004\012\014 +\004\101\164\157\163\061\055\060\053\006\003\125\004\003\014\044 +\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157\164 +\040\122\157\157\164\040\103\101\040\105\103\103\040\107\062\040 +\062\060\062\060\060\036\027\015\062\060\061\062\061\065\060\070 +\063\071\061\060\132\027\015\064\060\061\062\061\060\060\070\063 +\071\060\071\132\060\113\061\013\060\011\006\003\125\004\006\023 +\002\104\105\061\015\060\013\006\003\125\004\012\014\004\101\164 +\157\163\061\055\060\053\006\003\125\004\003\014\044\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\105\103\103\040\107\062\040\062\060\062 +\060\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 +\053\201\004\000\042\003\142\000\004\310\134\200\312\116\302\050 +\037\127\277\070\346\141\043\374\320\251\133\226\026\026\303\014 +\136\025\245\220\011\377\070\050\264\172\036\012\326\123\052\301 +\273\220\100\164\067\351\201\350\215\057\150\001\065\174\122\056 +\330\364\130\263\021\034\133\331\207\030\223\221\055\354\235\332 +\154\236\155\204\110\374\302\211\005\353\230\023\002\001\154\123 +\036\016\111\143\130\107\261\257\302\243\143\060\141\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\037 +\006\003\125\035\043\004\030\060\026\200\024\133\037\304\161\154 +\262\033\237\276\134\037\214\375\263\266\373\263\016\011\207\060 +\035\006\003\125\035\016\004\026\004\024\133\037\304\161\154\262 +\033\237\276\134\037\214\375\263\266\373\263\016\011\207\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\012 +\006\010\052\206\110\316\075\004\003\003\003\151\000\060\146\002 +\061\000\354\340\231\375\335\344\124\301\313\037\350\076\050\327 +\025\131\112\202\312\123\060\354\353\066\245\271\310\316\223\107 +\126\310\141\246\341\155\222\123\225\217\366\343\125\123\360\335 +\172\347\002\061\000\260\207\325\033\263\140\374\221\215\200\312 +\242\033\121\113\070\124\313\252\036\173\327\345\104\225\026\057 +\074\104\170\056\045\272\352\220\344\354\122\356\127\354\003\204 +\363\136\333\026\015 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Atos TrustedRoot Root CA ECC G2 2020" +# Issuer: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE +# Serial Number:0b:73:28:11:18:74:30:1c:ef:6f:08:84 +# Subject: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE +# Not Valid Before: Tue Dec 15 08:39:10 2020 +# Not Valid After : Mon Dec 10 08:39:09 2040 +# Fingerprint (SHA-256): E3:86:55:F4:B0:19:0C:84:D3:B3:89:3D:84:0A:68:7E:19:0A:25:6D:98:05:2F:15:9E:6D:4A:39:F5:89:A6:EB +# Fingerprint (SHA1): 61:25:56:DA:62:94:E5:AE:B3:3C:F8:11:BD:B1:DC:F8:A5:D8:B3:E4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC G2 2020" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\141\045\126\332\142\224\345\256\263\074\370\021\275\261\334\370 +\245\330\263\344 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\225\320\233\116\332\275\252\035\225\265\242\302\135\337\210\214 +END +CKA_ISSUER MULTILINE_OCTAL +\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055 +\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\105\103\103\040\107\062\040\062\060\062\060 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\014\013\163\050\021\030\164\060\034\357\157\010\204 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Atos TrustedRoot Root CA RSA G2 2020" +# +# Issuer: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE +# Serial Number:47:ba:29:46:55:3e:16:92:97:b0:ab:40 +# Subject: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE +# Not Valid Before: Tue Dec 15 08:41:23 2020 +# Not Valid After : Mon Dec 10 08:41:22 2040 +# Fingerprint (SHA-256): 78:83:3A:78:3B:B2:98:6C:25:4B:93:70:D3:C2:0E:5E:BA:8F:A7:84:0C:BF:63:FE:17:29:7A:0B:01:19:68:5E +# Fingerprint (SHA1): 32:D1:27:FA:93:B1:C1:4C:99:E2:4A:40:BC:7F:94:41:1B:5A:AC:A4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA G2 2020" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055 +\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\122\123\101\040\107\062\040\062\060\062\060 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055 +\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\122\123\101\040\107\062\040\062\060\062\060 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\014\107\272\051\106\125\076\026\222\227\260\253\100 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\177\060\202\003\147\240\003\002\001\002\002\014\107 +\272\051\106\125\076\026\222\227\260\253\100\060\015\006\011\052 +\206\110\206\367\015\001\001\014\005\000\060\113\061\013\060\011 +\006\003\125\004\006\023\002\104\105\061\015\060\013\006\003\125 +\004\012\014\004\101\164\157\163\061\055\060\053\006\003\125\004 +\003\014\044\101\164\157\163\040\124\162\165\163\164\145\144\122 +\157\157\164\040\122\157\157\164\040\103\101\040\122\123\101\040 +\107\062\040\062\060\062\060\060\036\027\015\062\060\061\062\061 +\065\060\070\064\061\062\063\132\027\015\064\060\061\062\061\060 +\060\070\064\061\062\062\132\060\113\061\013\060\011\006\003\125 +\004\006\023\002\104\105\061\015\060\013\006\003\125\004\012\014 +\004\101\164\157\163\061\055\060\053\006\003\125\004\003\014\044 +\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157\164 +\040\122\157\157\164\040\103\101\040\122\123\101\040\107\062\040 +\062\060\062\060\060\202\002\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 +\002\202\002\001\000\226\061\205\112\252\017\062\376\171\341\103 +\207\234\373\043\267\216\177\015\124\275\307\142\223\167\344\034 +\065\004\166\243\003\213\042\356\304\204\335\245\223\156\156\262 +\216\011\003\353\121\026\061\027\252\151\025\030\016\147\164\043 +\136\352\232\175\265\071\076\075\202\251\153\341\376\251\034\260 +\255\132\115\114\170\203\101\213\317\362\035\142\232\230\004\234 +\143\351\253\145\376\110\035\044\145\007\107\076\271\221\056\351 +\235\233\177\032\065\251\064\260\267\345\160\063\357\112\162\121 +\266\007\277\140\077\052\237\235\124\337\363\327\224\111\121\003 +\132\100\251\150\335\021\131\134\370\166\246\274\120\122\020\355 +\254\354\225\340\324\203\153\111\332\012\117\231\203\336\062\203 +\110\203\147\225\262\176\347\201\205\075\315\202\367\312\002\355 +\155\210\135\010\215\270\065\277\052\151\060\231\273\113\321\101 +\333\105\240\223\231\121\201\220\066\010\252\212\266\350\217\263 +\313\356\345\106\015\162\165\365\111\154\341\242\177\057\274\355 +\204\246\067\356\336\302\117\071\116\366\236\360\311\321\233\060 +\235\111\155\341\332\377\022\020\214\326\345\231\173\005\266\175 +\260\011\307\244\370\262\034\071\225\071\063\364\065\316\045\142 +\173\260\137\040\363\313\155\370\154\122\024\144\104\217\323\310 +\251\166\007\345\257\161\231\055\055\004\045\110\166\257\303\347 +\314\103\362\007\274\112\044\044\067\335\372\156\224\011\157\114 +\136\001\264\376\124\354\043\226\245\136\335\206\377\351\106\052 +\361\350\334\354\245\075\257\157\252\016\017\264\165\372\076\010 +\271\046\105\117\146\206\114\274\031\270\341\325\065\356\202\204 +\310\323\253\022\347\315\163\063\142\167\364\027\313\275\064\166 +\052\005\316\225\345\170\171\113\236\260\215\371\074\130\070\221 +\352\136\207\070\300\267\102\375\252\114\207\043\255\004\040\261 +\176\166\102\332\273\266\026\272\127\310\216\023\372\165\325\010 +\114\257\070\221\252\357\217\372\237\111\056\124\174\012\126\261 +\172\372\304\116\057\324\243\372\026\212\320\225\345\227\246\377 +\303\374\174\016\107\130\363\177\007\173\022\334\127\077\055\343 +\241\115\133\122\114\063\207\231\250\011\173\154\176\016\362\317 +\126\102\236\353\005\002\003\001\000\001\243\143\060\141\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\037\006\003\125\035\043\004\030\060\026\200\024\040\045\363\007 +\375\247\157\361\226\356\221\020\151\314\232\357\175\310\150\170 +\060\035\006\003\125\035\016\004\026\004\024\040\045\363\007\375 +\247\157\361\226\356\221\020\151\314\232\357\175\310\150\170\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202 +\002\001\000\044\053\116\230\362\035\027\355\331\166\046\266\060 +\063\350\151\105\241\121\113\122\330\172\072\060\266\344\022\352 +\277\237\114\340\004\244\366\065\306\376\241\060\367\123\205\222 +\255\124\005\127\137\222\345\052\336\066\047\236\173\023\107\311 +\152\165\257\374\363\067\347\014\365\075\001\163\265\151\121\370 +\275\131\321\272\013\370\272\272\144\047\103\263\174\203\225\212 +\347\236\023\226\327\157\112\226\101\111\213\016\040\255\026\306 +\367\246\207\133\210\022\211\213\211\312\022\322\126\257\042\001 +\041\106\351\253\230\077\247\210\336\344\313\052\232\165\031\372 +\071\136\011\005\327\003\062\032\270\027\121\010\307\000\100\175 +\364\276\370\014\131\364\151\166\156\323\244\130\133\136\046\163 +\344\102\125\006\136\170\100\017\323\070\237\357\046\121\160\164 +\221\361\167\142\001\350\331\313\353\241\337\071\062\035\273\153 +\375\161\376\353\317\245\346\024\375\000\200\023\306\232\000\110 +\260\231\005\351\256\200\110\373\011\077\121\024\265\271\347\140 +\115\115\312\057\201\041\356\122\014\145\172\334\365\211\111\114 +\060\222\064\130\200\062\131\261\015\377\044\141\017\347\012\102 +\320\173\274\370\216\047\107\077\160\235\047\331\266\006\075\245 +\273\313\136\217\256\016\123\307\234\152\157\073\114\017\243\100 +\160\250\232\007\316\324\156\133\007\242\322\342\124\266\275\157 +\063\162\143\255\121\230\341\217\166\361\152\007\070\045\376\366 +\142\316\137\333\143\302\156\231\357\006\334\271\336\031\032\350 +\124\075\175\322\166\165\331\136\076\062\110\247\214\362\236\162 +\014\370\270\130\270\027\043\245\024\207\165\130\172\000\201\007 +\042\071\152\114\224\240\265\242\333\247\054\301\260\361\243\233 +\300\114\367\155\160\352\061\237\361\256\175\076\163\050\331\241 +\337\372\223\360\233\260\360\342\315\045\040\165\357\342\175\062 +\005\311\233\166\356\313\275\061\036\371\224\230\113\044\130\126 +\110\300\336\006\114\275\246\064\135\355\026\141\143\163\373\031 +\342\372\133\330\227\165\324\155\236\140\071\136\224\213\002\054 +\353\231\316\140\052\156\033\214\247\113\274\375\066\346\230\037 +\145\362\177\361\343\217\114\200\106\066\130\266\241\145\313\316 +\034\104\165 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Atos TrustedRoot Root CA RSA G2 2020" +# Issuer: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE +# Serial Number:47:ba:29:46:55:3e:16:92:97:b0:ab:40 +# Subject: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE +# Not Valid Before: Tue Dec 15 08:41:23 2020 +# Not Valid After : Mon Dec 10 08:41:22 2040 +# Fingerprint (SHA-256): 78:83:3A:78:3B:B2:98:6C:25:4B:93:70:D3:C2:0E:5E:BA:8F:A7:84:0C:BF:63:FE:17:29:7A:0B:01:19:68:5E +# Fingerprint (SHA1): 32:D1:27:FA:93:B1:C1:4C:99:E2:4A:40:BC:7F:94:41:1B:5A:AC:A4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA G2 2020" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\062\321\047\372\223\261\301\114\231\342\112\100\274\177\224\101 +\033\132\254\244 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\333\077\351\043\365\264\214\335\350\263\076\250\265\137\146\066 +END +CKA_ISSUER MULTILINE_OCTAL +\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055 +\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\122\123\101\040\107\062\040\062\060\062\060 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\014\107\272\051\106\125\076\026\222\227\260\253\100 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Atos TrustedRoot Root CA ECC TLS 2021" +# +# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021 +# Serial Number:3d:98:3b:a6:66:3d:90:63:f7:7e:26:57:38:04:ef:00 +# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021 +# Not Valid Before: Thu Apr 22 09:26:23 2021 +# Not Valid After : Wed Apr 17 09:26:22 2041 +# Fingerprint (SHA-256): B2:FA:E5:3E:14:CC:D7:AB:92:12:06:47:01:AE:27:9C:1D:89:88:FA:CB:77:5F:A8:A0:08:91:4E:66:39:88:A8 +# Fingerprint (SHA1): 9E:BC:75:10:42:B3:02:F3:81:F4:F7:30:62:D4:8F:C3:A7:51:B2:DD +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC TLS 2021" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\105\103\103\040\124\114\123\040\062\060 +\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\105\103\103\040\124\114\123\040\062\060 +\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\075\230\073\246\146\075\220\143\367\176\046\127\070\004 +\357\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\025\060\202\001\233\240\003\002\001\002\002\020\075 +\230\073\246\146\075\220\143\367\176\046\127\070\004\357\000\060 +\012\006\010\052\206\110\316\075\004\003\003\060\114\061\056\060 +\054\006\003\125\004\003\014\045\101\164\157\163\040\124\162\165 +\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103\101 +\040\105\103\103\040\124\114\123\040\062\060\062\061\061\015\060 +\013\006\003\125\004\012\014\004\101\164\157\163\061\013\060\011 +\006\003\125\004\006\023\002\104\105\060\036\027\015\062\061\060 +\064\062\062\060\071\062\066\062\063\132\027\015\064\061\060\064 +\061\067\060\071\062\066\062\062\132\060\114\061\056\060\054\006 +\003\125\004\003\014\045\101\164\157\163\040\124\162\165\163\164 +\145\144\122\157\157\164\040\122\157\157\164\040\103\101\040\105 +\103\103\040\124\114\123\040\062\060\062\061\061\015\060\013\006 +\003\125\004\012\014\004\101\164\157\163\061\013\060\011\006\003 +\125\004\006\023\002\104\105\060\166\060\020\006\007\052\206\110 +\316\075\002\001\006\005\053\201\004\000\042\003\142\000\004\226 +\206\130\050\067\012\147\320\240\336\044\031\031\341\344\005\007 +\037\227\355\350\144\202\271\366\304\161\120\316\212\014\377\327 +\265\166\273\241\154\223\154\203\242\150\156\245\331\276\054\210 +\225\101\315\135\335\261\312\203\143\203\314\300\276\164\331\340 +\235\244\356\112\116\126\340\230\051\101\223\122\020\325\044\070 +\002\062\147\361\224\022\157\357\327\305\336\056\375\031\200\243 +\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\166 +\050\045\326\175\340\146\232\172\011\262\152\073\216\063\327\066 +\323\117\242\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\206\060\012\006\010\052\206\110\316\075\004\003\003\003 +\150\000\060\145\002\060\133\231\051\363\234\061\266\211\153\154 +\326\275\167\341\174\347\121\176\270\072\315\243\066\137\174\367 +\074\167\076\344\120\255\250\347\322\131\014\046\216\060\073\156 +\010\052\302\247\132\310\002\061\000\231\343\014\347\243\303\257 +\323\111\056\106\202\043\146\135\311\000\024\022\375\070\364\341 +\230\153\167\051\172\333\044\317\145\100\277\322\334\214\021\350 +\364\175\177\040\204\251\102\344\050 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Atos TrustedRoot Root CA ECC TLS 2021" +# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021 +# Serial Number:3d:98:3b:a6:66:3d:90:63:f7:7e:26:57:38:04:ef:00 +# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021 +# Not Valid Before: Thu Apr 22 09:26:23 2021 +# Not Valid After : Wed Apr 17 09:26:22 2041 +# Fingerprint (SHA-256): B2:FA:E5:3E:14:CC:D7:AB:92:12:06:47:01:AE:27:9C:1D:89:88:FA:CB:77:5F:A8:A0:08:91:4E:66:39:88:A8 +# Fingerprint (SHA1): 9E:BC:75:10:42:B3:02:F3:81:F4:F7:30:62:D4:8F:C3:A7:51:B2:DD +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC TLS 2021" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\236\274\165\020\102\263\002\363\201\364\367\060\142\324\217\303 +\247\121\262\335 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\026\237\255\361\160\255\171\326\355\051\264\321\305\171\160\250 +END +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\105\103\103\040\124\114\123\040\062\060 +\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\075\230\073\246\146\075\220\143\367\176\046\127\070\004 +\357\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Atos TrustedRoot Root CA RSA TLS 2021" +# +# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021 +# Serial Number:53:d5:cf:e6:19:93:0b:fb:2b:05:12:d8:c2:2a:a2:a4 +# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021 +# Not Valid Before: Thu Apr 22 09:21:10 2021 +# Not Valid After : Wed Apr 17 09:21:09 2041 +# Fingerprint (SHA-256): 81:A9:08:8E:A5:9F:B3:64:C5:48:A6:F8:55:59:09:9B:6F:04:05:EF:BF:18:E5:32:4E:C9:F4:57:BA:00:11:2F +# Fingerprint (SHA1): 18:52:3B:0D:06:37:E4:D6:3A:DF:23:E4:98:FB:5B:16:FB:86:74:48 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA TLS 2021" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\122\123\101\040\124\114\123\040\062\060 +\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\122\123\101\040\124\114\123\040\062\060 +\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\123\325\317\346\031\223\013\373\053\005\022\330\302\052 +\242\244 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\144\060\202\003\114\240\003\002\001\002\002\020\123 +\325\317\346\031\223\013\373\053\005\022\330\302\052\242\244\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\114 +\061\056\060\054\006\003\125\004\003\014\045\101\164\157\163\040 +\124\162\165\163\164\145\144\122\157\157\164\040\122\157\157\164 +\040\103\101\040\122\123\101\040\124\114\123\040\062\060\062\061 +\061\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061 +\013\060\011\006\003\125\004\006\023\002\104\105\060\036\027\015 +\062\061\060\064\062\062\060\071\062\061\061\060\132\027\015\064 +\061\060\064\061\067\060\071\062\061\060\071\132\060\114\061\056 +\060\054\006\003\125\004\003\014\045\101\164\157\163\040\124\162 +\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103 +\101\040\122\123\101\040\124\114\123\040\062\060\062\061\061\015 +\060\013\006\003\125\004\012\014\004\101\164\157\163\061\013\060 +\011\006\003\125\004\006\023\002\104\105\060\202\002\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 +\017\000\060\202\002\012\002\202\002\001\000\266\200\016\304\171 +\275\005\214\175\260\243\235\115\042\115\313\360\101\227\115\131 +\340\321\376\126\214\227\362\327\275\217\154\267\043\217\137\325 +\304\330\101\313\362\002\036\161\345\351\366\136\313\010\052\136 +\060\362\055\146\307\204\033\144\127\070\235\165\055\126\306\057 +\141\357\226\374\040\106\275\353\324\173\077\077\174\107\070\004 +\251\033\252\122\337\023\067\323\025\025\116\275\137\174\257\255 +\143\307\171\334\010\173\325\240\345\367\133\165\254\200\125\231 +\222\141\233\315\052\027\175\333\217\364\265\152\352\027\112\144 +\050\146\025\051\154\002\361\153\325\272\243\063\334\132\147\247 +\005\342\277\145\266\026\260\020\355\315\120\063\311\160\120\354 +\031\216\260\307\362\164\133\153\104\306\175\226\271\230\010\131 +\146\336\051\001\233\364\052\155\323\025\072\220\152\147\361\264 +\153\146\331\041\353\312\331\142\174\106\020\134\336\165\111\147 +\236\102\371\376\165\251\243\255\377\166\012\147\100\343\305\367 +\215\307\205\232\131\236\142\232\152\355\105\207\230\147\262\325 +\112\074\327\264\073\000\015\300\217\037\341\100\304\256\154\041 +\334\111\176\176\312\262\215\155\266\277\223\057\241\134\076\217 +\312\355\200\216\130\341\333\127\317\205\066\070\262\161\244\011 +\214\222\211\010\210\110\361\100\143\030\262\133\214\132\343\303 +\323\027\252\253\031\243\054\033\344\325\306\342\146\172\327\202 +\031\246\073\026\054\057\161\207\137\105\236\225\163\223\302\102 +\201\041\023\226\327\235\273\223\150\025\372\235\244\035\214\362 +\201\340\130\006\275\311\266\343\366\211\135\211\371\254\104\241 +\313\153\372\026\361\307\120\075\044\332\367\303\344\207\325\126 +\361\117\220\060\372\105\011\131\332\064\316\340\023\034\004\174 +\000\324\233\206\244\100\274\331\334\114\127\176\256\267\063\266 +\136\166\341\145\213\146\337\215\312\327\230\257\316\066\230\214 +\234\203\231\003\160\363\257\164\355\306\016\066\347\275\354\301 +\163\247\224\132\313\222\144\202\246\000\301\160\241\156\054\051 +\341\130\127\354\132\174\231\153\045\244\220\072\200\364\040\235 +\232\316\307\055\371\262\113\051\225\203\351\065\215\247\111\110 +\247\017\114\031\221\320\365\277\020\340\161\002\003\001\000\001 +\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 +\164\111\231\321\377\264\172\150\105\165\303\176\264\334\314\316 +\071\063\332\010\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\206\060\015\006\011\052\206\110\206\367\015\001\001 +\014\005\000\003\202\002\001\000\043\103\123\044\142\134\155\375 +\076\302\317\125\000\154\305\126\210\271\016\335\072\342\045\015 +\225\112\227\312\200\211\356\052\315\145\370\333\026\340\011\222 +\340\030\307\170\230\273\363\354\102\122\373\251\244\202\327\115 +\330\212\374\344\116\375\253\220\304\070\165\062\204\237\377\263 +\260\053\002\063\066\300\020\220\157\035\234\257\341\151\223\354 +\243\105\057\024\237\365\114\052\145\103\162\014\367\303\370\225 +\213\024\363\205\040\142\335\124\123\335\054\334\030\225\151\117 +\203\107\160\100\063\130\167\022\014\242\353\122\061\036\114\311 +\250\316\305\357\303\321\255\340\153\003\000\064\046\264\124\041 +\065\227\001\334\137\033\361\174\347\125\372\055\150\167\173\323 +\151\314\323\016\153\272\115\166\104\326\302\025\232\046\354\260 +\305\365\273\321\172\164\302\154\315\305\265\136\366\114\346\133 +\055\201\333\263\267\072\227\236\355\317\106\262\120\075\204\140 +\231\161\265\063\265\127\105\346\102\107\165\152\016\260\010\014 +\256\275\336\367\273\017\130\075\217\003\061\350\075\202\120\312 +\057\136\014\135\264\227\276\040\064\007\364\304\022\341\356\327 +\260\331\131\055\151\367\061\004\364\362\371\253\371\023\061\370 +\001\167\016\075\102\043\046\314\232\162\147\121\041\172\314\074 +\205\250\352\041\152\073\333\132\074\245\064\236\232\300\054\337 +\200\234\051\340\337\167\224\321\242\200\102\377\152\114\133\021 +\320\365\315\242\276\256\314\121\134\303\325\124\173\014\256\326 +\271\006\167\200\342\357\007\032\150\314\131\121\255\176\134\147 +\153\271\333\342\007\102\133\270\001\005\130\071\115\344\273\230 +\243\261\062\354\331\243\326\157\224\043\377\073\267\051\145\346 +\007\351\357\266\031\352\347\302\070\035\062\210\220\074\023\053 +\156\314\357\253\167\006\064\167\204\117\162\344\201\204\371\271 +\164\064\336\166\117\222\052\123\261\045\071\333\074\377\345\076 +\246\016\345\153\236\377\333\354\057\164\203\337\216\264\263\251 +\336\024\115\377\061\243\105\163\044\372\225\051\314\022\227\004 +\242\070\266\215\260\360\067\374\310\041\177\077\263\044\033\075 +\213\156\314\115\260\026\015\226\035\203\037\106\300\233\275\103 +\231\347\304\226\056\316\137\311 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Atos TrustedRoot Root CA RSA TLS 2021" +# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021 +# Serial Number:53:d5:cf:e6:19:93:0b:fb:2b:05:12:d8:c2:2a:a2:a4 +# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021 +# Not Valid Before: Thu Apr 22 09:21:10 2021 +# Not Valid After : Wed Apr 17 09:21:09 2041 +# Fingerprint (SHA-256): 81:A9:08:8E:A5:9F:B3:64:C5:48:A6:F8:55:59:09:9B:6F:04:05:EF:BF:18:E5:32:4E:C9:F4:57:BA:00:11:2F +# Fingerprint (SHA1): 18:52:3B:0D:06:37:E4:D6:3A:DF:23:E4:98:FB:5B:16:FB:86:74:48 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA TLS 2021" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\030\122\073\015\006\067\344\326\072\337\043\344\230\373\133\026 +\373\206\164\110 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\324\323\106\270\232\300\234\166\135\236\072\303\271\231\061\322 +END +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157 +\157\164\040\103\101\040\122\123\101\040\124\114\123\040\062\060 +\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\123\325\317\346\031\223\013\373\053\005\022\330\302\052 +\242\244 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE diff --git a/nss/lib/ckfw/builtins/nssckbi.h b/nss/lib/ckfw/builtins/nssckbi.h index 766e7d7..e25bdc4 100644 --- a/nss/lib/ckfw/builtins/nssckbi.h +++ b/nss/lib/ckfw/builtins/nssckbi.h @@ -46,8 +46,8 @@ * It's recommend to switch back to 0 after having reached version 98/99. */ #define NSS_BUILTINS_LIBRARY_VERSION_MAJOR 2 -#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 60 -#define NSS_BUILTINS_LIBRARY_VERSION "2.60" +#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 62 +#define NSS_BUILTINS_LIBRARY_VERSION "2.62" /* These version numbers detail the semantic changes to the ckfw engine. */ #define NSS_BUILTINS_HARDWARE_VERSION_MAJOR 1 diff --git a/nss/lib/cryptohi/sechash.c b/nss/lib/cryptohi/sechash.c index 474fdff..5c592df 100644 --- a/nss/lib/cryptohi/sechash.c +++ b/nss/lib/cryptohi/sechash.c @@ -85,6 +85,30 @@ sha512_NewContext(void) return (void *)PK11_CreateDigestContext(SEC_OID_SHA512); } +static void * +sha3_224_NewContext(void) +{ + return (void *)PK11_CreateDigestContext(SEC_OID_SHA3_224); +} + +static void * +sha3_256_NewContext(void) +{ + return (void *)PK11_CreateDigestContext(SEC_OID_SHA3_256); +} + +static void * +sha3_384_NewContext(void) +{ + return (void *)PK11_CreateDigestContext(SEC_OID_SHA3_384); +} + +static void * +sha3_512_NewContext(void) +{ + return (void *)PK11_CreateDigestContext(SEC_OID_SHA3_512); +} + const SECHashObject SECHashObjects[] = { { 0, (void *(*)(void))null_hash_new_context, @@ -166,6 +190,46 @@ const SECHashObject SECHashObjects[] = { PK11_DigestFinal, SHA224_BLOCK_LENGTH, HASH_AlgSHA224 }, + { SHA3_224_LENGTH, + (void *(*)(void))sha3_224_NewContext, + (void *(*)(void *))PK11_CloneContext, + (void (*)(void *, PRBool))PK11_DestroyContext, + (void (*)(void *))PK11_DigestBegin, + (void (*)(void *, const unsigned char *, unsigned int))PK11_DigestOp, + (void (*)(void *, unsigned char *, unsigned int *, unsigned int)) + PK11_DigestFinal, + SHA3_224_BLOCK_LENGTH, + HASH_AlgSHA3_224 }, + { SHA3_256_LENGTH, + (void *(*)(void))sha3_256_NewContext, + (void *(*)(void *))PK11_CloneContext, + (void (*)(void *, PRBool))PK11_DestroyContext, + (void (*)(void *))PK11_DigestBegin, + (void (*)(void *, const unsigned char *, unsigned int))PK11_DigestOp, + (void (*)(void *, unsigned char *, unsigned int *, unsigned int)) + PK11_DigestFinal, + SHA3_256_BLOCK_LENGTH, + HASH_AlgSHA3_256 }, + { SHA3_384_LENGTH, + (void *(*)(void))sha3_384_NewContext, + (void *(*)(void *))PK11_CloneContext, + (void (*)(void *, PRBool))PK11_DestroyContext, + (void (*)(void *))PK11_DigestBegin, + (void (*)(void *, const unsigned char *, unsigned int))PK11_DigestOp, + (void (*)(void *, unsigned char *, unsigned int *, unsigned int)) + PK11_DigestFinal, + SHA3_384_BLOCK_LENGTH, + HASH_AlgSHA3_384 }, + { SHA3_512_LENGTH, + (void *(*)(void))sha3_512_NewContext, + (void *(*)(void *))PK11_CloneContext, + (void (*)(void *, PRBool))PK11_DestroyContext, + (void (*)(void *))PK11_DigestBegin, + (void (*)(void *, const unsigned char *, unsigned int))PK11_DigestOp, + (void (*)(void *, unsigned char *, unsigned int *, unsigned int)) + PK11_DigestFinal, + SHA3_512_BLOCK_LENGTH, + HASH_AlgSHA3_512 }, }; const SECHashObject * @@ -201,6 +265,18 @@ HASH_GetHashTypeByOidTag(SECOidTag hashOid) case SEC_OID_SHA512: ht = HASH_AlgSHA512; break; + case SEC_OID_SHA3_224: + ht = HASH_AlgSHA3_224; + break; + case SEC_OID_SHA3_256: + ht = HASH_AlgSHA3_256; + break; + case SEC_OID_SHA3_384: + ht = HASH_AlgSHA3_384; + break; + case SEC_OID_SHA3_512: + ht = HASH_AlgSHA3_512; + break; default: PORT_SetError(SEC_ERROR_INVALID_ALGORITHM); break; @@ -235,6 +311,18 @@ HASH_GetHashOidTagByHashType(HASH_HashType type) case HASH_AlgSHA512: oid = SEC_OID_SHA512; break; + case HASH_AlgSHA3_224: + oid = SEC_OID_SHA3_224; + break; + case HASH_AlgSHA3_256: + oid = SEC_OID_SHA3_256; + break; + case HASH_AlgSHA3_384: + oid = SEC_OID_SHA3_384; + break; + case HASH_AlgSHA3_512: + oid = SEC_OID_SHA3_512; + break; default: PORT_SetError(SEC_ERROR_INVALID_ALGORITHM); break; @@ -265,6 +353,18 @@ HASH_GetHashOidTagByHMACOidTag(SECOidTag hmacOid) case SEC_OID_HMAC_SHA512: hashOid = SEC_OID_SHA512; break; + case SEC_OID_HMAC_SHA3_224: + hashOid = SEC_OID_SHA3_224; + break; + case SEC_OID_HMAC_SHA3_256: + hashOid = SEC_OID_SHA3_256; + break; + case SEC_OID_HMAC_SHA3_384: + hashOid = SEC_OID_SHA3_384; + break; + case SEC_OID_HMAC_SHA3_512: + hashOid = SEC_OID_SHA3_512; + break; default: hashOid = SEC_OID_UNKNOWN; PORT_SetError(SEC_ERROR_INVALID_ALGORITHM); @@ -296,6 +396,18 @@ HASH_GetHMACOidTagByHashOidTag(SECOidTag hashOid) case SEC_OID_SHA512: hmacOid = SEC_OID_HMAC_SHA512; break; + case SEC_OID_SHA3_224: + hmacOid = SEC_OID_HMAC_SHA3_224; + break; + case SEC_OID_SHA3_256: + hmacOid = SEC_OID_HMAC_SHA3_256; + break; + case SEC_OID_SHA3_384: + hmacOid = SEC_OID_HMAC_SHA3_384; + break; + case SEC_OID_SHA3_512: + hmacOid = SEC_OID_HMAC_SHA3_512; + break; default: hmacOid = SEC_OID_UNKNOWN; PORT_SetError(SEC_ERROR_INVALID_ALGORITHM); diff --git a/nss/lib/dbm/include/mcom_db.h b/nss/lib/dbm/include/mcom_db.h index c299728..efe9140 100644 --- a/nss/lib/dbm/include/mcom_db.h +++ b/nss/lib/dbm/include/mcom_db.h @@ -111,10 +111,12 @@ typedef PRUint32 uint32; #endif /* __sun */ #if defined(__hpux) || defined(__hppa) +#ifndef BYTE_ORDER #define BYTE_ORDER BIG_ENDIAN #define BIG_ENDIAN 4321 #define LITTLE_ENDIAN 1234 /* LSB first: i386, vax, all NT risc */ #endif +#endif #if defined(AIXV3) || defined(AIX) /* BYTE_ORDER, LITTLE_ENDIAN, BIG_ENDIAN are all defined here */ diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile index 74e8e65..9652cec 100644 --- a/nss/lib/freebl/Makefile +++ b/nss/lib/freebl/Makefile @@ -568,7 +568,6 @@ ifneq ($(shell $(CC) -? 2>&1 >/dev/null p_CMAC_Destroy)(ctx, free_it); } + +/* ============== New for 3.0026 =============================== */ + +SHA3_224Context * +SHA3_224_NewContext(void) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_SHA3_224_NewContext)(); +} + +void +SHA3_224_DestroyContext(SHA3_224Context *cx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_224_DestroyContext)(cx, freeit); +} + +unsigned int +SHA3_224_FlattenSize(SHA3_224Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return 0; + return (vector->p_SHA3_224_FlattenSize)(cx); +} + +void +SHA3_224_Begin(SHA3_224Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_224_Begin)(cx); +} + +void +SHA3_224_Update(SHA3_224Context *cx, const unsigned char *input, + unsigned int inputLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_224_Update)(cx, input, inputLen); +} + +void +SHA3_224_End(SHA3_224Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_224_End)(cx, digest, digestLen, maxDigestLen); +} + +SECStatus +SHA3_224_Hash(unsigned char *dest, const char *src) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_224_Hash)(dest, src); +} + +SECStatus +SHA3_224_HashBuf(unsigned char *dest, const unsigned char *src, PRUint32 src_length) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_224_HashBuf)(dest, src, src_length); +} + +SHA3_256Context * +SHA3_256_NewContext(void) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_SHA3_256_NewContext)(); +} + +void +SHA3_256_DestroyContext(SHA3_256Context *cx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_256_DestroyContext)(cx, freeit); +} + +unsigned int +SHA3_256_FlattenSize(SHA3_256Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return 0; + return (vector->p_SHA3_256_FlattenSize)(cx); +} + +void +SHA3_256_Begin(SHA3_256Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_256_Begin)(cx); +} + +void +SHA3_256_Update(SHA3_256Context *cx, const unsigned char *input, + unsigned int inputLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_256_Update)(cx, input, inputLen); +} + +void +SHA3_256_End(SHA3_256Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_256_End)(cx, digest, digestLen, maxDigestLen); +} + +SECStatus +SHA3_256_Hash(unsigned char *dest, const char *src) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_256_Hash)(dest, src); +} + +SECStatus +SHA3_256_HashBuf(unsigned char *dest, const unsigned char *src, PRUint32 src_length) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_256_HashBuf)(dest, src, src_length); +} + +SHA3_384Context * +SHA3_384_NewContext(void) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_SHA3_384_NewContext)(); +} + +void +SHA3_384_DestroyContext(SHA3_384Context *cx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_384_DestroyContext)(cx, freeit); +} + +unsigned int +SHA3_384_FlattenSize(SHA3_384Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return 0; + return (vector->p_SHA3_384_FlattenSize)(cx); +} + +void +SHA3_384_Begin(SHA3_384Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_384_Begin)(cx); +} + +void +SHA3_384_Update(SHA3_384Context *cx, const unsigned char *input, + unsigned int inputLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_384_Update)(cx, input, inputLen); +} + +void +SHA3_384_End(SHA3_384Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_384_End)(cx, digest, digestLen, maxDigestLen); +} + +SECStatus +SHA3_384_Hash(unsigned char *dest, const char *src) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_384_Hash)(dest, src); +} + +SECStatus +SHA3_384_HashBuf(unsigned char *dest, const unsigned char *src, PRUint32 src_length) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_384_HashBuf)(dest, src, src_length); +} + +SHA3_512Context * +SHA3_512_NewContext(void) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_SHA3_512_NewContext)(); +} + +void +SHA3_512_DestroyContext(SHA3_512Context *cx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_512_DestroyContext)(cx, freeit); +} + +unsigned int +SHA3_512_FlattenSize(SHA3_512Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return 0; + return (vector->p_SHA3_512_FlattenSize)(cx); +} + +void +SHA3_512_Begin(SHA3_512Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_512_Begin)(cx); +} + +void +SHA3_512_Update(SHA3_512Context *cx, const unsigned char *input, + unsigned int inputLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_512_Update)(cx, input, inputLen); +} + +void +SHA3_512_End(SHA3_512Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHA3_512_End)(cx, digest, digestLen, maxDigestLen); +} + +SECStatus +SHA3_512_Hash(unsigned char *dest, const char *src) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_512_Hash)(dest, src); +} + +SECStatus +SHA3_512_HashBuf(unsigned char *dest, const unsigned char *src, PRUint32 src_length) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHA3_512_HashBuf)(dest, src, src_length); +} + +SHAKE_128Context * +SHAKE_128_NewContext(void) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_SHAKE_128_NewContext)(); +} + +void +SHAKE_128_DestroyContext(SHAKE_128Context *cx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_128_DestroyContext)(cx, freeit); +} + +void +SHAKE_128_Begin(SHAKE_128Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_128_Begin)(cx); +} + +void +SHAKE_128_Absorb(SHAKE_128Context *cx, const unsigned char *input, + unsigned int inputLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_128_Absorb)(cx, input, inputLen); +} + +void +SHAKE_128_SqueezeEnd(SHAKE_128Context *cx, unsigned char *digest, + unsigned int digestLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_128_SqueezeEnd)(cx, digest, digestLen); +} + +SECStatus +SHAKE_128_HashBuf(unsigned char *dest, PRUint32 dest_length, const unsigned char *src, PRUint32 src_length) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHAKE_128_HashBuf)(dest, dest_length, src, src_length); +} + +SECStatus +SHAKE_128_Hash(unsigned char *dest, PRUint32 dest_length, const char *src) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHAKE_128_Hash)(dest, dest_length, src); +} + +SHAKE_256Context * +SHAKE_256_NewContext(void) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return NULL; + return (vector->p_SHAKE_256_NewContext)(); +} + +void +SHAKE_256_DestroyContext(SHAKE_256Context *cx, PRBool freeit) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_256_DestroyContext)(cx, freeit); +} + +void +SHAKE_256_Begin(SHAKE_256Context *cx) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_256_Begin)(cx); +} + +void +SHAKE_256_Absorb(SHAKE_256Context *cx, const unsigned char *input, + unsigned int inputLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_256_Absorb)(cx, input, inputLen); +} + +void +SHAKE_256_SqueezeEnd(SHAKE_256Context *cx, unsigned char *digest, + unsigned int digestLen) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return; + (vector->p_SHAKE_256_SqueezeEnd)(cx, digest, digestLen); +} + +SECStatus +SHAKE_256_HashBuf(unsigned char *dest, PRUint32 dest_length, const unsigned char *src, PRUint32 src_length) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHAKE_256_HashBuf)(dest, dest_length, src, src_length); +} + +SECStatus +SHAKE_256_Hash(unsigned char *dest, PRUint32 dest_length, const char *src) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_SHAKE_256_Hash)(dest, dest_length, src); +} diff --git a/nss/lib/freebl/loader.h b/nss/lib/freebl/loader.h index eb3046d..cab96ba 100644 --- a/nss/lib/freebl/loader.h +++ b/nss/lib/freebl/loader.h @@ -10,7 +10,7 @@ #include "blapi.h" -#define FREEBL_VERSION 0x0325 +#define FREEBL_VERSION 0x0326 struct FREEBLVectorStr { @@ -832,6 +832,84 @@ struct FREEBLVectorStr { /* Version 3.025 came to here */ + SHA3_224Context *(*p_SHA3_224_NewContext)(void); + void (*p_SHA3_224_DestroyContext)(SHA3_224Context *cx, PRBool freeit); + unsigned int (*p_SHA3_224_FlattenSize)(SHA3_224Context *cx); + void (*p_SHA3_224_Begin)(SHA3_224Context *cx); + void (*p_SHA3_224_Update)(SHA3_224Context *cx, const unsigned char *input, + unsigned int inputLen); + void (*p_SHA3_224_End)(SHA3_224Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen); + + SECStatus (*p_SHA3_224_HashBuf)(unsigned char *dest, const unsigned char *src, + PRUint32 src_length); + SECStatus (*p_SHA3_224_Hash)(unsigned char *dest, const char *src); + + SHA3_256Context *(*p_SHA3_256_NewContext)(void); + void (*p_SHA3_256_DestroyContext)(SHA3_256Context *cx, PRBool freeit); + unsigned int (*p_SHA3_256_FlattenSize)(SHA3_256Context *cx); + void (*p_SHA3_256_Begin)(SHA3_256Context *cx); + void (*p_SHA3_256_Update)(SHA3_256Context *cx, const unsigned char *input, + unsigned int inputLen); + void (*p_SHA3_256_End)(SHA3_256Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen); + + SECStatus (*p_SHA3_256_HashBuf)(unsigned char *dest, const unsigned char *src, + PRUint32 src_length); + SECStatus (*p_SHA3_256_Hash)(unsigned char *dest, const char *src); + + SHA3_384Context *(*p_SHA3_384_NewContext)(void); + void (*p_SHA3_384_DestroyContext)(SHA3_384Context *cx, PRBool freeit); + unsigned int (*p_SHA3_384_FlattenSize)(SHA3_384Context *cx); + void (*p_SHA3_384_Begin)(SHA3_384Context *cx); + void (*p_SHA3_384_Update)(SHA3_384Context *cx, const unsigned char *input, + unsigned int inputLen); + void (*p_SHA3_384_End)(SHA3_384Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen); + + SECStatus (*p_SHA3_384_HashBuf)(unsigned char *dest, const unsigned char *src, + PRUint32 src_length); + SECStatus (*p_SHA3_384_Hash)(unsigned char *dest, const char *src); + + SHA3_512Context *(*p_SHA3_512_NewContext)(void); + void (*p_SHA3_512_DestroyContext)(SHA3_512Context *cx, PRBool freeit); + unsigned int (*p_SHA3_512_FlattenSize)(SHA3_512Context *cx); + void (*p_SHA3_512_Begin)(SHA3_512Context *cx); + void (*p_SHA3_512_Update)(SHA3_512Context *cx, const unsigned char *input, + unsigned int inputLen); + void (*p_SHA3_512_End)(SHA3_512Context *cx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen); + + SECStatus (*p_SHA3_512_HashBuf)(unsigned char *dest, const unsigned char *src, + PRUint32 src_length); + SECStatus (*p_SHA3_512_Hash)(unsigned char *dest, const char *src); + + SHAKE_128Context *(*p_SHAKE_128_NewContext)(void); + void (*p_SHAKE_128_DestroyContext)(SHAKE_128Context *cx, PRBool freeit); + void (*p_SHAKE_128_Begin)(SHAKE_128Context *cx); + void (*p_SHAKE_128_Absorb)(SHAKE_128Context *cx, const unsigned char *input, + unsigned int inputLen); + void (*p_SHAKE_128_SqueezeEnd)(SHAKE_128Context *cx, unsigned char *digest, + unsigned int digestLen); + + SECStatus (*p_SHAKE_128_HashBuf)(unsigned char *dest, PRUint32 dest_length, + const unsigned char *src, PRUint32 src_length); + SECStatus (*p_SHAKE_128_Hash)(unsigned char *dest, PRUint32 dest_length, const char *src); + + SHAKE_256Context *(*p_SHAKE_256_NewContext)(void); + void (*p_SHAKE_256_DestroyContext)(SHAKE_256Context *cx, PRBool freeit); + void (*p_SHAKE_256_Begin)(SHAKE_256Context *cx); + void (*p_SHAKE_256_Absorb)(SHAKE_256Context *cx, const unsigned char *input, + unsigned int inputLen); + void (*p_SHAKE_256_SqueezeEnd)(SHAKE_256Context *cx, unsigned char *digest, + unsigned int digestLen); + + SECStatus (*p_SHAKE_256_HashBuf)(unsigned char *dest, PRUint32 dest_length, + const unsigned char *src, PRUint32 src_length); + SECStatus (*p_SHAKE_256_Hash)(unsigned char *dest, PRUint32 dest_length, const char *src); + + /* Version 3.026 came to here */ + /* Add new function pointers at the end of this struct and bump * FREEBL_VERSION at the beginning of this file. */ }; diff --git a/nss/lib/freebl/manifest.mn b/nss/lib/freebl/manifest.mn index b6c5fb3..e102ce8 100644 --- a/nss/lib/freebl/manifest.mn +++ b/nss/lib/freebl/manifest.mn @@ -120,6 +120,8 @@ CSRCS = \ md2.c \ md5.c \ sha512.c \ + sha3.c \ + shake.c \ cmac.c \ alghmac.c \ rawhash.c \ diff --git a/nss/lib/freebl/mpi/mpmontg.c b/nss/lib/freebl/mpi/mpmontg.c index 36ae51b..58f5cde 100644 --- a/nss/lib/freebl/mpi/mpmontg.c +++ b/nss/lib/freebl/mpi/mpmontg.c @@ -1038,6 +1038,8 @@ mp_exptmod(const mp_int *inBase, const mp_int *exponent, if (!mp_isodd(modulus)) return s_mp_exptmod(inBase, exponent, modulus, result); + if (mp_cmp_z(inBase) == MP_LT) + return MP_RANGE; MP_DIGITS(&montBase) = 0; MP_DIGITS(&goodBase) = 0; diff --git a/nss/lib/freebl/rawhash.c b/nss/lib/freebl/rawhash.c index 551727b..07a34cf 100644 --- a/nss/lib/freebl/rawhash.c +++ b/nss/lib/freebl/rawhash.c @@ -141,6 +141,50 @@ const SECHashObject SECRawHashObjects[] = { HASH_AlgSHA224, (void (*)(void *, unsigned char *, unsigned int *, unsigned int))SHA224_EndRaw }, + { SHA3_224_LENGTH, + (void *(*)(void))SHA3_224_NewContext, + (void *(*)(void *))null_hash_clone_context, + (void (*)(void *, PRBool))SHA3_224_DestroyContext, + (void (*)(void *))SHA3_224_Begin, + (void (*)(void *, const unsigned char *, unsigned int))SHA3_224_Update, + (void (*)(void *, unsigned char *, unsigned int *, + unsigned int))SHA3_224_End, + SHA3_224_BLOCK_LENGTH, + HASH_AlgSHA3_224, + NULL }, + { SHA3_256_LENGTH, + (void *(*)(void))SHA3_256_NewContext, + (void *(*)(void *))null_hash_clone_context, + (void (*)(void *, PRBool))SHA3_256_DestroyContext, + (void (*)(void *))SHA3_256_Begin, + (void (*)(void *, const unsigned char *, unsigned int))SHA3_256_Update, + (void (*)(void *, unsigned char *, unsigned int *, + unsigned int))SHA3_256_End, + SHA3_256_BLOCK_LENGTH, + HASH_AlgSHA3_256, + NULL }, + { SHA3_384_LENGTH, + (void *(*)(void))SHA3_384_NewContext, + (void *(*)(void *))null_hash_clone_context, + (void (*)(void *, PRBool))SHA3_384_DestroyContext, + (void (*)(void *))SHA3_384_Begin, + (void (*)(void *, const unsigned char *, unsigned int))SHA3_384_Update, + (void (*)(void *, unsigned char *, unsigned int *, + unsigned int))SHA3_384_End, + SHA3_384_BLOCK_LENGTH, + HASH_AlgSHA3_384, + NULL }, + { SHA3_512_LENGTH, + (void *(*)(void))SHA3_512_NewContext, + (void *(*)(void *))null_hash_clone_context, + (void (*)(void *, PRBool))SHA3_512_DestroyContext, + (void (*)(void *))SHA3_512_Begin, + (void (*)(void *, const unsigned char *, unsigned int))SHA3_512_Update, + (void (*)(void *, unsigned char *, unsigned int *, + unsigned int))SHA3_512_End, + SHA3_512_BLOCK_LENGTH, + HASH_AlgSHA3_512, + NULL }, }; const SECHashObject * diff --git a/nss/lib/freebl/rsa.c b/nss/lib/freebl/rsa.c index 4dac957..200f1bd 100644 --- a/nss/lib/freebl/rsa.c +++ b/nss/lib/freebl/rsa.c @@ -604,6 +604,11 @@ rsa_get_prime_from_exponents(mp_int *e, mp_int *d, mp_int *p, mp_int *q, */ order_k = (unsigned)mpl_significant_bits(&kphi) - keySizeInBits; + if (order_k <= 1) { + err = MP_RANGE; + goto cleanup; + } + /* for (k=kinit; order(k) >= order_k; k--) { */ /* k=kinit: k can't be bigger than kphi/2^(keySizeInBits -1) */ CHECK_MPI_OK(mp_2expt(&k, keySizeInBits - 1)); diff --git a/nss/lib/freebl/rsapkcs.c b/nss/lib/freebl/rsapkcs.c index 91b4c7c..f597f05 100644 --- a/nss/lib/freebl/rsapkcs.c +++ b/nss/lib/freebl/rsapkcs.c @@ -235,6 +235,7 @@ rsa_FormatOneBlock(unsigned modulusLen, return block; } +/* modulusLen has to be larger than RSA_BLOCK_MIN_PAD_LEN + 3, and data has to be smaller than modulus - (RSA_BLOCK_MIN_PAD_LEN + 3) */ static SECStatus rsa_FormatBlock(SECItem *result, unsigned modulusLen, @@ -250,7 +251,7 @@ rsa_FormatBlock(SECItem *result, * The "3" below is the first octet + the second octet + the 0x00 * octet that always comes just before the ActualData. */ - if (data->len > (modulusLen - (3 + RSA_BLOCK_MIN_PAD_LEN))) { + if (modulusLen < (3 + RSA_BLOCK_MIN_PAD_LEN) || data->len > (modulusLen - (3 + RSA_BLOCK_MIN_PAD_LEN))) { return SECFailure; } result->data = rsa_FormatOneBlock(modulusLen, blockType, data); diff --git a/nss/lib/freebl/sha3.c b/nss/lib/freebl/sha3.c new file mode 100644 index 0000000..25ba169 --- /dev/null +++ b/nss/lib/freebl/sha3.c @@ -0,0 +1,288 @@ + +#ifdef FREEBL_NO_DEPEND +#include "stubs.h" +#endif + +#include "prtypes.h" /* for PRUintXX */ +#include "secport.h" /* for PORT_XXX */ +#include "blapi.h" +#include "blapii.h" +#include "blapit.h" +#include "secerr.h" +#include "Hacl_Hash_SHA3.h" + +struct SHA3ContextStr { + Hacl_Streaming_Keccak_state *st; +}; + +SHA3_224Context * +SHA3_224_NewContext() +{ + SHA3_224Context *ctx = PORT_New(SHA3_224Context); + ctx->st = Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_SHA3_224); + return ctx; +} + +SHA3_256Context * +SHA3_256_NewContext() +{ + SHA3_256Context *ctx = PORT_New(SHA3_256Context); + ctx->st = Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_SHA3_256); + return ctx; +} + +SHA3_384Context * +SHA3_384_NewContext() +{ + SHA3_384Context *ctx = PORT_New(SHA3_384Context); + ctx->st = Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_SHA3_384); + return ctx; +} + +SHA3_512Context * +SHA3_512_NewContext() +{ + SHA3_512Context *ctx = PORT_New(SHA3_512Context); + ctx->st = Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_SHA3_512); + return ctx; +} + +void +SHA3_224_DestroyContext(SHA3_224Context *ctx, PRBool freeit) +{ + Hacl_Streaming_Keccak_reset(ctx->st); + if (freeit) { + Hacl_Streaming_Keccak_free(ctx->st); + PORT_Free(ctx); + } +} + +void +SHA3_256_DestroyContext(SHA3_256Context *ctx, PRBool freeit) +{ + Hacl_Streaming_Keccak_reset(ctx->st); + if (freeit) { + Hacl_Streaming_Keccak_free(ctx->st); + PORT_Free(ctx); + } +} + +void +SHA3_384_DestroyContext(SHA3_384Context *ctx, PRBool freeit) +{ + Hacl_Streaming_Keccak_reset(ctx->st); + if (freeit) { + Hacl_Streaming_Keccak_free(ctx->st); + PORT_Free(ctx); + } +} + +void +SHA3_512_DestroyContext(SHA3_512Context *ctx, PRBool freeit) +{ + Hacl_Streaming_Keccak_reset(ctx->st); + if (freeit) { + Hacl_Streaming_Keccak_free(ctx->st); + PORT_Free(ctx); + } +} + +unsigned int +SHA3_224_FlattenSize(SHA3_224Context *ctx) +{ + return 0; +} + +unsigned int +SHA3_256_FlattenSize(SHA3_256Context *ctx) +{ + return 0; +} + +unsigned int +SHA3_384_FlattenSize(SHA3_384Context *ctx) +{ + return 0; +} + +unsigned int +SHA3_512_FlattenSize(SHA3_512Context *ctx) +{ + return 0; +} + +void +SHA3_224_Begin(SHA3_224Context *ctx) +{ + Hacl_Streaming_Keccak_reset(ctx->st); +} + +void +SHA3_256_Begin(SHA3_256Context *ctx) +{ + Hacl_Streaming_Keccak_reset(ctx->st); +} + +void +SHA3_384_Begin(SHA3_384Context *ctx) +{ + Hacl_Streaming_Keccak_reset(ctx->st); +} + +void +SHA3_512_Begin(SHA3_512Context *ctx) +{ + Hacl_Streaming_Keccak_reset(ctx->st); +} + +void +SHA3_224_Update(SHA3_224Context *ctx, const unsigned char *input, + unsigned int inputLen) +{ + Hacl_Streaming_Keccak_update(ctx->st, (uint8_t *)input, inputLen); +} + +void +SHA3_256_Update(SHA3_256Context *ctx, const unsigned char *input, + unsigned int inputLen) +{ + Hacl_Streaming_Keccak_update(ctx->st, (uint8_t *)input, inputLen); +} + +void +SHA3_384_Update(SHA3_384Context *ctx, const unsigned char *input, + unsigned int inputLen) +{ + Hacl_Streaming_Keccak_update(ctx->st, (uint8_t *)input, inputLen); +} + +void +SHA3_512_Update(SHA3_512Context *ctx, const unsigned char *input, + unsigned int inputLen) +{ + Hacl_Streaming_Keccak_update(ctx->st, (uint8_t *)input, inputLen); +} + +void +SHA3_224_End(SHA3_224Context *ctx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + uint8_t sha3_digest[SHA3_224_LENGTH] = { 0 }; + Hacl_Streaming_Keccak_finish(ctx->st, sha3_digest); + + unsigned int len = PR_MIN(SHA3_224_LENGTH, maxDigestLen); + memcpy(digest, sha3_digest, len); + if (digestLen) + *digestLen = len; +} + +void +SHA3_256_End(SHA3_256Context *ctx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + uint8_t sha3_digest[SHA3_256_LENGTH] = { 0 }; + Hacl_Streaming_Keccak_finish(ctx->st, sha3_digest); + + unsigned int len = PR_MIN(SHA3_256_LENGTH, maxDigestLen); + memcpy(digest, sha3_digest, len); + if (digestLen) + *digestLen = len; +} + +void +SHA3_384_End(SHA3_384Context *ctx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + uint8_t sha3_digest[SHA3_384_LENGTH] = { 0 }; + Hacl_Streaming_Keccak_finish(ctx->st, sha3_digest); + + unsigned int len = PR_MIN(SHA3_384_LENGTH, maxDigestLen); + memcpy(digest, sha3_digest, len); + if (digestLen) + *digestLen = len; +} + +void +SHA3_512_End(SHA3_512Context *ctx, unsigned char *digest, + unsigned int *digestLen, unsigned int maxDigestLen) +{ + uint8_t sha3_digest[SHA3_512_LENGTH] = { 0 }; + Hacl_Streaming_Keccak_finish(ctx->st, sha3_digest); + + unsigned int len = PR_MIN(SHA3_512_LENGTH, maxDigestLen); + memcpy(digest, sha3_digest, len); + if (digestLen) + *digestLen = len; +} + +SECStatus +SHA3_224_HashBuf(unsigned char *dest, const unsigned char *src, + PRUint32 src_length) +{ + SHA3_224Context *ctx = SHA3_224_NewContext(); + SHA3_224_Begin(ctx); + SHA3_224_Update(ctx, src, src_length); + SHA3_224_End(ctx, dest, NULL, SHA3_224_LENGTH); + SHA3_224_DestroyContext(ctx, true); + return SECSuccess; +} + +SECStatus +SHA3_256_HashBuf(unsigned char *dest, const unsigned char *src, + PRUint32 src_length) +{ + SHA3_256Context *ctx = SHA3_256_NewContext(); + SHA3_256_Begin(ctx); + SHA3_256_Update(ctx, src, src_length); + SHA3_256_End(ctx, dest, NULL, SHA3_256_LENGTH); + SHA3_256_DestroyContext(ctx, true); + return SECSuccess; +} + +SECStatus +SHA3_384_HashBuf(unsigned char *dest, const unsigned char *src, + PRUint32 src_length) +{ + SHA3_384Context *ctx = SHA3_384_NewContext(); + SHA3_384_Begin(ctx); + SHA3_384_Update(ctx, src, src_length); + SHA3_384_End(ctx, dest, NULL, SHA3_384_LENGTH); + SHA3_384_DestroyContext(ctx, true); + return SECSuccess; +} + +SECStatus +SHA3_512_HashBuf(unsigned char *dest, const unsigned char *src, + PRUint32 src_length) +{ + SHA3_512Context *ctx = SHA3_512_NewContext(); + SHA3_512_Begin(ctx); + SHA3_512_Update(ctx, src, src_length); + SHA3_512_End(ctx, dest, NULL, SHA3_512_LENGTH); + SHA3_512_DestroyContext(ctx, true); + return SECSuccess; +} + +SECStatus +SHA3_224_Hash(unsigned char *dest, const char *src) +{ + return SHA3_224_HashBuf(dest, (const unsigned char *)src, PORT_Strlen(src)); +} + +SECStatus +SHA3_256_Hash(unsigned char *dest, const char *src) +{ + return SHA3_256_HashBuf(dest, (const unsigned char *)src, PORT_Strlen(src)); +} + +SECStatus +SHA3_384_Hash(unsigned char *dest, const char *src) +{ + return SHA3_384_HashBuf(dest, (const unsigned char *)src, PORT_Strlen(src)); +} + +SECStatus +SHA3_512_Hash(unsigned char *dest, const char *src) +{ + return SHA3_512_HashBuf(dest, (const unsigned char *)src, PORT_Strlen(src)); +} diff --git a/nss/lib/freebl/shake.c b/nss/lib/freebl/shake.c new file mode 100644 index 0000000..fe20cf6 --- /dev/null +++ b/nss/lib/freebl/shake.c @@ -0,0 +1,128 @@ + +#ifdef FREEBL_NO_DEPEND +#include "stubs.h" +#endif + +#include "prtypes.h" /* for PRUintXX */ +#include "secport.h" /* for PORT_XXX */ +#include "blapi.h" +#include "blapii.h" +#include "blapit.h" +#include "secerr.h" +#include "Hacl_Hash_SHA3.h" + +struct SHAKEContextStr { + Hacl_Streaming_Keccak_state *st; +}; + +SHAKE_128Context * +SHAKE_128_NewContext() +{ + SHAKE_128Context *ctx = PORT_New(SHAKE_128Context); + ctx->st = Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_Shake128); + return ctx; +} + +SHAKE_256Context * +SHAKE_256_NewContext() +{ + SHAKE_256Context *ctx = PORT_New(SHAKE_256Context); + ctx->st = Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_Shake256); + return ctx; +} + +void +SHAKE_128_DestroyContext(SHAKE_128Context *ctx, PRBool freeit) +{ + Hacl_Streaming_Keccak_reset(ctx->st); + if (freeit) { + Hacl_Streaming_Keccak_free(ctx->st); + PORT_Free(ctx); + } +} + +void +SHAKE_256_DestroyContext(SHAKE_256Context *ctx, PRBool freeit) +{ + Hacl_Streaming_Keccak_reset(ctx->st); + if (freeit) { + Hacl_Streaming_Keccak_free(ctx->st); + PORT_Free(ctx); + } +} + +void +SHAKE_128_Begin(SHAKE_128Context *ctx) +{ + Hacl_Streaming_Keccak_reset(ctx->st); +} + +void +SHAKE_256_Begin(SHAKE_256Context *ctx) +{ + Hacl_Streaming_Keccak_reset(ctx->st); +} + +void +SHAKE_128_Absorb(SHAKE_128Context *ctx, const unsigned char *input, + unsigned int inputLen) +{ + Hacl_Streaming_Keccak_update(ctx->st, (uint8_t *)input, inputLen); +} + +void +SHAKE_256_Absorb(SHAKE_256Context *ctx, const unsigned char *input, + unsigned int inputLen) +{ + Hacl_Streaming_Keccak_update(ctx->st, (uint8_t *)input, inputLen); +} + +void +SHAKE_128_SqueezeEnd(SHAKE_128Context *ctx, unsigned char *digest, + unsigned int digestLen) +{ + Hacl_Streaming_Keccak_squeeze(ctx->st, digest, digestLen); +} + +void +SHAKE_256_SqueezeEnd(SHAKE_256Context *ctx, unsigned char *digest, + unsigned int digestLen) +{ + Hacl_Streaming_Keccak_squeeze(ctx->st, digest, digestLen); +} + +SECStatus +SHAKE_128_HashBuf(unsigned char *dest, PRUint32 dest_length, + const unsigned char *src, PRUint32 src_length) +{ + SHAKE_128Context *ctx = SHAKE_128_NewContext(); + SHAKE_128_Begin(ctx); + SHAKE_128_Absorb(ctx, src, src_length); + SHAKE_128_SqueezeEnd(ctx, dest, dest_length); + SHAKE_128_DestroyContext(ctx, true); + return SECSuccess; +} + +SECStatus +SHAKE_256_HashBuf(unsigned char *dest, PRUint32 dest_length, + const unsigned char *src, PRUint32 src_length) +{ + SHAKE_256Context *ctx = SHAKE_256_NewContext(); + SHAKE_256_Begin(ctx); + SHAKE_256_Absorb(ctx, src, src_length); + SHAKE_256_SqueezeEnd(ctx, dest, dest_length); + SHAKE_256_DestroyContext(ctx, true); + return SECSuccess; +} + +SECStatus +SHAKE_128_Hash(unsigned char *dest, unsigned int dest_length, const char *src) +{ + return SHAKE_128_HashBuf(dest, dest_length, (const unsigned char *)src, PORT_Strlen(src)); +} + +SECStatus +SHAKE_256_Hash(unsigned char *dest, unsigned int dest_length, const char *src) +{ + return SHAKE_256_HashBuf(dest, dest_length, (const unsigned char *)src, PORT_Strlen(src)); +} diff --git a/nss/lib/freebl/verified/Hacl_Chacha20.c b/nss/lib/freebl/verified/Hacl_Chacha20.c index d8827b3..ade205c 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20.c +++ b/nss/lib/freebl/verified/Hacl_Chacha20.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/nss/lib/freebl/verified/Hacl_Chacha20.h b/nss/lib/freebl/verified/Hacl_Chacha20.h index 56f2ae0..3da477d 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20.h +++ b/nss/lib/freebl/verified/Hacl_Chacha20.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,8 +34,6 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" -#include "Hacl_Krmllib.h" - void Hacl_Chacha20_chacha20_encrypt( uint32_t len, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c index d7ee964..3d0f271 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c +++ b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,6 +27,7 @@ #include "internal/Hacl_Poly1305_128.h" #include "internal/Hacl_Krmllib.h" #include "libintvector.h" + static inline void poly1305_padded_128(Lib_IntVector_Intrinsics_vec128 *ctx, uint32_t len, uint8_t *text) { @@ -1127,6 +1129,22 @@ poly1305_do_128( Hacl_Poly1305_128_poly1305_finish(out, k, ctx); } +/** +Encrypt a message `m` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the message. +@param m Pointer to `mlen` bytes of memory where the message is read from. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. +@param mac Pointer to 16 bytes of memory where the mac is written to. +*/ void Hacl_Chacha20Poly1305_128_aead_encrypt( uint8_t *k, @@ -1145,6 +1163,27 @@ Hacl_Chacha20Poly1305_128_aead_encrypt( poly1305_do_128(key, aadlen, aad, mlen, cipher, mac); } +/** +Decrypt a ciphertext `cipher` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +If decryption succeeds, the resulting plaintext is stored in `m` and the function returns the success code 0. +If decryption fails, the array `m` remains unchanged and the function returns the error code 1. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the ciphertext. +@param m Pointer to `mlen` bytes of memory where the message is written to. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is read from. +@param mac Pointer to 16 bytes of memory where the mac is read from. + +@returns 0 on succeess; 1 on failure. +*/ uint32_t Hacl_Chacha20Poly1305_128_aead_decrypt( uint8_t *k, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.h b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.h index 01e2a4f..031b571 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.h +++ b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_128.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -34,9 +35,24 @@ extern "C" { #include "krml/internal/target.h" #include "Hacl_Poly1305_128.h" -#include "Hacl_Krmllib.h" #include "Hacl_Chacha20_Vec128.h" +/** +Encrypt a message `m` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the message. +@param m Pointer to `mlen` bytes of memory where the message is read from. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. +@param mac Pointer to 16 bytes of memory where the mac is written to. +*/ void Hacl_Chacha20Poly1305_128_aead_encrypt( uint8_t *k, @@ -48,6 +64,27 @@ Hacl_Chacha20Poly1305_128_aead_encrypt( uint8_t *cipher, uint8_t *mac); +/** +Decrypt a ciphertext `cipher` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +If decryption succeeds, the resulting plaintext is stored in `m` and the function returns the success code 0. +If decryption fails, the array `m` remains unchanged and the function returns the error code 1. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the ciphertext. +@param m Pointer to `mlen` bytes of memory where the message is written to. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is read from. +@param mac Pointer to 16 bytes of memory where the mac is read from. + +@returns 0 on succeess; 1 on failure. +*/ uint32_t Hacl_Chacha20Poly1305_128_aead_decrypt( uint8_t *k, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.c b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.c index a4e54f1..2bd0712 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.c +++ b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,6 +27,7 @@ #include "internal/Hacl_Poly1305_256.h" #include "internal/Hacl_Krmllib.h" #include "libintvector.h" + static inline void poly1305_padded_256(Lib_IntVector_Intrinsics_vec256 *ctx, uint32_t len, uint8_t *text) { @@ -1129,6 +1131,22 @@ poly1305_do_256( Hacl_Poly1305_256_poly1305_finish(out, k, ctx); } +/** +Encrypt a message `m` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the message. +@param m Pointer to `mlen` bytes of memory where the message is read from. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. +@param mac Pointer to 16 bytes of memory where the mac is written to. +*/ void Hacl_Chacha20Poly1305_256_aead_encrypt( uint8_t *k, @@ -1147,6 +1165,27 @@ Hacl_Chacha20Poly1305_256_aead_encrypt( poly1305_do_256(key, aadlen, aad, mlen, cipher, mac); } +/** +Decrypt a ciphertext `cipher` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +If decryption succeeds, the resulting plaintext is stored in `m` and the function returns the success code 0. +If decryption fails, the array `m` remains unchanged and the function returns the error code 1. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the ciphertext. +@param m Pointer to `mlen` bytes of memory where the message is written to. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is read from. +@param mac Pointer to 16 bytes of memory where the mac is read from. + +@returns 0 on succeess; 1 on failure. +*/ uint32_t Hacl_Chacha20Poly1305_256_aead_decrypt( uint8_t *k, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.h b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.h index 9a81e01..dc2de09 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.h +++ b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_256.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -34,9 +35,24 @@ extern "C" { #include "krml/internal/target.h" #include "Hacl_Poly1305_256.h" -#include "Hacl_Krmllib.h" #include "Hacl_Chacha20_Vec256.h" +/** +Encrypt a message `m` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the message. +@param m Pointer to `mlen` bytes of memory where the message is read from. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. +@param mac Pointer to 16 bytes of memory where the mac is written to. +*/ void Hacl_Chacha20Poly1305_256_aead_encrypt( uint8_t *k, @@ -48,6 +64,27 @@ Hacl_Chacha20Poly1305_256_aead_encrypt( uint8_t *cipher, uint8_t *mac); +/** +Decrypt a ciphertext `cipher` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +If decryption succeeds, the resulting plaintext is stored in `m` and the function returns the success code 0. +If decryption fails, the array `m` remains unchanged and the function returns the error code 1. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the ciphertext. +@param m Pointer to `mlen` bytes of memory where the message is written to. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is read from. +@param mac Pointer to 16 bytes of memory where the mac is read from. + +@returns 0 on succeess; 1 on failure. +*/ uint32_t Hacl_Chacha20Poly1305_256_aead_decrypt( uint8_t *k, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.c b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.c index f8efb00..e83a93b 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.c +++ b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -542,6 +543,22 @@ poly1305_do_32( Hacl_Poly1305_32_poly1305_finish(out, k, ctx); } +/** +Encrypt a message `m` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the message. +@param m Pointer to `mlen` bytes of memory where the message is read from. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. +@param mac Pointer to 16 bytes of memory where the mac is written to. +*/ void Hacl_Chacha20Poly1305_32_aead_encrypt( uint8_t *k, @@ -560,6 +577,27 @@ Hacl_Chacha20Poly1305_32_aead_encrypt( poly1305_do_32(key, aadlen, aad, mlen, cipher, mac); } +/** +Decrypt a ciphertext `cipher` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +If decryption succeeds, the resulting plaintext is stored in `m` and the function returns the success code 0. +If decryption fails, the array `m` remains unchanged and the function returns the error code 1. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the ciphertext. +@param m Pointer to `mlen` bytes of memory where the message is written to. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is read from. +@param mac Pointer to 16 bytes of memory where the mac is read from. + +@returns 0 on succeess; 1 on failure. +*/ uint32_t Hacl_Chacha20Poly1305_32_aead_decrypt( uint8_t *k, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.h b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.h index a3d23d6..492c18f 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.h +++ b/nss/lib/freebl/verified/Hacl_Chacha20Poly1305_32.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -34,9 +35,24 @@ extern "C" { #include "krml/internal/target.h" #include "Hacl_Poly1305_32.h" -#include "Hacl_Krmllib.h" #include "Hacl_Chacha20.h" +/** +Encrypt a message `m` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the message. +@param m Pointer to `mlen` bytes of memory where the message is read from. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. +@param mac Pointer to 16 bytes of memory where the mac is written to. +*/ void Hacl_Chacha20Poly1305_32_aead_encrypt( uint8_t *k, @@ -48,6 +64,27 @@ Hacl_Chacha20Poly1305_32_aead_encrypt( uint8_t *cipher, uint8_t *mac); +/** +Decrypt a ciphertext `cipher` with key `k`. + +The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. +Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. + +If decryption succeeds, the resulting plaintext is stored in `m` and the function returns the success code 0. +If decryption fails, the array `m` remains unchanged and the function returns the error code 1. + +@param k Pointer to 32 bytes of memory where the AEAD key is read from. +@param n Pointer to 12 bytes of memory where the AEAD nonce is read from. +@param aadlen Length of the associated data. +@param aad Pointer to `aadlen` bytes of memory where the associated data is read from. + +@param mlen Length of the ciphertext. +@param m Pointer to `mlen` bytes of memory where the message is written to. +@param cipher Pointer to `mlen` bytes of memory where the ciphertext is read from. +@param mac Pointer to 16 bytes of memory where the mac is read from. + +@returns 0 on succeess; 1 on failure. +*/ uint32_t Hacl_Chacha20Poly1305_32_aead_decrypt( uint8_t *k, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c b/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c index 697a36b..a158202 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c +++ b/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -25,6 +26,7 @@ #include "internal/Hacl_Chacha20.h" #include "libintvector.h" + static inline void double_round_128(Lib_IntVector_Intrinsics_vec128 *st) { diff --git a/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.h b/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.h index 52b8d24..192fec9 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.h +++ b/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,8 +34,6 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" -#include "Hacl_Krmllib.h" - void Hacl_Chacha20_Vec128_chacha20_encrypt_128( uint32_t len, diff --git a/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c b/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c index 6c3e848..e184598 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c +++ b/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -25,6 +26,7 @@ #include "internal/Hacl_Chacha20.h" #include "libintvector.h" + static inline void double_round_256(Lib_IntVector_Intrinsics_vec256 *st) { diff --git a/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.h b/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.h index 5e9dccb..5ee5f39 100644 --- a/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.h +++ b/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,8 +34,6 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" -#include "Hacl_Krmllib.h" - void Hacl_Chacha20_Vec256_chacha20_encrypt_256( uint32_t len, diff --git a/nss/lib/freebl/verified/Hacl_Curve25519_51.c b/nss/lib/freebl/verified/Hacl_Curve25519_51.c index 09bfc4b..a485d04 100644 --- a/nss/lib/freebl/verified/Hacl_Curve25519_51.c +++ b/nss/lib/freebl/verified/Hacl_Curve25519_51.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -24,6 +25,7 @@ #include "internal/Hacl_Curve25519_51.h" #include "internal/Hacl_Krmllib.h" +#include "internal/Hacl_Bignum25519_51.h" static const uint8_t g25519[32U] = { (uint8_t)9U }; @@ -227,6 +229,13 @@ encode_point(uint8_t *o, uint64_t *i) store64_le(o + i0 * (uint32_t)8U, u64s[i0]);); } +/** +Compute the scalar multiple of a point. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +@param pub Pointer to 32 bytes of memory where the public point is read from. +*/ void Hacl_Curve25519_51_scalarmult(uint8_t *out, uint8_t *priv, uint8_t *pub) { @@ -268,6 +277,14 @@ Hacl_Curve25519_51_scalarmult(uint8_t *out, uint8_t *priv, uint8_t *pub) encode_point(out, init); } +/** +Calculate a public point from a secret/private key. + +This computes a scalar multiplication of the secret/private key with the curve's basepoint. + +@param pub Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +*/ void Hacl_Curve25519_51_secret_to_public(uint8_t *pub, uint8_t *priv) { @@ -280,6 +297,13 @@ Hacl_Curve25519_51_secret_to_public(uint8_t *pub, uint8_t *priv) Hacl_Curve25519_51_scalarmult(pub, priv, basepoint); } +/** +Execute the diffie-hellmann key exchange. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where **our** secret/private key is read from. +@param pub Pointer to 32 bytes of memory where **their** public point is read from. +*/ bool Hacl_Curve25519_51_ecdh(uint8_t *out, uint8_t *priv, uint8_t *pub) { diff --git a/nss/lib/freebl/verified/Hacl_Curve25519_51.h b/nss/lib/freebl/verified/Hacl_Curve25519_51.h index 2a4494a..dc666dc 100644 --- a/nss/lib/freebl/verified/Hacl_Curve25519_51.h +++ b/nss/lib/freebl/verified/Hacl_Curve25519_51.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -34,12 +35,33 @@ extern "C" { #include "krml/internal/target.h" #include "Hacl_Krmllib.h" -#include "Hacl_Bignum25519_51.h" +/** +Compute the scalar multiple of a point. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +@param pub Pointer to 32 bytes of memory where the public point is read from. +*/ void Hacl_Curve25519_51_scalarmult(uint8_t *out, uint8_t *priv, uint8_t *pub); +/** +Calculate a public point from a secret/private key. + +This computes a scalar multiplication of the secret/private key with the curve's basepoint. + +@param pub Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +*/ void Hacl_Curve25519_51_secret_to_public(uint8_t *pub, uint8_t *priv); +/** +Execute the diffie-hellmann key exchange. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where **our** secret/private key is read from. +@param pub Pointer to 32 bytes of memory where **their** public point is read from. +*/ bool Hacl_Curve25519_51_ecdh(uint8_t *out, uint8_t *priv, uint8_t *pub); #if defined(__cplusplus) diff --git a/nss/lib/freebl/verified/Hacl_Curve25519_64.c b/nss/lib/freebl/verified/Hacl_Curve25519_64.c index 40144d4..6dbdf73 100644 --- a/nss/lib/freebl/verified/Hacl_Curve25519_64.c +++ b/nss/lib/freebl/verified/Hacl_Curve25519_64.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -27,6 +28,7 @@ #include "internal/Hacl_Krmllib.h" #include "config.h" #include "curve25519-inline.h" + static inline void add_scalar0(uint64_t *out, uint64_t *f1, uint64_t f2) { @@ -341,6 +343,13 @@ encode_point(uint8_t *o, uint64_t *i) store64_le(o + i0 * (uint32_t)8U, u64s[i0]);); } +/** +Compute the scalar multiple of a point. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +@param pub Pointer to 32 bytes of memory where the public point is read from. +*/ void Hacl_Curve25519_64_scalarmult(uint8_t *out, uint8_t *priv, uint8_t *pub) { @@ -372,6 +381,14 @@ Hacl_Curve25519_64_scalarmult(uint8_t *out, uint8_t *priv, uint8_t *pub) encode_point(out, init); } +/** +Calculate a public point from a secret/private key. + +This computes a scalar multiplication of the secret/private key with the curve's basepoint. + +@param pub Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +*/ void Hacl_Curve25519_64_secret_to_public(uint8_t *pub, uint8_t *priv) { @@ -384,6 +401,13 @@ Hacl_Curve25519_64_secret_to_public(uint8_t *pub, uint8_t *priv) Hacl_Curve25519_64_scalarmult(pub, priv, basepoint); } +/** +Execute the diffie-hellmann key exchange. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where **our** secret/private key is read from. +@param pub Pointer to 32 bytes of memory where **their** public point is read from. +*/ bool Hacl_Curve25519_64_ecdh(uint8_t *out, uint8_t *priv, uint8_t *pub) { diff --git a/nss/lib/freebl/verified/Hacl_Curve25519_64.h b/nss/lib/freebl/verified/Hacl_Curve25519_64.h index e9dec2b..777e57c 100644 --- a/nss/lib/freebl/verified/Hacl_Curve25519_64.h +++ b/nss/lib/freebl/verified/Hacl_Curve25519_64.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -35,10 +36,32 @@ extern "C" { #include "Hacl_Krmllib.h" +/** +Compute the scalar multiple of a point. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +@param pub Pointer to 32 bytes of memory where the public point is read from. +*/ void Hacl_Curve25519_64_scalarmult(uint8_t *out, uint8_t *priv, uint8_t *pub); +/** +Calculate a public point from a secret/private key. + +This computes a scalar multiplication of the secret/private key with the curve's basepoint. + +@param pub Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where the secret/private key is read from. +*/ void Hacl_Curve25519_64_secret_to_public(uint8_t *pub, uint8_t *priv); +/** +Execute the diffie-hellmann key exchange. + +@param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. +@param priv Pointer to 32 bytes of memory where **our** secret/private key is read from. +@param pub Pointer to 32 bytes of memory where **their** public point is read from. +*/ bool Hacl_Curve25519_64_ecdh(uint8_t *out, uint8_t *priv, uint8_t *pub); #if defined(__cplusplus) diff --git a/nss/lib/freebl/verified/Hacl_Hash_SHA3.c b/nss/lib/freebl/verified/Hacl_Hash_SHA3.c new file mode 100644 index 0000000..1787b57 --- /dev/null +++ b/nss/lib/freebl/verified/Hacl_Hash_SHA3.c @@ -0,0 +1,717 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "internal/Hacl_Hash_SHA3.h" + +static uint32_t +block_len(Spec_Hash_Definitions_hash_alg a) +{ + switch (a) { + case Spec_Hash_Definitions_SHA3_224: { + return (uint32_t)144U; + } + case Spec_Hash_Definitions_SHA3_256: { + return (uint32_t)136U; + } + case Spec_Hash_Definitions_SHA3_384: { + return (uint32_t)104U; + } + case Spec_Hash_Definitions_SHA3_512: { + return (uint32_t)72U; + } + case Spec_Hash_Definitions_Shake128: { + return (uint32_t)168U; + } + case Spec_Hash_Definitions_Shake256: { + return (uint32_t)136U; + } + default: { + KRML_HOST_EPRINTF("KaRaMeL incomplete match at %s:%d\n", __FILE__, __LINE__); + KRML_HOST_EXIT(253U); + } + } +} + +static uint32_t +hash_len(Spec_Hash_Definitions_hash_alg a) +{ + switch (a) { + case Spec_Hash_Definitions_SHA3_224: { + return (uint32_t)28U; + } + case Spec_Hash_Definitions_SHA3_256: { + return (uint32_t)32U; + } + case Spec_Hash_Definitions_SHA3_384: { + return (uint32_t)48U; + } + case Spec_Hash_Definitions_SHA3_512: { + return (uint32_t)64U; + } + default: { + KRML_HOST_EPRINTF("KaRaMeL incomplete match at %s:%d\n", __FILE__, __LINE__); + KRML_HOST_EXIT(253U); + } + } +} + +void +Hacl_Hash_SHA3_update_multi_sha3( + Spec_Hash_Definitions_hash_alg a, + uint64_t *s, + uint8_t *blocks, + uint32_t n_blocks) +{ + for (uint32_t i = (uint32_t)0U; i < n_blocks; i++) { + uint8_t *block = blocks + i * block_len(a); + Hacl_Impl_SHA3_absorb_inner(block_len(a), block, s); + } +} + +void +Hacl_Hash_SHA3_update_last_sha3( + Spec_Hash_Definitions_hash_alg a, + uint64_t *s, + uint8_t *input, + uint32_t input_len) +{ + uint8_t suffix; + if (a == Spec_Hash_Definitions_Shake128 || a == Spec_Hash_Definitions_Shake256) { + suffix = (uint8_t)0x1fU; + } else { + suffix = (uint8_t)0x06U; + } + uint32_t len = block_len(a); + if (input_len == len) { + Hacl_Impl_SHA3_absorb_inner(len, input, s); + uint8_t *uu____0 = input + input_len; + uint8_t lastBlock_[200U] = { 0U }; + uint8_t *lastBlock = lastBlock_; + memcpy(lastBlock, uu____0, (uint32_t)0U * sizeof(uint8_t)); + lastBlock[0U] = suffix; + Hacl_Impl_SHA3_loadState(len, lastBlock, s); + if (!((suffix & (uint8_t)0x80U) == (uint8_t)0U) && (uint32_t)0U == len - (uint32_t)1U) { + Hacl_Impl_SHA3_state_permute(s); + } + uint8_t nextBlock_[200U] = { 0U }; + uint8_t *nextBlock = nextBlock_; + nextBlock[len - (uint32_t)1U] = (uint8_t)0x80U; + Hacl_Impl_SHA3_loadState(len, nextBlock, s); + Hacl_Impl_SHA3_state_permute(s); + return; + } + uint8_t lastBlock_[200U] = { 0U }; + uint8_t *lastBlock = lastBlock_; + memcpy(lastBlock, input, input_len * sizeof(uint8_t)); + lastBlock[input_len] = suffix; + Hacl_Impl_SHA3_loadState(len, lastBlock, s); + if (!((suffix & (uint8_t)0x80U) == (uint8_t)0U) && input_len == len - (uint32_t)1U) { + Hacl_Impl_SHA3_state_permute(s); + } + uint8_t nextBlock_[200U] = { 0U }; + uint8_t *nextBlock = nextBlock_; + nextBlock[len - (uint32_t)1U] = (uint8_t)0x80U; + Hacl_Impl_SHA3_loadState(len, nextBlock, s); + Hacl_Impl_SHA3_state_permute(s); +} + +typedef struct hash_buf2_s { + Hacl_Streaming_Keccak_hash_buf fst; + Hacl_Streaming_Keccak_hash_buf snd; +} hash_buf2; + +Spec_Hash_Definitions_hash_alg +Hacl_Streaming_Keccak_get_alg(Hacl_Streaming_Keccak_state *s) +{ + Hacl_Streaming_Keccak_state scrut = *s; + Hacl_Streaming_Keccak_hash_buf block_state = scrut.block_state; + return block_state.fst; +} + +Hacl_Streaming_Keccak_state * +Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_hash_alg a) +{ + KRML_CHECK_SIZE(sizeof(uint8_t), block_len(a)); + uint8_t *buf0 = (uint8_t *)KRML_HOST_CALLOC(block_len(a), sizeof(uint8_t)); + uint64_t *buf = (uint64_t *)KRML_HOST_CALLOC((uint32_t)25U, sizeof(uint64_t)); + Hacl_Streaming_Keccak_hash_buf block_state = { .fst = a, .snd = buf }; + Hacl_Streaming_Keccak_state + s = { .block_state = block_state, .buf = buf0, .total_len = (uint64_t)(uint32_t)0U }; + Hacl_Streaming_Keccak_state + *p = (Hacl_Streaming_Keccak_state *)KRML_HOST_MALLOC(sizeof(Hacl_Streaming_Keccak_state)); + p[0U] = s; + uint64_t *s1 = block_state.snd; + memset(s1, 0U, (uint32_t)25U * sizeof(uint64_t)); + return p; +} + +void +Hacl_Streaming_Keccak_free(Hacl_Streaming_Keccak_state *s) +{ + Hacl_Streaming_Keccak_state scrut = *s; + uint8_t *buf = scrut.buf; + Hacl_Streaming_Keccak_hash_buf block_state = scrut.block_state; + uint64_t *s1 = block_state.snd; + KRML_HOST_FREE(s1); + KRML_HOST_FREE(buf); + KRML_HOST_FREE(s); +} + +Hacl_Streaming_Keccak_state * +Hacl_Streaming_Keccak_copy(Hacl_Streaming_Keccak_state *s0) +{ + Hacl_Streaming_Keccak_state scrut0 = *s0; + Hacl_Streaming_Keccak_hash_buf block_state0 = scrut0.block_state; + uint8_t *buf0 = scrut0.buf; + uint64_t total_len0 = scrut0.total_len; + Spec_Hash_Definitions_hash_alg i = block_state0.fst; + KRML_CHECK_SIZE(sizeof(uint8_t), block_len(i)); + uint8_t *buf1 = (uint8_t *)KRML_HOST_CALLOC(block_len(i), sizeof(uint8_t)); + memcpy(buf1, buf0, block_len(i) * sizeof(uint8_t)); + uint64_t *buf = (uint64_t *)KRML_HOST_CALLOC((uint32_t)25U, sizeof(uint64_t)); + Hacl_Streaming_Keccak_hash_buf block_state = { .fst = i, .snd = buf }; + hash_buf2 scrut = { .fst = block_state0, .snd = block_state }; + uint64_t *s_dst = scrut.snd.snd; + uint64_t *s_src = scrut.fst.snd; + memcpy(s_dst, s_src, (uint32_t)25U * sizeof(uint64_t)); + Hacl_Streaming_Keccak_state + s = { .block_state = block_state, .buf = buf1, .total_len = total_len0 }; + Hacl_Streaming_Keccak_state + *p = (Hacl_Streaming_Keccak_state *)KRML_HOST_MALLOC(sizeof(Hacl_Streaming_Keccak_state)); + p[0U] = s; + return p; +} + +void +Hacl_Streaming_Keccak_reset(Hacl_Streaming_Keccak_state *s) +{ + Hacl_Streaming_Keccak_state scrut = *s; + uint8_t *buf = scrut.buf; + Hacl_Streaming_Keccak_hash_buf block_state = scrut.block_state; + uint64_t *s1 = block_state.snd; + memset(s1, 0U, (uint32_t)25U * sizeof(uint64_t)); + Hacl_Streaming_Keccak_state + tmp = { .block_state = block_state, .buf = buf, .total_len = (uint64_t)(uint32_t)0U }; + s[0U] = tmp; +} + +Hacl_Streaming_Types_error_code +Hacl_Streaming_Keccak_update(Hacl_Streaming_Keccak_state *p, uint8_t *data, uint32_t len) +{ + Hacl_Streaming_Keccak_state s = *p; + Hacl_Streaming_Keccak_hash_buf block_state = s.block_state; + uint64_t total_len = s.total_len; + Spec_Hash_Definitions_hash_alg i = block_state.fst; + if ((uint64_t)len > (uint64_t)0xFFFFFFFFFFFFFFFFU - total_len) { + return Hacl_Streaming_Types_MaximumLengthExceeded; + } + uint32_t sz; + if (total_len % (uint64_t)block_len(i) == (uint64_t)0U && total_len > (uint64_t)0U) { + sz = block_len(i); + } else { + sz = (uint32_t)(total_len % (uint64_t)block_len(i)); + } + if (len <= block_len(i) - sz) { + Hacl_Streaming_Keccak_state s1 = *p; + Hacl_Streaming_Keccak_hash_buf block_state1 = s1.block_state; + uint8_t *buf = s1.buf; + uint64_t total_len1 = s1.total_len; + uint32_t sz1; + if (total_len1 % (uint64_t)block_len(i) == (uint64_t)0U && total_len1 > (uint64_t)0U) { + sz1 = block_len(i); + } else { + sz1 = (uint32_t)(total_len1 % (uint64_t)block_len(i)); + } + uint8_t *buf2 = buf + sz1; + memcpy(buf2, data, len * sizeof(uint8_t)); + uint64_t total_len2 = total_len1 + (uint64_t)len; + *p = + ((Hacl_Streaming_Keccak_state){ + .block_state = block_state1, + .buf = buf, + .total_len = total_len2 }); + } else if (sz == (uint32_t)0U) { + Hacl_Streaming_Keccak_state s1 = *p; + Hacl_Streaming_Keccak_hash_buf block_state1 = s1.block_state; + uint8_t *buf = s1.buf; + uint64_t total_len1 = s1.total_len; + uint32_t sz1; + if (total_len1 % (uint64_t)block_len(i) == (uint64_t)0U && total_len1 > (uint64_t)0U) { + sz1 = block_len(i); + } else { + sz1 = (uint32_t)(total_len1 % (uint64_t)block_len(i)); + } + if (!(sz1 == (uint32_t)0U)) { + Spec_Hash_Definitions_hash_alg a1 = block_state1.fst; + uint64_t *s2 = block_state1.snd; + Hacl_Hash_SHA3_update_multi_sha3(a1, s2, buf, block_len(i) / block_len(a1)); + } + uint32_t ite; + if ((uint64_t)len % (uint64_t)block_len(i) == (uint64_t)0U && (uint64_t)len > (uint64_t)0U) { + ite = block_len(i); + } else { + ite = (uint32_t)((uint64_t)len % (uint64_t)block_len(i)); + } + uint32_t n_blocks = (len - ite) / block_len(i); + uint32_t data1_len = n_blocks * block_len(i); + uint32_t data2_len = len - data1_len; + uint8_t *data1 = data; + uint8_t *data2 = data + data1_len; + Spec_Hash_Definitions_hash_alg a1 = block_state1.fst; + uint64_t *s2 = block_state1.snd; + Hacl_Hash_SHA3_update_multi_sha3(a1, s2, data1, data1_len / block_len(a1)); + uint8_t *dst = buf; + memcpy(dst, data2, data2_len * sizeof(uint8_t)); + *p = + ((Hacl_Streaming_Keccak_state){ + .block_state = block_state1, + .buf = buf, + .total_len = total_len1 + (uint64_t)len }); + } else { + uint32_t diff = block_len(i) - sz; + uint8_t *data1 = data; + uint8_t *data2 = data + diff; + Hacl_Streaming_Keccak_state s1 = *p; + Hacl_Streaming_Keccak_hash_buf block_state10 = s1.block_state; + uint8_t *buf0 = s1.buf; + uint64_t total_len10 = s1.total_len; + uint32_t sz10; + if (total_len10 % (uint64_t)block_len(i) == (uint64_t)0U && total_len10 > (uint64_t)0U) { + sz10 = block_len(i); + } else { + sz10 = (uint32_t)(total_len10 % (uint64_t)block_len(i)); + } + uint8_t *buf2 = buf0 + sz10; + memcpy(buf2, data1, diff * sizeof(uint8_t)); + uint64_t total_len2 = total_len10 + (uint64_t)diff; + *p = + ((Hacl_Streaming_Keccak_state){ + .block_state = block_state10, + .buf = buf0, + .total_len = total_len2 }); + Hacl_Streaming_Keccak_state s10 = *p; + Hacl_Streaming_Keccak_hash_buf block_state1 = s10.block_state; + uint8_t *buf = s10.buf; + uint64_t total_len1 = s10.total_len; + uint32_t sz1; + if (total_len1 % (uint64_t)block_len(i) == (uint64_t)0U && total_len1 > (uint64_t)0U) { + sz1 = block_len(i); + } else { + sz1 = (uint32_t)(total_len1 % (uint64_t)block_len(i)); + } + if (!(sz1 == (uint32_t)0U)) { + Spec_Hash_Definitions_hash_alg a1 = block_state1.fst; + uint64_t *s2 = block_state1.snd; + Hacl_Hash_SHA3_update_multi_sha3(a1, s2, buf, block_len(i) / block_len(a1)); + } + uint32_t ite; + if ( + (uint64_t)(len - diff) % (uint64_t)block_len(i) == (uint64_t)0U && (uint64_t)(len - diff) > (uint64_t)0U) { + ite = block_len(i); + } else { + ite = (uint32_t)((uint64_t)(len - diff) % (uint64_t)block_len(i)); + } + uint32_t n_blocks = (len - diff - ite) / block_len(i); + uint32_t data1_len = n_blocks * block_len(i); + uint32_t data2_len = len - diff - data1_len; + uint8_t *data11 = data2; + uint8_t *data21 = data2 + data1_len; + Spec_Hash_Definitions_hash_alg a1 = block_state1.fst; + uint64_t *s2 = block_state1.snd; + Hacl_Hash_SHA3_update_multi_sha3(a1, s2, data11, data1_len / block_len(a1)); + uint8_t *dst = buf; + memcpy(dst, data21, data2_len * sizeof(uint8_t)); + *p = + ((Hacl_Streaming_Keccak_state){ + .block_state = block_state1, + .buf = buf, + .total_len = total_len1 + (uint64_t)(len - diff) }); + } + return Hacl_Streaming_Types_Success; +} + +static void +finish_( + Spec_Hash_Definitions_hash_alg a, + Hacl_Streaming_Keccak_state *p, + uint8_t *dst, + uint32_t l) +{ + Hacl_Streaming_Keccak_state scrut0 = *p; + Hacl_Streaming_Keccak_hash_buf block_state = scrut0.block_state; + uint8_t *buf_ = scrut0.buf; + uint64_t total_len = scrut0.total_len; + uint32_t r; + if (total_len % (uint64_t)block_len(a) == (uint64_t)0U && total_len > (uint64_t)0U) { + r = block_len(a); + } else { + r = (uint32_t)(total_len % (uint64_t)block_len(a)); + } + uint8_t *buf_1 = buf_; + uint64_t buf[25U] = { 0U }; + Hacl_Streaming_Keccak_hash_buf tmp_block_state = { .fst = a, .snd = buf }; + hash_buf2 scrut = { .fst = block_state, .snd = tmp_block_state }; + uint64_t *s_dst = scrut.snd.snd; + uint64_t *s_src = scrut.fst.snd; + memcpy(s_dst, s_src, (uint32_t)25U * sizeof(uint64_t)); + uint32_t ite0; + if (r % block_len(a) == (uint32_t)0U && r > (uint32_t)0U) { + ite0 = block_len(a); + } else { + ite0 = r % block_len(a); + } + uint8_t *buf_last = buf_1 + r - ite0; + uint8_t *buf_multi = buf_1; + Spec_Hash_Definitions_hash_alg a1 = tmp_block_state.fst; + uint64_t *s0 = tmp_block_state.snd; + Hacl_Hash_SHA3_update_multi_sha3(a1, s0, buf_multi, (uint32_t)0U / block_len(a1)); + Spec_Hash_Definitions_hash_alg a10 = tmp_block_state.fst; + uint64_t *s1 = tmp_block_state.snd; + Hacl_Hash_SHA3_update_last_sha3(a10, s1, buf_last, r); + Spec_Hash_Definitions_hash_alg a11 = tmp_block_state.fst; + uint64_t *s = tmp_block_state.snd; + if (a11 == Spec_Hash_Definitions_Shake128 || a11 == Spec_Hash_Definitions_Shake256) { + uint32_t ite; + if (a11 == Spec_Hash_Definitions_Shake128 || a11 == Spec_Hash_Definitions_Shake256) { + ite = l; + } else { + ite = hash_len(a11); + } + Hacl_Impl_SHA3_squeeze(s, block_len(a11), ite, dst); + return; + } + Hacl_Impl_SHA3_squeeze(s, block_len(a11), hash_len(a11), dst); +} + +Hacl_Streaming_Types_error_code +Hacl_Streaming_Keccak_finish(Hacl_Streaming_Keccak_state *s, uint8_t *dst) +{ + Spec_Hash_Definitions_hash_alg a1 = Hacl_Streaming_Keccak_get_alg(s); + if (a1 == Spec_Hash_Definitions_Shake128 || a1 == Spec_Hash_Definitions_Shake256) { + return Hacl_Streaming_Types_InvalidAlgorithm; + } + finish_(a1, s, dst, hash_len(a1)); + return Hacl_Streaming_Types_Success; +} + +Hacl_Streaming_Types_error_code +Hacl_Streaming_Keccak_squeeze(Hacl_Streaming_Keccak_state *s, uint8_t *dst, uint32_t l) +{ + Spec_Hash_Definitions_hash_alg a1 = Hacl_Streaming_Keccak_get_alg(s); + if (!(a1 == Spec_Hash_Definitions_Shake128 || a1 == Spec_Hash_Definitions_Shake256)) { + return Hacl_Streaming_Types_InvalidAlgorithm; + } + if (l == (uint32_t)0U) { + return Hacl_Streaming_Types_InvalidLength; + } + finish_(a1, s, dst, l); + return Hacl_Streaming_Types_Success; +} + +uint32_t +Hacl_Streaming_Keccak_block_len(Hacl_Streaming_Keccak_state *s) +{ + Spec_Hash_Definitions_hash_alg a1 = Hacl_Streaming_Keccak_get_alg(s); + return block_len(a1); +} + +uint32_t +Hacl_Streaming_Keccak_hash_len(Hacl_Streaming_Keccak_state *s) +{ + Spec_Hash_Definitions_hash_alg a1 = Hacl_Streaming_Keccak_get_alg(s); + return hash_len(a1); +} + +bool +Hacl_Streaming_Keccak_is_shake(Hacl_Streaming_Keccak_state *s) +{ + Spec_Hash_Definitions_hash_alg uu____0 = Hacl_Streaming_Keccak_get_alg(s); + return uu____0 == Spec_Hash_Definitions_Shake128 || uu____0 == Spec_Hash_Definitions_Shake256; +} + +void +Hacl_SHA3_shake128_hacl( + uint32_t inputByteLen, + uint8_t *input, + uint32_t outputByteLen, + uint8_t *output) +{ + Hacl_Impl_SHA3_keccak((uint32_t)1344U, + (uint32_t)256U, + inputByteLen, + input, + (uint8_t)0x1FU, + outputByteLen, + output); +} + +void +Hacl_SHA3_shake256_hacl( + uint32_t inputByteLen, + uint8_t *input, + uint32_t outputByteLen, + uint8_t *output) +{ + Hacl_Impl_SHA3_keccak((uint32_t)1088U, + (uint32_t)512U, + inputByteLen, + input, + (uint8_t)0x1FU, + outputByteLen, + output); +} + +void +Hacl_SHA3_sha3_224(uint32_t inputByteLen, uint8_t *input, uint8_t *output) +{ + Hacl_Impl_SHA3_keccak((uint32_t)1152U, + (uint32_t)448U, + inputByteLen, + input, + (uint8_t)0x06U, + (uint32_t)28U, + output); +} + +void +Hacl_SHA3_sha3_256(uint32_t inputByteLen, uint8_t *input, uint8_t *output) +{ + Hacl_Impl_SHA3_keccak((uint32_t)1088U, + (uint32_t)512U, + inputByteLen, + input, + (uint8_t)0x06U, + (uint32_t)32U, + output); +} + +void +Hacl_SHA3_sha3_384(uint32_t inputByteLen, uint8_t *input, uint8_t *output) +{ + Hacl_Impl_SHA3_keccak((uint32_t)832U, + (uint32_t)768U, + inputByteLen, + input, + (uint8_t)0x06U, + (uint32_t)48U, + output); +} + +void +Hacl_SHA3_sha3_512(uint32_t inputByteLen, uint8_t *input, uint8_t *output) +{ + Hacl_Impl_SHA3_keccak((uint32_t)576U, + (uint32_t)1024U, + inputByteLen, + input, + (uint8_t)0x06U, + (uint32_t)64U, + output); +} + +static const uint32_t + keccak_rotc[24U] = { + (uint32_t)1U, (uint32_t)3U, (uint32_t)6U, (uint32_t)10U, (uint32_t)15U, (uint32_t)21U, + (uint32_t)28U, (uint32_t)36U, (uint32_t)45U, (uint32_t)55U, (uint32_t)2U, (uint32_t)14U, + (uint32_t)27U, (uint32_t)41U, (uint32_t)56U, (uint32_t)8U, (uint32_t)25U, (uint32_t)43U, + (uint32_t)62U, (uint32_t)18U, (uint32_t)39U, (uint32_t)61U, (uint32_t)20U, (uint32_t)44U + }; + +static const uint32_t + keccak_piln[24U] = { + (uint32_t)10U, (uint32_t)7U, (uint32_t)11U, (uint32_t)17U, (uint32_t)18U, (uint32_t)3U, + (uint32_t)5U, (uint32_t)16U, (uint32_t)8U, (uint32_t)21U, (uint32_t)24U, (uint32_t)4U, + (uint32_t)15U, (uint32_t)23U, (uint32_t)19U, (uint32_t)13U, (uint32_t)12U, (uint32_t)2U, + (uint32_t)20U, (uint32_t)14U, (uint32_t)22U, (uint32_t)9U, (uint32_t)6U, (uint32_t)1U + }; + +static const uint64_t + keccak_rndc[24U] = { + (uint64_t)0x0000000000000001U, (uint64_t)0x0000000000008082U, (uint64_t)0x800000000000808aU, + (uint64_t)0x8000000080008000U, (uint64_t)0x000000000000808bU, (uint64_t)0x0000000080000001U, + (uint64_t)0x8000000080008081U, (uint64_t)0x8000000000008009U, (uint64_t)0x000000000000008aU, + (uint64_t)0x0000000000000088U, (uint64_t)0x0000000080008009U, (uint64_t)0x000000008000000aU, + (uint64_t)0x000000008000808bU, (uint64_t)0x800000000000008bU, (uint64_t)0x8000000000008089U, + (uint64_t)0x8000000000008003U, (uint64_t)0x8000000000008002U, (uint64_t)0x8000000000000080U, + (uint64_t)0x000000000000800aU, (uint64_t)0x800000008000000aU, (uint64_t)0x8000000080008081U, + (uint64_t)0x8000000000008080U, (uint64_t)0x0000000080000001U, (uint64_t)0x8000000080008008U + }; + +void +Hacl_Impl_SHA3_state_permute(uint64_t *s) +{ + for (uint32_t i0 = (uint32_t)0U; i0 < (uint32_t)24U; i0++) { + uint64_t _C[5U] = { 0U }; + KRML_MAYBE_FOR5(i, + (uint32_t)0U, + (uint32_t)5U, + (uint32_t)1U, + _C[i] = + s[i + (uint32_t)0U] ^ + (s[i + (uint32_t)5U] ^ (s[i + (uint32_t)10U] ^ (s[i + (uint32_t)15U] ^ s[i + (uint32_t)20U])));); + KRML_MAYBE_FOR5(i1, + (uint32_t)0U, + (uint32_t)5U, + (uint32_t)1U, + uint64_t uu____0 = _C[(i1 + (uint32_t)1U) % (uint32_t)5U]; + uint64_t + _D = + _C[(i1 + (uint32_t)4U) % (uint32_t)5U] ^ (uu____0 << (uint32_t)1U | uu____0 >> (uint32_t)63U); + KRML_MAYBE_FOR5(i, + (uint32_t)0U, + (uint32_t)5U, + (uint32_t)1U, + s[i1 + (uint32_t)5U * i] = s[i1 + (uint32_t)5U * i] ^ _D;);); + uint64_t x = s[1U]; + uint64_t current = x; + for (uint32_t i = (uint32_t)0U; i < (uint32_t)24U; i++) { + uint32_t _Y = keccak_piln[i]; + uint32_t r = keccak_rotc[i]; + uint64_t temp = s[_Y]; + uint64_t uu____1 = current; + s[_Y] = uu____1 << r | uu____1 >> ((uint32_t)64U - r); + current = temp; + } + KRML_MAYBE_FOR5(i, + (uint32_t)0U, + (uint32_t)5U, + (uint32_t)1U, + uint64_t + v0 = + s[(uint32_t)0U + (uint32_t)5U * i] ^ (~s[(uint32_t)1U + (uint32_t)5U * i] & s[(uint32_t)2U + (uint32_t)5U * i]); + uint64_t + v1 = + s[(uint32_t)1U + (uint32_t)5U * i] ^ (~s[(uint32_t)2U + (uint32_t)5U * i] & s[(uint32_t)3U + (uint32_t)5U * i]); + uint64_t + v2 = + s[(uint32_t)2U + (uint32_t)5U * i] ^ (~s[(uint32_t)3U + (uint32_t)5U * i] & s[(uint32_t)4U + (uint32_t)5U * i]); + uint64_t + v3 = + s[(uint32_t)3U + (uint32_t)5U * i] ^ (~s[(uint32_t)4U + (uint32_t)5U * i] & s[(uint32_t)0U + (uint32_t)5U * i]); + uint64_t + v4 = + s[(uint32_t)4U + (uint32_t)5U * i] ^ (~s[(uint32_t)0U + (uint32_t)5U * i] & s[(uint32_t)1U + (uint32_t)5U * i]); + s[(uint32_t)0U + (uint32_t)5U * i] = v0; + s[(uint32_t)1U + (uint32_t)5U * i] = v1; + s[(uint32_t)2U + (uint32_t)5U * i] = v2; + s[(uint32_t)3U + (uint32_t)5U * i] = v3; + s[(uint32_t)4U + (uint32_t)5U * i] = v4;); + uint64_t c = keccak_rndc[i0]; + s[0U] = s[0U] ^ c; + } +} + +void +Hacl_Impl_SHA3_loadState(uint32_t rateInBytes, uint8_t *input, uint64_t *s) +{ + uint8_t block[200U] = { 0U }; + memcpy(block, input, rateInBytes * sizeof(uint8_t)); + for (uint32_t i = (uint32_t)0U; i < (uint32_t)25U; i++) { + uint64_t u = load64_le(block + i * (uint32_t)8U); + uint64_t x = u; + s[i] = s[i] ^ x; + } +} + +static void +storeState(uint32_t rateInBytes, uint64_t *s, uint8_t *res) +{ + uint8_t block[200U] = { 0U }; + for (uint32_t i = (uint32_t)0U; i < (uint32_t)25U; i++) { + uint64_t sj = s[i]; + store64_le(block + i * (uint32_t)8U, sj); + } + memcpy(res, block, rateInBytes * sizeof(uint8_t)); +} + +void +Hacl_Impl_SHA3_absorb_inner(uint32_t rateInBytes, uint8_t *block, uint64_t *s) +{ + Hacl_Impl_SHA3_loadState(rateInBytes, block, s); + Hacl_Impl_SHA3_state_permute(s); +} + +static void +absorb( + uint64_t *s, + uint32_t rateInBytes, + uint32_t inputByteLen, + uint8_t *input, + uint8_t delimitedSuffix) +{ + uint32_t n_blocks = inputByteLen / rateInBytes; + uint32_t rem = inputByteLen % rateInBytes; + for (uint32_t i = (uint32_t)0U; i < n_blocks; i++) { + uint8_t *block = input + i * rateInBytes; + Hacl_Impl_SHA3_absorb_inner(rateInBytes, block, s); + } + uint8_t *last = input + n_blocks * rateInBytes; + uint8_t lastBlock_[200U] = { 0U }; + uint8_t *lastBlock = lastBlock_; + memcpy(lastBlock, last, rem * sizeof(uint8_t)); + lastBlock[rem] = delimitedSuffix; + Hacl_Impl_SHA3_loadState(rateInBytes, lastBlock, s); + if (!((delimitedSuffix & (uint8_t)0x80U) == (uint8_t)0U) && rem == rateInBytes - (uint32_t)1U) { + Hacl_Impl_SHA3_state_permute(s); + } + uint8_t nextBlock_[200U] = { 0U }; + uint8_t *nextBlock = nextBlock_; + nextBlock[rateInBytes - (uint32_t)1U] = (uint8_t)0x80U; + Hacl_Impl_SHA3_loadState(rateInBytes, nextBlock, s); + Hacl_Impl_SHA3_state_permute(s); +} + +void +Hacl_Impl_SHA3_squeeze( + uint64_t *s, + uint32_t rateInBytes, + uint32_t outputByteLen, + uint8_t *output) +{ + uint32_t outBlocks = outputByteLen / rateInBytes; + uint32_t remOut = outputByteLen % rateInBytes; + uint8_t *last = output + outputByteLen - remOut; + uint8_t *blocks = output; + for (uint32_t i = (uint32_t)0U; i < outBlocks; i++) { + storeState(rateInBytes, s, blocks + i * rateInBytes); + Hacl_Impl_SHA3_state_permute(s); + } + storeState(remOut, s, last); +} + +void +Hacl_Impl_SHA3_keccak( + uint32_t rate, + uint32_t capacity, + uint32_t inputByteLen, + uint8_t *input, + uint8_t delimitedSuffix, + uint32_t outputByteLen, + uint8_t *output) +{ + uint32_t rateInBytes = rate / (uint32_t)8U; + uint64_t s[25U] = { 0U }; + absorb(s, rateInBytes, inputByteLen, input, delimitedSuffix); + Hacl_Impl_SHA3_squeeze(s, rateInBytes, outputByteLen, output); +} diff --git a/nss/lib/freebl/verified/Hacl_Hash_SHA3.h b/nss/lib/freebl/verified/Hacl_Hash_SHA3.h new file mode 100644 index 0000000..fffdc10 --- /dev/null +++ b/nss/lib/freebl/verified/Hacl_Hash_SHA3.h @@ -0,0 +1,121 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef __Hacl_Hash_SHA3_H +#define __Hacl_Hash_SHA3_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#include +#include "krml/internal/types.h" +#include "krml/lowstar_endianness.h" +#include "krml/internal/target.h" + +#include "Hacl_Streaming_Types.h" + +typedef struct Hacl_Streaming_Keccak_hash_buf_s { + Spec_Hash_Definitions_hash_alg fst; + uint64_t *snd; +} Hacl_Streaming_Keccak_hash_buf; + +typedef struct Hacl_Streaming_Keccak_state_s { + Hacl_Streaming_Keccak_hash_buf block_state; + uint8_t *buf; + uint64_t total_len; +} Hacl_Streaming_Keccak_state; + +Spec_Hash_Definitions_hash_alg Hacl_Streaming_Keccak_get_alg(Hacl_Streaming_Keccak_state *s); + +Hacl_Streaming_Keccak_state *Hacl_Streaming_Keccak_malloc(Spec_Hash_Definitions_hash_alg a); + +void Hacl_Streaming_Keccak_free(Hacl_Streaming_Keccak_state *s); + +Hacl_Streaming_Keccak_state *Hacl_Streaming_Keccak_copy(Hacl_Streaming_Keccak_state *s0); + +void Hacl_Streaming_Keccak_reset(Hacl_Streaming_Keccak_state *s); + +Hacl_Streaming_Types_error_code +Hacl_Streaming_Keccak_update(Hacl_Streaming_Keccak_state *p, uint8_t *data, uint32_t len); + +Hacl_Streaming_Types_error_code +Hacl_Streaming_Keccak_finish(Hacl_Streaming_Keccak_state *s, uint8_t *dst); + +Hacl_Streaming_Types_error_code +Hacl_Streaming_Keccak_squeeze(Hacl_Streaming_Keccak_state *s, uint8_t *dst, uint32_t l); + +uint32_t Hacl_Streaming_Keccak_block_len(Hacl_Streaming_Keccak_state *s); + +uint32_t Hacl_Streaming_Keccak_hash_len(Hacl_Streaming_Keccak_state *s); + +bool Hacl_Streaming_Keccak_is_shake(Hacl_Streaming_Keccak_state *s); + +void +Hacl_SHA3_shake128_hacl( + uint32_t inputByteLen, + uint8_t *input, + uint32_t outputByteLen, + uint8_t *output); + +void +Hacl_SHA3_shake256_hacl( + uint32_t inputByteLen, + uint8_t *input, + uint32_t outputByteLen, + uint8_t *output); + +void Hacl_SHA3_sha3_224(uint32_t inputByteLen, uint8_t *input, uint8_t *output); + +void Hacl_SHA3_sha3_256(uint32_t inputByteLen, uint8_t *input, uint8_t *output); + +void Hacl_SHA3_sha3_384(uint32_t inputByteLen, uint8_t *input, uint8_t *output); + +void Hacl_SHA3_sha3_512(uint32_t inputByteLen, uint8_t *input, uint8_t *output); + +void Hacl_Impl_SHA3_absorb_inner(uint32_t rateInBytes, uint8_t *block, uint64_t *s); + +void +Hacl_Impl_SHA3_squeeze( + uint64_t *s, + uint32_t rateInBytes, + uint32_t outputByteLen, + uint8_t *output); + +void +Hacl_Impl_SHA3_keccak( + uint32_t rate, + uint32_t capacity, + uint32_t inputByteLen, + uint8_t *input, + uint8_t delimitedSuffix, + uint32_t outputByteLen, + uint8_t *output); + +#if defined(__cplusplus) +} +#endif + +#define __Hacl_Hash_SHA3_H_DEFINED +#endif diff --git a/nss/lib/freebl/verified/Hacl_Krmllib.h b/nss/lib/freebl/verified/Hacl_Krmllib.h index 453492b..40c7759 100644 --- a/nss/lib/freebl/verified/Hacl_Krmllib.h +++ b/nss/lib/freebl/verified/Hacl_Krmllib.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,33 +34,16 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" -static inline uint32_t FStar_UInt32_eq_mask(uint32_t a, uint32_t b); - -static inline uint32_t FStar_UInt32_gte_mask(uint32_t a, uint32_t b); - -static inline uint8_t FStar_UInt8_eq_mask(uint8_t a, uint8_t b); - static inline uint64_t FStar_UInt64_eq_mask(uint64_t a, uint64_t b); static inline uint64_t FStar_UInt64_gte_mask(uint64_t a, uint64_t b); -static inline uint16_t FStar_UInt16_eq_mask(uint16_t a, uint16_t b); - -static inline FStar_UInt128_uint128 -FStar_UInt128_add(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); - static inline FStar_UInt128_uint128 FStar_UInt128_add_mod(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); static inline FStar_UInt128_uint128 FStar_UInt128_sub_mod(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); -static inline FStar_UInt128_uint128 -FStar_UInt128_logor(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); - -static inline FStar_UInt128_uint128 -FStar_UInt128_shift_left(FStar_UInt128_uint128 a, uint32_t s); - static inline FStar_UInt128_uint128 FStar_UInt128_shift_right(FStar_UInt128_uint128 a, uint32_t s); @@ -67,12 +51,6 @@ static inline FStar_UInt128_uint128 FStar_UInt128_uint64_to_uint128(uint64_t a); static inline uint64_t FStar_UInt128_uint128_to_uint64(FStar_UInt128_uint128 a); -static inline FStar_UInt128_uint128 FStar_UInt128_mul_wide(uint64_t x, uint64_t y); - -static inline void store128_be(uint8_t *x0, FStar_UInt128_uint128 x1); - -static inline FStar_UInt128_uint128 load128_be(uint8_t *x0); - #if defined(__cplusplus) } #endif diff --git a/nss/lib/freebl/verified/Hacl_Poly1305_128.c b/nss/lib/freebl/verified/Hacl_Poly1305_128.c index ae8570c..41de9bc 100644 --- a/nss/lib/freebl/verified/Hacl_Poly1305_128.c +++ b/nss/lib/freebl/verified/Hacl_Poly1305_128.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/nss/lib/freebl/verified/Hacl_Poly1305_128.h b/nss/lib/freebl/verified/Hacl_Poly1305_128.h index 03069fd..7108ba0 100644 --- a/nss/lib/freebl/verified/Hacl_Poly1305_128.h +++ b/nss/lib/freebl/verified/Hacl_Poly1305_128.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,8 +34,8 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" -#include "Hacl_Krmllib.h" #include "libintvector.h" + typedef Lib_IntVector_Intrinsics_vec128 *Hacl_Poly1305_128_poly1305_ctx; void Hacl_Poly1305_128_poly1305_init(Lib_IntVector_Intrinsics_vec128 *ctx, uint8_t *key); diff --git a/nss/lib/freebl/verified/Hacl_Poly1305_256.c b/nss/lib/freebl/verified/Hacl_Poly1305_256.c index c5a2a59..612e3be 100644 --- a/nss/lib/freebl/verified/Hacl_Poly1305_256.c +++ b/nss/lib/freebl/verified/Hacl_Poly1305_256.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/nss/lib/freebl/verified/Hacl_Poly1305_256.h b/nss/lib/freebl/verified/Hacl_Poly1305_256.h index d9bf5fd..5d591e1 100644 --- a/nss/lib/freebl/verified/Hacl_Poly1305_256.h +++ b/nss/lib/freebl/verified/Hacl_Poly1305_256.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,8 +34,8 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" -#include "Hacl_Krmllib.h" #include "libintvector.h" + typedef Lib_IntVector_Intrinsics_vec256 *Hacl_Poly1305_256_poly1305_ctx; void Hacl_Poly1305_256_poly1305_init(Lib_IntVector_Intrinsics_vec256 *ctx, uint8_t *key); diff --git a/nss/lib/freebl/verified/Hacl_Poly1305_32.c b/nss/lib/freebl/verified/Hacl_Poly1305_32.c index 8de2eca..09def13 100644 --- a/nss/lib/freebl/verified/Hacl_Poly1305_32.c +++ b/nss/lib/freebl/verified/Hacl_Poly1305_32.c @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -23,8 +24,6 @@ #include "Hacl_Poly1305_32.h" -#include "internal/Hacl_Krmllib.h" - void Hacl_Poly1305_32_poly1305_init(uint64_t *ctx, uint8_t *key) { diff --git a/nss/lib/freebl/verified/Hacl_Poly1305_32.h b/nss/lib/freebl/verified/Hacl_Poly1305_32.h index 84a2f60..abbc3d1 100644 --- a/nss/lib/freebl/verified/Hacl_Poly1305_32.h +++ b/nss/lib/freebl/verified/Hacl_Poly1305_32.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/nss/lib/freebl/verified/Hacl_Streaming_Types.h b/nss/lib/freebl/verified/Hacl_Streaming_Types.h new file mode 100644 index 0000000..0c897e9 --- /dev/null +++ b/nss/lib/freebl/verified/Hacl_Streaming_Types.h @@ -0,0 +1,78 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef __Hacl_Streaming_Types_H +#define __Hacl_Streaming_Types_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#include +#include "krml/internal/types.h" +#include "krml/lowstar_endianness.h" +#include "krml/internal/target.h" + +#define Spec_Hash_Definitions_SHA2_224 0 +#define Spec_Hash_Definitions_SHA2_256 1 +#define Spec_Hash_Definitions_SHA2_384 2 +#define Spec_Hash_Definitions_SHA2_512 3 +#define Spec_Hash_Definitions_SHA1 4 +#define Spec_Hash_Definitions_MD5 5 +#define Spec_Hash_Definitions_Blake2S 6 +#define Spec_Hash_Definitions_Blake2B 7 +#define Spec_Hash_Definitions_SHA3_256 8 +#define Spec_Hash_Definitions_SHA3_224 9 +#define Spec_Hash_Definitions_SHA3_384 10 +#define Spec_Hash_Definitions_SHA3_512 11 +#define Spec_Hash_Definitions_Shake128 12 +#define Spec_Hash_Definitions_Shake256 13 + +typedef uint8_t Spec_Hash_Definitions_hash_alg; + +#define Hacl_Streaming_Types_Success 0 +#define Hacl_Streaming_Types_InvalidAlgorithm 1 +#define Hacl_Streaming_Types_InvalidLength 2 +#define Hacl_Streaming_Types_MaximumLengthExceeded 3 + +typedef uint8_t Hacl_Streaming_Types_error_code; + +typedef struct Hacl_Streaming_MD_state_32_s { + uint32_t *block_state; + uint8_t *buf; + uint64_t total_len; +} Hacl_Streaming_MD_state_32; + +typedef struct Hacl_Streaming_MD_state_64_s { + uint64_t *block_state; + uint8_t *buf; + uint64_t total_len; +} Hacl_Streaming_MD_state_64; + +#if defined(__cplusplus) +} +#endif + +#define __Hacl_Streaming_Types_H_DEFINED +#endif diff --git a/nss/lib/freebl/verified/internal/Hacl_Bignum.h b/nss/lib/freebl/verified/internal/Hacl_Bignum.h index 6080d37..bc4ed6f 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Bignum.h +++ b/nss/lib/freebl/verified/internal/Hacl_Bignum.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -34,8 +35,10 @@ extern "C" { #include "krml/internal/target.h" #include "internal/Hacl_Krmllib.h" +#include "internal/Hacl_Bignum_Base.h" #include "../Hacl_Bignum.h" #include "lib_intrinsics.h" + void Hacl_Bignum_Karatsuba_bn_karatsuba_mul_uint32( uint32_t aLen, diff --git a/nss/lib/freebl/verified/Hacl_Bignum25519_51.h b/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h similarity index 99% rename from nss/lib/freebl/verified/Hacl_Bignum25519_51.h rename to nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h index d53e43c..c3e86ca 100644 --- a/nss/lib/freebl/verified/Hacl_Bignum25519_51.h +++ b/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -21,8 +22,8 @@ * SOFTWARE. */ -#ifndef __Hacl_Bignum25519_51_H -#define __Hacl_Bignum25519_51_H +#ifndef __internal_Hacl_Bignum25519_51_H +#define __internal_Hacl_Bignum25519_51_H #if defined(__cplusplus) extern "C" { @@ -33,6 +34,7 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" +#include "internal/Hacl_Krmllib.h" #include "Hacl_Krmllib.h" static inline void @@ -674,5 +676,5 @@ Hacl_Impl_Curve25519_Field51_cswap2(uint64_t bit, uint64_t *p1, uint64_t *p2) } #endif -#define __Hacl_Bignum25519_51_H_DEFINED +#define __internal_Hacl_Bignum25519_51_H_DEFINED #endif diff --git a/nss/lib/freebl/verified/internal/Hacl_Chacha20.h b/nss/lib/freebl/verified/internal/Hacl_Chacha20.h index 51ecfee..d0edbc3 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Chacha20.h +++ b/nss/lib/freebl/verified/internal/Hacl_Chacha20.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/nss/lib/freebl/verified/internal/Hacl_Curve25519_51.h b/nss/lib/freebl/verified/internal/Hacl_Curve25519_51.h index d7d05e8..cb4eb15 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Curve25519_51.h +++ b/nss/lib/freebl/verified/internal/Hacl_Curve25519_51.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -34,6 +35,7 @@ extern "C" { #include "krml/internal/target.h" #include "internal/Hacl_Krmllib.h" +#include "internal/Hacl_Bignum25519_51.h" #include "../Hacl_Curve25519_51.h" void diff --git a/nss/lib/freebl/verified/internal/Hacl_Hash_SHA1.h b/nss/lib/freebl/verified/internal/Hacl_Hash_SHA1.h index 02ee032..1b87fba 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Hash_SHA1.h +++ b/nss/lib/freebl/verified/internal/Hacl_Hash_SHA1.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -37,10 +38,19 @@ extern "C" { void Hacl_Hash_Core_SHA1_legacy_init(uint32_t *s); -void Hacl_Hash_Core_SHA1_legacy_update(uint32_t *h, uint8_t *l); - void Hacl_Hash_Core_SHA1_legacy_finish(uint32_t *s, uint8_t *dst); +void Hacl_Hash_SHA1_legacy_update_multi(uint32_t *s, uint8_t *blocks, uint32_t n_blocks); + +void +Hacl_Hash_SHA1_legacy_update_last( + uint32_t *s, + uint64_t prev_len, + uint8_t *input, + uint32_t input_len); + +void Hacl_Hash_SHA1_legacy_hash(uint8_t *input, uint32_t input_len, uint8_t *dst); + #if defined(__cplusplus) } #endif diff --git a/nss/lib/freebl/verified/internal/Hacl_Hash_SHA2.h b/nss/lib/freebl/verified/internal/Hacl_Hash_SHA2.h index ed9894e..5f840d7 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Hash_SHA2.h +++ b/nss/lib/freebl/verified/internal/Hacl_Hash_SHA2.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -33,29 +34,131 @@ extern "C" { #include "krml/lowstar_endianness.h" #include "krml/internal/target.h" +#include "internal/Hacl_Krmllib.h" #include "../Hacl_Hash_SHA2.h" -void Hacl_Hash_Core_SHA2_init_224(uint32_t *s); - -void Hacl_Hash_Core_SHA2_init_256(uint32_t *s); - -void Hacl_Hash_Core_SHA2_init_384(uint64_t *s); - -void Hacl_Hash_Core_SHA2_init_512(uint64_t *s); - -void Hacl_Hash_Core_SHA2_update_384(uint64_t *hash, uint8_t *block); - -void Hacl_Hash_Core_SHA2_update_512(uint64_t *hash, uint8_t *block); - -void Hacl_Hash_Core_SHA2_pad_256(uint64_t len, uint8_t *dst); - -void Hacl_Hash_Core_SHA2_finish_224(uint32_t *s, uint8_t *dst); - -void Hacl_Hash_Core_SHA2_finish_256(uint32_t *s, uint8_t *dst); - -void Hacl_Hash_Core_SHA2_finish_384(uint64_t *s, uint8_t *dst); - -void Hacl_Hash_Core_SHA2_finish_512(uint64_t *s, uint8_t *dst); +static const uint32_t + Hacl_Impl_SHA2_Generic_h224[8U] = { + (uint32_t)0xc1059ed8U, (uint32_t)0x367cd507U, (uint32_t)0x3070dd17U, (uint32_t)0xf70e5939U, + (uint32_t)0xffc00b31U, (uint32_t)0x68581511U, (uint32_t)0x64f98fa7U, (uint32_t)0xbefa4fa4U + }; + +static const uint32_t + Hacl_Impl_SHA2_Generic_h256[8U] = { + (uint32_t)0x6a09e667U, (uint32_t)0xbb67ae85U, (uint32_t)0x3c6ef372U, (uint32_t)0xa54ff53aU, + (uint32_t)0x510e527fU, (uint32_t)0x9b05688cU, (uint32_t)0x1f83d9abU, (uint32_t)0x5be0cd19U + }; + +static const uint64_t + Hacl_Impl_SHA2_Generic_h384[8U] = { + (uint64_t)0xcbbb9d5dc1059ed8U, (uint64_t)0x629a292a367cd507U, (uint64_t)0x9159015a3070dd17U, + (uint64_t)0x152fecd8f70e5939U, (uint64_t)0x67332667ffc00b31U, (uint64_t)0x8eb44a8768581511U, + (uint64_t)0xdb0c2e0d64f98fa7U, (uint64_t)0x47b5481dbefa4fa4U + }; + +static const uint64_t + Hacl_Impl_SHA2_Generic_h512[8U] = { + (uint64_t)0x6a09e667f3bcc908U, (uint64_t)0xbb67ae8584caa73bU, (uint64_t)0x3c6ef372fe94f82bU, + (uint64_t)0xa54ff53a5f1d36f1U, (uint64_t)0x510e527fade682d1U, (uint64_t)0x9b05688c2b3e6c1fU, + (uint64_t)0x1f83d9abfb41bd6bU, (uint64_t)0x5be0cd19137e2179U + }; + +static const uint32_t + Hacl_Impl_SHA2_Generic_k224_256[64U] = { + (uint32_t)0x428a2f98U, (uint32_t)0x71374491U, (uint32_t)0xb5c0fbcfU, (uint32_t)0xe9b5dba5U, + (uint32_t)0x3956c25bU, (uint32_t)0x59f111f1U, (uint32_t)0x923f82a4U, (uint32_t)0xab1c5ed5U, + (uint32_t)0xd807aa98U, (uint32_t)0x12835b01U, (uint32_t)0x243185beU, (uint32_t)0x550c7dc3U, + (uint32_t)0x72be5d74U, (uint32_t)0x80deb1feU, (uint32_t)0x9bdc06a7U, (uint32_t)0xc19bf174U, + (uint32_t)0xe49b69c1U, (uint32_t)0xefbe4786U, (uint32_t)0x0fc19dc6U, (uint32_t)0x240ca1ccU, + (uint32_t)0x2de92c6fU, (uint32_t)0x4a7484aaU, (uint32_t)0x5cb0a9dcU, (uint32_t)0x76f988daU, + (uint32_t)0x983e5152U, (uint32_t)0xa831c66dU, (uint32_t)0xb00327c8U, (uint32_t)0xbf597fc7U, + (uint32_t)0xc6e00bf3U, (uint32_t)0xd5a79147U, (uint32_t)0x06ca6351U, (uint32_t)0x14292967U, + (uint32_t)0x27b70a85U, (uint32_t)0x2e1b2138U, (uint32_t)0x4d2c6dfcU, (uint32_t)0x53380d13U, + (uint32_t)0x650a7354U, (uint32_t)0x766a0abbU, (uint32_t)0x81c2c92eU, (uint32_t)0x92722c85U, + (uint32_t)0xa2bfe8a1U, (uint32_t)0xa81a664bU, (uint32_t)0xc24b8b70U, (uint32_t)0xc76c51a3U, + (uint32_t)0xd192e819U, (uint32_t)0xd6990624U, (uint32_t)0xf40e3585U, (uint32_t)0x106aa070U, + (uint32_t)0x19a4c116U, (uint32_t)0x1e376c08U, (uint32_t)0x2748774cU, (uint32_t)0x34b0bcb5U, + (uint32_t)0x391c0cb3U, (uint32_t)0x4ed8aa4aU, (uint32_t)0x5b9cca4fU, (uint32_t)0x682e6ff3U, + (uint32_t)0x748f82eeU, (uint32_t)0x78a5636fU, (uint32_t)0x84c87814U, (uint32_t)0x8cc70208U, + (uint32_t)0x90befffaU, (uint32_t)0xa4506cebU, (uint32_t)0xbef9a3f7U, (uint32_t)0xc67178f2U + }; + +static const uint64_t + Hacl_Impl_SHA2_Generic_k384_512[80U] = { + (uint64_t)0x428a2f98d728ae22U, (uint64_t)0x7137449123ef65cdU, (uint64_t)0xb5c0fbcfec4d3b2fU, + (uint64_t)0xe9b5dba58189dbbcU, (uint64_t)0x3956c25bf348b538U, (uint64_t)0x59f111f1b605d019U, + (uint64_t)0x923f82a4af194f9bU, (uint64_t)0xab1c5ed5da6d8118U, (uint64_t)0xd807aa98a3030242U, + (uint64_t)0x12835b0145706fbeU, (uint64_t)0x243185be4ee4b28cU, (uint64_t)0x550c7dc3d5ffb4e2U, + (uint64_t)0x72be5d74f27b896fU, (uint64_t)0x80deb1fe3b1696b1U, (uint64_t)0x9bdc06a725c71235U, + (uint64_t)0xc19bf174cf692694U, (uint64_t)0xe49b69c19ef14ad2U, (uint64_t)0xefbe4786384f25e3U, + (uint64_t)0x0fc19dc68b8cd5b5U, (uint64_t)0x240ca1cc77ac9c65U, (uint64_t)0x2de92c6f592b0275U, + (uint64_t)0x4a7484aa6ea6e483U, (uint64_t)0x5cb0a9dcbd41fbd4U, (uint64_t)0x76f988da831153b5U, + (uint64_t)0x983e5152ee66dfabU, (uint64_t)0xa831c66d2db43210U, (uint64_t)0xb00327c898fb213fU, + (uint64_t)0xbf597fc7beef0ee4U, (uint64_t)0xc6e00bf33da88fc2U, (uint64_t)0xd5a79147930aa725U, + (uint64_t)0x06ca6351e003826fU, (uint64_t)0x142929670a0e6e70U, (uint64_t)0x27b70a8546d22ffcU, + (uint64_t)0x2e1b21385c26c926U, (uint64_t)0x4d2c6dfc5ac42aedU, (uint64_t)0x53380d139d95b3dfU, + (uint64_t)0x650a73548baf63deU, (uint64_t)0x766a0abb3c77b2a8U, (uint64_t)0x81c2c92e47edaee6U, + (uint64_t)0x92722c851482353bU, (uint64_t)0xa2bfe8a14cf10364U, (uint64_t)0xa81a664bbc423001U, + (uint64_t)0xc24b8b70d0f89791U, (uint64_t)0xc76c51a30654be30U, (uint64_t)0xd192e819d6ef5218U, + (uint64_t)0xd69906245565a910U, (uint64_t)0xf40e35855771202aU, (uint64_t)0x106aa07032bbd1b8U, + (uint64_t)0x19a4c116b8d2d0c8U, (uint64_t)0x1e376c085141ab53U, (uint64_t)0x2748774cdf8eeb99U, + (uint64_t)0x34b0bcb5e19b48a8U, (uint64_t)0x391c0cb3c5c95a63U, (uint64_t)0x4ed8aa4ae3418acbU, + (uint64_t)0x5b9cca4f7763e373U, (uint64_t)0x682e6ff3d6b2b8a3U, (uint64_t)0x748f82ee5defb2fcU, + (uint64_t)0x78a5636f43172f60U, (uint64_t)0x84c87814a1f0ab72U, (uint64_t)0x8cc702081a6439ecU, + (uint64_t)0x90befffa23631e28U, (uint64_t)0xa4506cebde82bde9U, (uint64_t)0xbef9a3f7b2c67915U, + (uint64_t)0xc67178f2e372532bU, (uint64_t)0xca273eceea26619cU, (uint64_t)0xd186b8c721c0c207U, + (uint64_t)0xeada7dd6cde0eb1eU, (uint64_t)0xf57d4f7fee6ed178U, (uint64_t)0x06f067aa72176fbaU, + (uint64_t)0x0a637dc5a2c898a6U, (uint64_t)0x113f9804bef90daeU, (uint64_t)0x1b710b35131c471bU, + (uint64_t)0x28db77f523047d84U, (uint64_t)0x32caab7b40c72493U, (uint64_t)0x3c9ebe0a15c9bebcU, + (uint64_t)0x431d67c49c100d4cU, (uint64_t)0x4cc5d4becb3e42b6U, (uint64_t)0x597f299cfc657e2aU, + (uint64_t)0x5fcb6fab3ad6faecU, (uint64_t)0x6c44198c4a475817U + }; + +void Hacl_SHA2_Scalar32_sha256_init(uint32_t *hash); + +void Hacl_SHA2_Scalar32_sha256_update_nblocks(uint32_t len, uint8_t *b, uint32_t *st); + +void +Hacl_SHA2_Scalar32_sha256_update_last( + uint64_t totlen, + uint32_t len, + uint8_t *b, + uint32_t *hash); + +void Hacl_SHA2_Scalar32_sha256_finish(uint32_t *st, uint8_t *h); + +void Hacl_SHA2_Scalar32_sha224_init(uint32_t *hash); + +void +Hacl_SHA2_Scalar32_sha224_update_last(uint64_t totlen, uint32_t len, uint8_t *b, uint32_t *st); + +void Hacl_SHA2_Scalar32_sha224_finish(uint32_t *st, uint8_t *h); + +void Hacl_SHA2_Scalar32_sha512_init(uint64_t *hash); + +void Hacl_SHA2_Scalar32_sha512_update_nblocks(uint32_t len, uint8_t *b, uint64_t *st); + +void +Hacl_SHA2_Scalar32_sha512_update_last( + FStar_UInt128_uint128 totlen, + uint32_t len, + uint8_t *b, + uint64_t *hash); + +void Hacl_SHA2_Scalar32_sha512_finish(uint64_t *st, uint8_t *h); + +void Hacl_SHA2_Scalar32_sha384_init(uint64_t *hash); + +void Hacl_SHA2_Scalar32_sha384_update_nblocks(uint32_t len, uint8_t *b, uint64_t *st); + +void +Hacl_SHA2_Scalar32_sha384_update_last( + FStar_UInt128_uint128 totlen, + uint32_t len, + uint8_t *b, + uint64_t *st); + +void Hacl_SHA2_Scalar32_sha384_finish(uint64_t *st, uint8_t *h); #if defined(__cplusplus) } diff --git a/nss/lib/freebl/verified/internal/Hacl_Hash_SHA3.h b/nss/lib/freebl/verified/internal/Hacl_Hash_SHA3.h new file mode 100644 index 0000000..fedbe96 --- /dev/null +++ b/nss/lib/freebl/verified/internal/Hacl_Hash_SHA3.h @@ -0,0 +1,62 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef __internal_Hacl_Hash_SHA3_H +#define __internal_Hacl_Hash_SHA3_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#include +#include "krml/internal/types.h" +#include "krml/lowstar_endianness.h" +#include "krml/internal/target.h" + +#include "../Hacl_Hash_SHA3.h" + +void +Hacl_Hash_SHA3_update_multi_sha3( + Spec_Hash_Definitions_hash_alg a, + uint64_t *s, + uint8_t *blocks, + uint32_t n_blocks); + +void +Hacl_Hash_SHA3_update_last_sha3( + Spec_Hash_Definitions_hash_alg a, + uint64_t *s, + uint8_t *input, + uint32_t input_len); + +void Hacl_Impl_SHA3_state_permute(uint64_t *s); + +void Hacl_Impl_SHA3_loadState(uint32_t rateInBytes, uint8_t *input, uint64_t *s); + +#if defined(__cplusplus) +} +#endif + +#define __internal_Hacl_Hash_SHA3_H_DEFINED +#endif diff --git a/nss/lib/freebl/verified/internal/Hacl_Krmllib.h b/nss/lib/freebl/verified/internal/Hacl_Krmllib.h index 3778437..b13f1b4 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Krmllib.h +++ b/nss/lib/freebl/verified/internal/Hacl_Krmllib.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -35,7 +36,28 @@ extern "C" { #include "../Hacl_Krmllib.h" -uint32_t LowStar_Vector_new_capacity(uint32_t cap); +static inline uint32_t FStar_UInt32_eq_mask(uint32_t a, uint32_t b); + +static inline uint32_t FStar_UInt32_gte_mask(uint32_t a, uint32_t b); + +static inline uint8_t FStar_UInt8_eq_mask(uint8_t a, uint8_t b); + +static inline uint16_t FStar_UInt16_eq_mask(uint16_t a, uint16_t b); + +static inline FStar_UInt128_uint128 +FStar_UInt128_add(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); + +static inline FStar_UInt128_uint128 +FStar_UInt128_logor(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); + +static inline FStar_UInt128_uint128 +FStar_UInt128_shift_left(FStar_UInt128_uint128 a, uint32_t s); + +static inline FStar_UInt128_uint128 FStar_UInt128_mul_wide(uint64_t x, uint64_t y); + +static inline void store128_be(uint8_t *x0, FStar_UInt128_uint128 x1); + +static inline FStar_UInt128_uint128 load128_be(uint8_t *x0); #if defined(__cplusplus) } diff --git a/nss/lib/freebl/verified/internal/Hacl_Poly1305_128.h b/nss/lib/freebl/verified/internal/Hacl_Poly1305_128.h index d5f2573..ccd1828 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Poly1305_128.h +++ b/nss/lib/freebl/verified/internal/Hacl_Poly1305_128.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -35,6 +36,7 @@ extern "C" { #include "../Hacl_Poly1305_128.h" #include "libintvector.h" + void Hacl_Impl_Poly1305_Field32xN_128_load_acc2(Lib_IntVector_Intrinsics_vec128 *acc, uint8_t *b); diff --git a/nss/lib/freebl/verified/internal/Hacl_Poly1305_256.h b/nss/lib/freebl/verified/internal/Hacl_Poly1305_256.h index 9b10379..b26f9dd 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Poly1305_256.h +++ b/nss/lib/freebl/verified/internal/Hacl_Poly1305_256.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -35,6 +36,7 @@ extern "C" { #include "../Hacl_Poly1305_256.h" #include "libintvector.h" + void Hacl_Impl_Poly1305_Field32xN_256_load_acc4(Lib_IntVector_Intrinsics_vec256 *acc, uint8_t *b); diff --git a/nss/lib/freebl/verified/internal/Hacl_Spec.h b/nss/lib/freebl/verified/internal/Hacl_Spec.h index cf5376a..f717563 100644 --- a/nss/lib/freebl/verified/internal/Hacl_Spec.h +++ b/nss/lib/freebl/verified/internal/Hacl_Spec.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -35,22 +36,17 @@ extern "C" { #include "../Hacl_Spec.h" -#define Spec_ECDSA_NoHash 0 -#define Spec_ECDSA_Hash 1 - -typedef uint8_t Spec_ECDSA_hash_alg_ecdsa_tags; - -typedef struct Spec_ECDSA_hash_alg_ecdsa_s { - Spec_ECDSA_hash_alg_ecdsa_tags tag; - Spec_Hash_Definitions_hash_alg _0; -} Spec_ECDSA_hash_alg_ecdsa; - #define Spec_Cipher_Expansion_Hacl_CHACHA20 0 #define Spec_Cipher_Expansion_Vale_AES128 1 #define Spec_Cipher_Expansion_Vale_AES256 2 typedef uint8_t Spec_Cipher_Expansion_impl; +#define Spec_Frodo_Params_SHAKE128 0 +#define Spec_Frodo_Params_AES128 1 + +typedef uint8_t Spec_Frodo_Params_frodo_gen_a; + #if defined(__cplusplus) } #endif diff --git a/nss/lib/freebl/verified/internal/Vale.h b/nss/lib/freebl/verified/internal/Vale.h index 400650e..17af659 100644 --- a/nss/lib/freebl/verified/internal/Vale.h +++ b/nss/lib/freebl/verified/internal/Vale.h @@ -1,6 +1,7 @@ /* MIT License * - * Copyright (c) 2016-2020 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -41,29 +42,29 @@ extern uint64_t sha256_update(uint32_t *x0, uint8_t *x1, uint64_t x2, uint32_t * extern uint64_t x64_poly1305(uint8_t *x0, uint8_t *x1, uint64_t x2, uint64_t x3); -extern uint64_t check_aesni(); +extern uint64_t check_aesni(void); -extern uint64_t check_sha(); +extern uint64_t check_sha(void); -extern uint64_t check_adx_bmi2(); +extern uint64_t check_adx_bmi2(void); -extern uint64_t check_avx(); +extern uint64_t check_avx(void); -extern uint64_t check_avx2(); +extern uint64_t check_avx2(void); -extern uint64_t check_movbe(); +extern uint64_t check_movbe(void); -extern uint64_t check_sse(); +extern uint64_t check_sse(void); -extern uint64_t check_rdrand(); +extern uint64_t check_rdrand(void); -extern uint64_t check_avx512(); +extern uint64_t check_avx512(void); -extern uint64_t check_osxsave(); +extern uint64_t check_osxsave(void); -extern uint64_t check_avx_xcr0(); +extern uint64_t check_avx_xcr0(void); -extern uint64_t check_avx512_xcr0(); +extern uint64_t check_avx512_xcr0(void); extern uint64_t gcm128_decrypt_opt( diff --git a/nss/lib/freebl/verified/karamel/include/krml/internal/callconv.h b/nss/lib/freebl/verified/karamel/include/krml/internal/callconv.h index 0d250c4..aeca0ba 100644 --- a/nss/lib/freebl/verified/karamel/include/krml/internal/callconv.h +++ b/nss/lib/freebl/verified/karamel/include/krml/internal/callconv.h @@ -5,7 +5,7 @@ #define __KRML_CALLCONV_H /******************************************************************************/ -/* Some macros to ease compatibility */ +/* Some macros to ease compatibility (TODO: move to miTLS) */ /******************************************************************************/ /* We want to generate __cdecl safely without worrying about it being undefined. @@ -24,23 +24,4 @@ #endif #endif -/* Since KaRaMeL emits the inline keyword unconditionally, we follow the - * guidelines at https://gcc.gnu.org/onlinedocs/gcc/Inline.html and make this - * __inline__ to ensure the code compiles with -std=c90 and earlier. */ -#ifdef __GNUC__ -#define inline __inline__ -#endif - -/* GCC-specific attribute syntax; everyone else gets the standard C inline - * attribute. */ -#ifdef __GNU_C__ -#ifndef __clang__ -#define force_inline inline __attribute__((always_inline)) -#else -#define force_inline inline -#endif -#else -#define force_inline inline -#endif - #endif diff --git a/nss/lib/freebl/verified/karamel/include/krml/internal/target.h b/nss/lib/freebl/verified/karamel/include/krml/internal/target.h index 929abe8..f6742ec 100644 --- a/nss/lib/freebl/verified/karamel/include/krml/internal/target.h +++ b/nss/lib/freebl/verified/karamel/include/krml/internal/target.h @@ -5,12 +5,19 @@ #define __KRML_TARGET_H #include +#include #include #include #include #include +#include -#include "krml/internal/callconv.h" +/* Since KaRaMeL emits the inline keyword unconditionally, we follow the + * guidelines at https://gcc.gnu.org/onlinedocs/gcc/Inline.html and make this + * __inline__ to ensure the code compiles with -std=c90 and earlier. */ +#ifdef __GNUC__ +#define inline __inline__ +#endif /******************************************************************************/ /* Macros that KaRaMeL will generate. */ @@ -46,6 +53,10 @@ #define KRML_HOST_FREE free #endif +#ifndef KRML_HOST_IGNORE +#define KRML_HOST_IGNORE(x) (void)(x) +#endif + #ifndef KRML_PRE_ALIGN #ifdef _MSC_VER #define KRML_PRE_ALIGN(X) __declspec(align(X)) @@ -62,16 +73,29 @@ #endif #endif +/* MinGW-W64 does not support C11 aligned_alloc, but it supports + * MSVC's _aligned_malloc. + */ #ifndef KRML_ALIGNED_MALLOC -#ifdef _MSC_VER +#ifdef __MINGW32__ +#include <_mingw.h> +#endif +#if (defined(_MSC_VER) || (defined(__MINGW32__) && defined(__MINGW64_VERSION_MAJOR))) #define KRML_ALIGNED_MALLOC(X, Y) _aligned_malloc(Y, X) #else #define KRML_ALIGNED_MALLOC(X, Y) aligned_alloc(X, Y) #endif #endif +/* Since aligned allocations with MinGW-W64 are done with + * _aligned_malloc (see above), such pointers must be freed with + * _aligned_free. + */ #ifndef KRML_ALIGNED_FREE -#ifdef _MSC_VER +#ifdef __MINGW32__ +#include <_mingw.h> +#endif +#if (defined(_MSC_VER) || (defined(__MINGW32__) && defined(__MINGW64_VERSION_MAJOR))) #define KRML_ALIGNED_FREE(X) _aligned_free(X) #else #define KRML_ALIGNED_FREE(X) free(X) @@ -84,7 +108,7 @@ /* Prims_nat not yet in scope */ inline static int32_t -krml_time() +krml_time(void) { return (int32_t)time(NULL); } @@ -109,7 +133,6 @@ krml_time() /* In FStar.Buffer.fst, the size of arrays is uint32_t, but it's a number of * *elements*. Do an ugly, run-time check (some of which KaRaMeL can eliminate). */ - #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)) #define _KRML_CHECK_SIZE_PRAGMA \ _Pragma("GCC diagnostic ignored \"-Wtype-limits\"") diff --git a/nss/lib/freebl/verified/karamel/include/krml/lowstar_endianness.h b/nss/lib/freebl/verified/karamel/include/krml/lowstar_endianness.h index 48e9fd5..fa66dc8 100644 --- a/nss/lib/freebl/verified/karamel/include/krml/lowstar_endianness.h +++ b/nss/lib/freebl/verified/karamel/include/krml/lowstar_endianness.h @@ -77,7 +77,7 @@ #define le64toh(x) (x) /* ... for Windows (GCC-like, e.g. mingw or clang) */ -#elif (defined(_WIN32) || defined(_WIN64)) && \ +#elif (defined(_WIN32) || defined(_WIN64) || defined(__EMSCRIPTEN__)) && \ (defined(__GNUC__) || defined(__clang__)) #define htobe16(x) __builtin_bswap16(x) @@ -96,7 +96,8 @@ #define le64toh(x) (x) /* ... generic big-endian fallback code */ -#elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +/* ... AIX doesn't have __BYTE_ORDER__ (with XLC compiler) & is always big-endian */ +#elif (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) || defined(_AIX) /* byte swapping code inspired by: * https://github.com/rweather/arduinolibs/blob/master/libraries/Crypto/utility/EndianUtil.h diff --git a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128.h b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128.h index 4affcee..b9dcb38 100644 --- a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128.h +++ b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128.h @@ -12,6 +12,7 @@ #include "krml/lowstar_endianness.h" #include "krml/internal/types.h" #include "krml/internal/target.h" + static inline FStar_UInt128_uint128 FStar_UInt128_add(FStar_UInt128_uint128 a, FStar_UInt128_uint128 b); diff --git a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128_Verified.h b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128_Verified.h index 8f235c3..e6d872c 100644 --- a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128_Verified.h +++ b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt128_Verified.h @@ -11,6 +11,7 @@ #include #include "krml/internal/types.h" #include "krml/internal/target.h" + static inline uint64_t FStar_UInt128_constant_time_carry(uint64_t a, uint64_t b) { diff --git a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt_8_16_32_64.h b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt_8_16_32_64.h index 51f3eea..fc913a7 100644 --- a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt_8_16_32_64.h +++ b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/FStar_UInt_8_16_32_64.h @@ -12,6 +12,7 @@ #include "krml/lowstar_endianness.h" #include "krml/internal/types.h" #include "krml/internal/target.h" + extern Prims_int FStar_UInt64_n; extern bool FStar_UInt64_uu___is_Mk(uint64_t projectee); diff --git a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/LowStar_Endianness.h b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/LowStar_Endianness.h index 5feb077..a710d23 100644 --- a/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/LowStar_Endianness.h +++ b/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/LowStar_Endianness.h @@ -6,13 +6,13 @@ #ifndef __LowStar_Endianness_H #define __LowStar_Endianness_H -#include "FStar_UInt128.h" #include #include #include "krml/internal/compat.h" #include "krml/lowstar_endianness.h" #include "krml/internal/types.h" #include "krml/internal/target.h" + static inline void store128_le(uint8_t *x0, FStar_UInt128_uint128 x1); static inline FStar_UInt128_uint128 load128_le(uint8_t *x0); diff --git a/nss/lib/freebl/verified/libintvector.h b/nss/lib/freebl/verified/libintvector.h index fab6a35..e987c19 100644 --- a/nss/lib/freebl/verified/libintvector.h +++ b/nss/lib/freebl/verified/libintvector.h @@ -217,7 +217,6 @@ typedef __m128i Lib_IntVector_Intrinsics_vec128; #if defined(HACL_CAN_COMPILE_VEC256) #include -#include typedef __m256i Lib_IntVector_Intrinsics_vec256; diff --git a/nss/lib/nss/nss.h b/nss/lib/nss/nss.h index 7c6d38e..2c3753f 100644 --- a/nss/lib/nss/nss.h +++ b/nss/lib/nss/nss.h @@ -22,9 +22,9 @@ * The format of the version string should be * ".[.[.]][ ][ ]" */ -#define NSS_VERSION "3.90" _NSS_CUSTOMIZED +#define NSS_VERSION "3.92" _NSS_CUSTOMIZED #define NSS_VMAJOR 3 -#define NSS_VMINOR 90 +#define NSS_VMINOR 92 #define NSS_VPATCH 0 #define NSS_VBUILD 0 #define NSS_BETA PR_FALSE diff --git a/nss/lib/pk11wrap/pk11slot.c b/nss/lib/pk11wrap/pk11slot.c index 0bd8c8d..fb05ba6 100644 --- a/nss/lib/pk11wrap/pk11slot.c +++ b/nss/lib/pk11wrap/pk11slot.c @@ -394,6 +394,8 @@ PK11_NewSlotInfo(SECMODModule *mod) slot->isThreadSafe = PR_FALSE; slot->disabled = PR_FALSE; slot->series = 1; + slot->flagSeries = 0; + slot->flagState = PR_FALSE; slot->wrapKey = 0; slot->wrapMechanism = CKM_INVALID_MECHANISM; slot->refKeys[0] = CK_INVALID_HANDLE; @@ -911,9 +913,13 @@ PK11_GetSlotList(CK_MECHANISM_TYPE type) return &pk11_sha1SlotList; case CKM_SHA224: case CKM_SHA256: + case CKM_SHA3_224: + case CKM_SHA3_256: return &pk11_sha256SlotList; case CKM_SHA384: case CKM_SHA512: + case CKM_SHA3_384: + case CKM_SHA3_512: return &pk11_sha512SlotList; case CKM_MD5: return &pk11_md5SlotList; diff --git a/nss/lib/softoken/pkcs11.c b/nss/lib/softoken/pkcs11.c index a730ba3..64b7892 100644 --- a/nss/lib/softoken/pkcs11.c +++ b/nss/lib/softoken/pkcs11.c @@ -447,6 +447,18 @@ static const struct mechanismList mechanisms[] = { { CKM_SHA512, { 0, 0, CKF_DIGEST }, PR_FALSE }, { CKM_SHA512_HMAC, { 1, 128, CKF_SN_VR }, PR_TRUE }, { CKM_SHA512_HMAC_GENERAL, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_224, { 0, 0, CKF_DIGEST }, PR_FALSE }, + { CKM_SHA3_224_HMAC, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_224_HMAC_GENERAL, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_256, { 0, 0, CKF_DIGEST }, PR_FALSE }, + { CKM_SHA3_256_HMAC, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_256_HMAC_GENERAL, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_384, { 0, 0, CKF_DIGEST }, PR_FALSE }, + { CKM_SHA3_384_HMAC, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_384_HMAC_GENERAL, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_512, { 0, 0, CKF_DIGEST }, PR_FALSE }, + { CKM_SHA3_512_HMAC, { 1, 128, CKF_SN_VR }, PR_TRUE }, + { CKM_SHA3_512_HMAC_GENERAL, { 1, 128, CKF_SN_VR }, PR_TRUE }, { CKM_TLS_PRF_GENERAL, { 0, 512, CKF_SN_VR }, PR_FALSE }, { CKM_TLS_MAC, { 0, 512, CKF_SN_VR }, PR_FALSE }, { CKM_NSS_TLS_PRF_GENERAL_SHA256, diff --git a/nss/lib/softoken/pkcs11c.c b/nss/lib/softoken/pkcs11c.c index f2cc984..757d102 100644 --- a/nss/lib/softoken/pkcs11c.c +++ b/nss/lib/softoken/pkcs11c.c @@ -1912,6 +1912,10 @@ NSC_DigestInit(CK_SESSION_HANDLE hSession, INIT_MECH(SHA256) INIT_MECH(SHA384) INIT_MECH(SHA512) + INIT_MECH(SHA3_224) + INIT_MECH(SHA3_256) + INIT_MECH(SHA3_384) + INIT_MECH(SHA3_512) default: crv = CKR_MECHANISM_INVALID; @@ -2947,6 +2951,10 @@ NSC_SignInit(CK_SESSION_HANDLE hSession, INIT_HMAC_MECH(SHA256) INIT_HMAC_MECH(SHA384) INIT_HMAC_MECH(SHA512) + INIT_HMAC_MECH(SHA3_224) + INIT_HMAC_MECH(SHA3_256) + INIT_HMAC_MECH(SHA3_384) + INIT_HMAC_MECH(SHA3_512) case CKM_AES_CMAC_GENERAL: PORT_Assert(pMechanism->pParameter); @@ -3692,6 +3700,10 @@ NSC_VerifyInit(CK_SESSION_HANDLE hSession, INIT_HMAC_MECH(SHA256) INIT_HMAC_MECH(SHA384) INIT_HMAC_MECH(SHA512) + INIT_HMAC_MECH(SHA3_224) + INIT_HMAC_MECH(SHA3_256) + INIT_HMAC_MECH(SHA3_384) + INIT_HMAC_MECH(SHA3_512) case CKM_SSL3_MD5_MAC: PORT_Assert(pMechanism->pParameter); @@ -8313,6 +8325,10 @@ NSC_DeriveKey(CK_SESSION_HANDLE hSession, DERIVE_KEY_HASH(SHA256) DERIVE_KEY_HASH(SHA384) DERIVE_KEY_HASH(SHA512) + DERIVE_KEY_HASH(SHA3_224) + DERIVE_KEY_HASH(SHA3_256) + DERIVE_KEY_HASH(SHA3_384) + DERIVE_KEY_HASH(SHA3_512) case CKM_DH_PKCS_DERIVE: { SECItem derived, dhPublic; @@ -8755,6 +8771,11 @@ NSC_GetOperationState(CK_SESSION_HANDLE hSession, if (crv != CKR_OK) return crv; + /* a zero cipherInfoLen signals that this context cannot be serialized */ + if (context->cipherInfoLen == 0) { + return CKR_STATE_UNSAVEABLE; + } + *pulOperationStateLen = context->cipherInfoLen + sizeof(CK_MECHANISM_TYPE) + sizeof(SFTKContextType); if (pOperationState == NULL) { sftk_FreeSession(session); @@ -8825,6 +8846,10 @@ NSC_SetOperationState(CK_SESSION_HANDLE hSession, NULL); if (crv != CKR_OK) break; + if (context->cipherInfoLen == 0) { + crv = CKR_SAVED_STATE_INVALID; + break; + } PORT_Memcpy(context->cipherInfo, pOperationState, context->cipherInfoLen); pOperationState += context->cipherInfoLen; diff --git a/nss/lib/softoken/sftkhmac.c b/nss/lib/softoken/sftkhmac.c index bec2df7..8dd6d08 100644 --- a/nss/lib/softoken/sftkhmac.c +++ b/nss/lib/softoken/sftkhmac.c @@ -31,6 +31,14 @@ sftk_HMACMechanismToHash(CK_MECHANISM_TYPE mech) return HASH_AlgSHA384; case CKM_SHA512_HMAC: return HASH_AlgSHA512; + case CKM_SHA3_224_HMAC: + return HASH_AlgSHA3_224; + case CKM_SHA3_256_HMAC: + return HASH_AlgSHA3_256; + case CKM_SHA3_384_HMAC: + return HASH_AlgSHA3_384; + case CKM_SHA3_512_HMAC: + return HASH_AlgSHA3_512; } return HASH_AlgNULL; } @@ -265,6 +273,10 @@ sftk_MAC_InitRaw(sftk_MACCtx *ctx, CK_MECHANISM_TYPE mech, const unsigned char * case CKM_SHA256_HMAC: case CKM_SHA384_HMAC: case CKM_SHA512_HMAC: + case CKM_SHA3_224_HMAC: + case CKM_SHA3_256_HMAC: + case CKM_SHA3_384_HMAC: + case CKM_SHA3_512_HMAC: hashObj = HASH_GetRawHashObject(sftk_HMACMechanismToHash(mech)); /* Because we condition above only on hashes we know to be valid, @@ -341,6 +353,10 @@ sftk_MAC_Reset(sftk_MACCtx *ctx) case CKM_SHA256_HMAC: case CKM_SHA384_HMAC: case CKM_SHA512_HMAC: + case CKM_SHA3_224_HMAC: + case CKM_SHA3_256_HMAC: + case CKM_SHA3_384_HMAC: + case CKM_SHA3_512_HMAC: HMAC_Begin(ctx->mac.hmac); break; case CKM_AES_CMAC: @@ -369,6 +385,10 @@ sftk_MAC_Update(sftk_MACCtx *ctx, const CK_BYTE *data, unsigned int data_len) case CKM_SHA256_HMAC: case CKM_SHA384_HMAC: case CKM_SHA512_HMAC: + case CKM_SHA3_224_HMAC: + case CKM_SHA3_256_HMAC: + case CKM_SHA3_384_HMAC: + case CKM_SHA3_512_HMAC: /* HMAC doesn't indicate failure in the return code. */ HMAC_Update(ctx->mac.hmac, data, data_len); break; @@ -401,6 +421,10 @@ sftk_MAC_Finish(sftk_MACCtx *ctx, CK_BYTE_PTR result, unsigned int *result_len, case CKM_SHA256_HMAC: case CKM_SHA384_HMAC: case CKM_SHA512_HMAC: + case CKM_SHA3_224_HMAC: + case CKM_SHA3_256_HMAC: + case CKM_SHA3_384_HMAC: + case CKM_SHA3_512_HMAC: /* HMAC doesn't indicate failure in the return code. Additionally, * unlike CMAC, it doesn't support partial results. This means that we * need to allocate a buffer if max_result_len < ctx->mac_size. */ diff --git a/nss/lib/softoken/softkver.h b/nss/lib/softoken/softkver.h index 11f2981..1efe90b 100644 --- a/nss/lib/softoken/softkver.h +++ b/nss/lib/softoken/softkver.h @@ -17,9 +17,9 @@ * The format of the version string should be * ".[.[.]][ ][ ]" */ -#define SOFTOKEN_VERSION "3.90" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.92" SOFTOKEN_ECC_STRING #define SOFTOKEN_VMAJOR 3 -#define SOFTOKEN_VMINOR 90 +#define SOFTOKEN_VMINOR 92 #define SOFTOKEN_VPATCH 0 #define SOFTOKEN_VBUILD 0 #define SOFTOKEN_BETA PR_FALSE diff --git a/nss/lib/ssl/sslt.h b/nss/lib/ssl/sslt.h index d12b3c9..78f5aad 100644 --- a/nss/lib/ssl/sslt.h +++ b/nss/lib/ssl/sslt.h @@ -447,7 +447,7 @@ typedef struct SSLPreliminaryChannelInfoStr { * should use the following hostname extracted from the ECHConfig. */ const char* echPublicName; - /* The following field was added in NSS 3.85. */ + /* The following field was added in NSS 3.88. */ PRBool ticketSupportsEarlyData; /* When adding new fields to this structure, please document the diff --git a/nss/lib/util/hasht.h b/nss/lib/util/hasht.h index 536d34c..b70b94f 100644 --- a/nss/lib/util/hasht.h +++ b/nss/lib/util/hasht.h @@ -24,6 +24,10 @@ typedef enum { HASH_AlgSHA384 = 5, HASH_AlgSHA512 = 6, HASH_AlgSHA224 = 7, + HASH_AlgSHA3_224 = 8, + HASH_AlgSHA3_256 = 9, + HASH_AlgSHA3_384 = 10, + HASH_AlgSHA3_512 = 11, HASH_AlgTOTAL } HASH_HashType; @@ -37,6 +41,10 @@ typedef enum { #define SHA256_LENGTH 32 #define SHA384_LENGTH 48 #define SHA512_LENGTH 64 +#define SHA3_224_LENGTH 28 +#define SHA3_256_LENGTH 32 +#define SHA3_384_LENGTH 48 +#define SHA3_512_LENGTH 64 #define HASH_LENGTH_MAX SHA512_LENGTH /* diff --git a/nss/lib/util/nssutil.h b/nss/lib/util/nssutil.h index c1ec0d5..88f03fc 100644 --- a/nss/lib/util/nssutil.h +++ b/nss/lib/util/nssutil.h @@ -19,9 +19,9 @@ * The format of the version string should be * ".[.[.]][ ]" */ -#define NSSUTIL_VERSION "3.90" +#define NSSUTIL_VERSION "3.92" #define NSSUTIL_VMAJOR 3 -#define NSSUTIL_VMINOR 90 +#define NSSUTIL_VMINOR 92 #define NSSUTIL_VPATCH 0 #define NSSUTIL_VBUILD 0 #define NSSUTIL_BETA PR_FALSE diff --git a/nss/lib/util/secoid.c b/nss/lib/util/secoid.c index b36735c..5026d4b 100644 --- a/nss/lib/util/secoid.c +++ b/nss/lib/util/secoid.c @@ -513,6 +513,16 @@ CONST_OID sha384[] = { SHAXXX, 2 }; CONST_OID sha512[] = { SHAXXX, 3 }; CONST_OID sha224[] = { SHAXXX, 4 }; +CONST_OID sha3_224[] = { SHAXXX, 7 }; +CONST_OID sha3_256[] = { SHAXXX, 8 }; +CONST_OID sha3_384[] = { SHAXXX, 9 }; +CONST_OID sha3_512[] = { SHAXXX, 10 }; + +CONST_OID hmac_sha3_224[] = { SHAXXX, 13 }; +CONST_OID hmac_sha3_256[] = { SHAXXX, 14 }; +CONST_OID hmac_sha3_384[] = { SHAXXX, 15 }; +CONST_OID hmac_sha3_512[] = { SHAXXX, 16 }; + CONST_OID ansix962ECPublicKey[] = { ANSI_X962_OID, 0x02, 0x01 }; CONST_OID ansix962SignaturewithSHA1Digest[] = { ANSI_X962_SIGNATURE_OID, 0x01 }; CONST_OID ansix962SignatureRecommended[] = { ANSI_X962_SIGNATURE_OID, 0x02 }; @@ -1795,6 +1805,16 @@ const static SECOidData oids[SEC_OID_TOTAL] = { SEC_OID_EXT_KEY_USAGE_IPSEC_USER, "IPsec User", CKM_INVALID_MECHANISM, INVALID_CERT_EXTENSION), + + OD(sha3_224, SEC_OID_SHA3_224, "SHA3-224", CKM_SHA3_224, INVALID_CERT_EXTENSION), + OD(sha3_256, SEC_OID_SHA3_256, "SHA3-256", CKM_SHA3_256, INVALID_CERT_EXTENSION), + OD(sha3_384, SEC_OID_SHA3_384, "SHA3-384", CKM_SHA3_384, INVALID_CERT_EXTENSION), + OD(sha3_512, SEC_OID_SHA3_512, "SHA3-512", CKM_SHA3_512, INVALID_CERT_EXTENSION), + + OD(hmac_sha3_224, SEC_OID_HMAC_SHA3_224, "HMAC SHA3-224", CKM_SHA3_224_HMAC, INVALID_CERT_EXTENSION), + OD(hmac_sha3_256, SEC_OID_HMAC_SHA3_256, "HMAC SHA3-256", CKM_SHA3_256_HMAC, INVALID_CERT_EXTENSION), + OD(hmac_sha3_384, SEC_OID_HMAC_SHA3_384, "HMAC SHA3-384", CKM_SHA3_384_HMAC, INVALID_CERT_EXTENSION), + OD(hmac_sha3_512, SEC_OID_HMAC_SHA3_512, "HMAC SHA3-512", CKM_SHA3_512_HMAC, INVALID_CERT_EXTENSION), }; /* PRIVATE EXTENDED SECOID Table diff --git a/nss/lib/util/secoidt.h b/nss/lib/util/secoidt.h index 2b7eb21..788bed0 100644 --- a/nss/lib/util/secoidt.h +++ b/nss/lib/util/secoidt.h @@ -502,6 +502,16 @@ typedef enum { SEC_OID_EXT_KEY_USAGE_IPSEC_TUNNEL = 362, SEC_OID_EXT_KEY_USAGE_IPSEC_USER = 363, + SEC_OID_SHA3_224 = 364, + SEC_OID_SHA3_256 = 365, + SEC_OID_SHA3_384 = 366, + SEC_OID_SHA3_512 = 367, + + SEC_OID_HMAC_SHA3_224 = 368, + SEC_OID_HMAC_SHA3_256 = 369, + SEC_OID_HMAC_SHA3_384 = 370, + SEC_OID_HMAC_SHA3_512 = 371, + SEC_OID_TOTAL } SECOidTag; diff --git a/nss/nss-tool/hw-support.c b/nss/nss-tool/hw-support.c index 87d652c..e0a11dd 100644 --- a/nss/nss-tool/hw-support.c +++ b/nss/nss-tool/hw-support.c @@ -25,6 +25,7 @@ int main(int argc, char const *argv[]) { printf("\tSHA \t%s supported\n", sha_support() ? "" : "not"); printf("\tAVX \t%s supported\n", avx_support() ? "" : "not"); printf("\tAVX2 \t%s supported\n", avx2_support() ? "" : "not"); + printf("\tADX \t%s supported\n", adx_support() ? "" : "not"); printf("\tSSSE3 \t%s supported\n", ssse3_support() ? "" : "not"); printf("\tSSE4.1 \t%s supported\n", sse4_1_support() ? "" : "not"); printf("\tSSE4.2 \t%s supported\n", sse4_2_support() ? "" : "not"); diff --git a/nss/tests/cipher/cipher.sh b/nss/tests/cipher/cipher.sh index 6425ff6..4ef0724 100755 --- a/nss/tests/cipher/cipher.sh +++ b/nss/tests/cipher/cipher.sh @@ -68,6 +68,16 @@ cipher_ecdsa() fi } +cipher_sha3() +{ + echo "bltest -T -m $PARAM -d $CIPHERTESTDIR" + ${PROFTOOL} ${BINDIR}/bltest${PROG_SUFFIX} -T -m $PARAM -d $CIPHERTESTDIR + if [ $? -ne 0 ]; then + html_msg 1 $EXP_RET "$TESTNAME" + echo "$failedStr" + fi +} + ############################## cipher_main ############################# # local shell function to test NSS ciphers ######################################################################## @@ -83,7 +93,9 @@ cipher_main() res=0 if [[ "$TESTNAME" == "ECDSA Sign" || "$TESTNAME" == "ECDSA Verify" ]] ; then cipher_ecdsa - else + elif [[ "$TESTNAME" == "SHA3 224 Hash" || "$TESTNAME" == "SHA3 256 Hash" || "$TESTNAME" == "SHA3 384 Hash" || "$TESTNAME" == "SHA3 512 Hash" ]] ; then + cipher_sha3 + else inOff=0 while [ $inOff -lt 8 ] do @@ -142,6 +154,7 @@ cipher_rsa_populate() html_msg $? 0 "$TESTNAME" } + ############################## cipher_cleanup ############################ # local shell function to finish this script (no exit since it might be # sourced) diff --git a/nss/tests/cipher/cipher.txt b/nss/tests/cipher/cipher.txt index 483b646..7617a50 100644 --- a/nss/tests/cipher/cipher.txt +++ b/nss/tests/cipher/cipher.txt @@ -56,4 +56,8 @@ 0 sha224_-H SHA224_Hash 0 sha256_-H SHA256_Hash 0 sha384_-H SHA384_Hash - 0 sha512_-H SHA512_Hash \ No newline at end of file + 0 sha512_-H SHA512_Hash + 0 sha3_224_-H SHA3_224_Hash + 0 sha3_256_-H SHA3_256_Hash + 0 sha3_384_-H SHA3_384_Hash + 0 sha3_512_-H SHA3_512_Hash diff --git a/nss/tests/dbtests/dbtests.sh b/nss/tests/dbtests/dbtests.sh index b0b195d..c82ea85 100755 --- a/nss/tests/dbtests/dbtests.sh +++ b/nss/tests/dbtests/dbtests.sh @@ -366,7 +366,7 @@ dbtest_main() RARRAY=($dtime) TIMEARRAY=(${RARRAY[1]//./ }) echo "${TIMEARRAY[0]} seconds" - test ${TIMEARRAY[0]} -lt 2 + test ${TIMEARRAY[0]} -lt 5 ret=$? html_msg ${ret} 0 "certutil dump keys with explicit default trust flags" fi