Artifact
9121025e8e8ed13688c23898e0e3ca7bad1ce22bd4ef31a85f1230dadd2386da:
0000: 23 20 41 75 74 6f 20 67 65 6e 65 72 61 74 65 64  # Auto generated
0010: 20 66 72 6f 6d 20 22 48 4d 41 43 5f 52 49 50 45   from "HMAC_RIPE
0020: 4d 44 31 32 38 2e 74 78 74 22 0a 6c 61 70 70 65  MD128.txt".lappe
0030: 6e 64 20 61 75 74 6f 5f 70 61 74 68 20 5b 66 69  nd auto_path [fi
0040: 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65  le dirname [file
0050: 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64   dirname [file d
0060: 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72  irname [file dir
0070: 6e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  name [file join 
0080: 5b 70 77 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69  [pwd] [info scri
0090: 70 74 5d 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65  pt]]]]]].package
00a0: 20 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61 63   require tls.pac
00b0: 6b 61 67 65 20 72 65 71 75 69 72 65 20 74 63 6c  kage require tcl
00c0: 74 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  test..tcltest::t
00d0: 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 48 4d  estConstraint HM
00e0: 41 43 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72  AC [expr {[lsear
00f0: 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a  ch -nocase [tls:
0100: 3a 6d 61 63 73 5d 20 48 4d 41 43 5d 20 3e 20 2d  :macs] HMAC] > -
0110: 31 7d 5d 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1}].tcltest::tes
0120: 74 43 6f 6e 73 74 72 61 69 6e 74 20 52 49 50 45  tConstraint RIPE
0130: 4d 44 31 32 38 20 5b 65 78 70 72 20 7b 5b 6c 73  MD128 [expr {[ls
0140: 65 61 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74  earch -nocase [t
0150: 6c 73 3a 3a 64 69 67 65 73 74 73 5d 20 52 49 50  ls::digests] RIP
0160: 45 4d 44 31 32 38 5d 20 3e 20 2d 31 7d 5d 0a 63  EMD128] > -1}].c
0170: 61 74 63 68 20 7b 74 6c 73 3a 3a 70 72 6f 76 69  atch {tls::provi
0180: 64 65 72 20 6c 65 67 61 63 79 7d 0a 0a 74 63 6c  der legacy}..tcl
0190: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48  test::test MAC_H
01a0: 4d 41 43 2d 52 49 50 45 4d 44 31 32 38 2d 31 2e  MAC-RIPEMD128-1.
01b0: 31 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44 31 32  1 {HMAC_RIPEMD12
01c0: 38 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  8} \..-constrain
01d0: 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d 44 31  ts {HMAC RIPEMD1
01e0: 32 38 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b  28 } \..-setup {
01f0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69  } \..-body {stri
0200: 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68  ng range [tls::h
0210: 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74  mac -hex -digest
0220: 20 52 49 50 45 4d 44 31 32 38 20 2d 6b 65 79 20   RIPEMD128 -key 
0230: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
0240: 65 78 20 30 62 30 62 30 62 30 62 30 62 30 62 30  ex 0b0b0b0b0b0b0
0250: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0260: 62 30 62 5d 20 2d 64 61 74 61 20 22 48 69 20 54  b0b] -data "Hi T
0270: 68 65 72 65 22 5d 20 30 20 33 31 7d 20 5c 0a 09  here"] 0 31} \..
0280: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
0290: 73 75 6c 74 20 66 62 66 36 31 66 39 34 39 32 61  sult fbf61f9492a
02a0: 61 34 62 62 66 38 31 63 31 37 32 65 38 34 65 30  a4bbf81c172e84e0
02b0: 37 33 34 64 62 0a 0a 74 63 6c 74 65 73 74 3a 3a  734db..tcltest::
02c0: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 52 49  test MAC_HMAC-RI
02d0: 50 45 4d 44 31 32 38 2d 31 2e 32 20 7b 48 4d 41  PEMD128-1.2 {HMA
02e0: 43 5f 52 49 50 45 4d 44 31 32 38 7d 20 5c 0a 09  C_RIPEMD128} \..
02f0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
0300: 41 43 20 52 49 50 45 4d 44 31 32 38 20 7d 20 5c  AC RIPEMD128 } \
0310: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
0320: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
0330: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
0340: 65 78 20 2d 64 69 67 65 73 74 20 52 49 50 45 4d  ex -digest RIPEM
0350: 44 31 32 38 20 2d 6b 65 79 20 22 4a 65 66 65 22  D128 -key "Jefe"
0360: 20 2d 64 61 74 61 20 22 77 68 61 74 20 64 6f 20   -data "what do 
0370: 79 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f 74 68  ya want for noth
0380: 69 6e 67 3f 22 5d 20 30 20 33 31 7d 20 5c 0a 09  ing?"] 0 31} \..
0390: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
03a0: 73 75 6c 74 20 38 37 35 66 38 32 38 38 36 32 62  sult 875f828862b
03b0: 36 62 33 33 34 62 34 32 37 63 35 35 66 39 66 37  6b334b427c55f9f7
03c0: 66 66 30 39 62 0a 0a 74 63 6c 74 65 73 74 3a 3a  ff09b..tcltest::
03d0: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 52 49  test MAC_HMAC-RI
03e0: 50 45 4d 44 31 32 38 2d 31 2e 33 20 7b 48 4d 41  PEMD128-1.3 {HMA
03f0: 43 5f 52 49 50 45 4d 44 31 32 38 7d 20 5c 0a 09  C_RIPEMD128} \..
0400: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
0410: 41 43 20 52 49 50 45 4d 44 31 32 38 20 7d 20 5c  AC RIPEMD128 } \
0420: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
0430: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
0440: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
0450: 65 78 20 2d 64 69 67 65 73 74 20 52 49 50 45 4d  ex -digest RIPEM
0460: 44 31 32 38 20 2d 6b 65 79 20 5b 62 69 6e 61 72  D128 -key [binar
0470: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 61 61  y decode hex aaa
0480: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0490: 61 61 61 61 61 61 61 61 61 61 61 61 61 5d 20 2d  aaaaaaaaaaaaa] -
04a0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
04b0: 6f 64 65 20 68 65 78 20 64 64 64 64 64 64 64 64  ode hex dddddddd
04c0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04d0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04e0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04f0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0500: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0510: 64 64 64 64 64 64 64 64 64 64 64 64 5d 5d 20 30  dddddddddddd]] 0
0520: 20 33 31 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65   31} \..-match e
0530: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 39 66  xact -result 09f
0540: 30 62 32 38 34 36 64 32 66 35 34 33 64 61 33 36  0b2846d2f543da36
0550: 33 63 62 65 63 38 64 36 32 61 33 38 64 0a 0a 74  3cbec8d62a38d..t
0560: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43  cltest::test MAC
0570: 5f 48 4d 41 43 2d 52 49 50 45 4d 44 31 32 38 2d  _HMAC-RIPEMD128-
0580: 31 2e 34 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44  1.4 {HMAC_RIPEMD
0590: 31 32 38 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  128} \..-constra
05a0: 69 6e 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d  ints {HMAC RIPEM
05b0: 44 31 32 38 20 7d 20 5c 0a 09 2d 73 65 74 75 70  D128 } \..-setup
05c0: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
05d0: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
05e0: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
05f0: 73 74 20 52 49 50 45 4d 44 31 32 38 20 2d 6b 65  st RIPEMD128 -ke
0600: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
0610: 20 68 65 78 20 30 31 30 32 30 33 30 34 30 35 30   hex 01020304050
0620: 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30  60708090a0b0c0d0
0630: 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31  e0f1011121314151
0640: 36 31 37 31 38 31 39 5d 20 2d 64 61 74 61 20 5b  6171819] -data [
0650: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0660: 78 20 63 64 63 64 63 64 63 64 63 64 63 64 63 64  x cdcdcdcdcdcdcd
0670: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0680: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
0690: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06a0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06b0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06c0: 63 64 63 64 63 64 5d 5d 20 30 20 33 31 7d 20 5c  cdcdcd]] 0 31} \
06d0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
06e0: 72 65 73 75 6c 74 20 62 64 62 62 64 37 63 66 30  result bdbbd7cf0
06f0: 33 65 34 34 62 35 61 61 36 30 61 66 38 31 35 62  3e44b5aa60af815b
0700: 65 34 64 32 32 39 34 0a 0a 74 63 6c 74 65 73 74  e4d2294..tcltest
0710: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d  ::test MAC_HMAC-
0720: 52 49 50 45 4d 44 31 32 38 2d 31 2e 35 20 7b 48  RIPEMD128-1.5 {H
0730: 4d 41 43 5f 52 49 50 45 4d 44 31 32 38 7d 20 5c  MAC_RIPEMD128} \
0740: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  ..-constraints {
0750: 48 4d 41 43 20 52 49 50 45 4d 44 31 32 38 20 7d  HMAC RIPEMD128 }
0760: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a   \..-setup {} \.
0770: 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72  .-body {string r
0780: 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20  ange [tls::hmac 
0790: 2d 68 65 78 20 2d 64 69 67 65 73 74 20 52 49 50  -hex -digest RIP
07a0: 45 4d 44 31 32 38 20 2d 6b 65 79 20 5b 62 69 6e  EMD128 -key [bin
07b0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
07c0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
07d0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 5d  c0c0c0c0c0c0c0c]
07e0: 20 2d 64 61 74 61 20 22 54 65 73 74 20 57 69 74   -data "Test Wit
07f0: 68 20 54 72 75 6e 63 61 74 69 6f 6e 22 5d 20 30  h Truncation"] 0
0800: 20 32 33 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65   23} \..-match e
0810: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 37 39  xact -result e79
0820: 38 30 38 66 32 34 62 32 35 66 64 30 33 31 63 31  808f24b25fd031c1
0830: 35 35 66 30 64 0a 0a 74 63 6c 74 65 73 74 3a 3a  55f0d..tcltest::
0840: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 52 49  test MAC_HMAC-RI
0850: 50 45 4d 44 31 32 38 2d 31 2e 36 20 7b 48 4d 41  PEMD128-1.6 {HMA
0860: 43 5f 52 49 50 45 4d 44 31 32 38 7d 20 5c 0a 09  C_RIPEMD128} \..
0870: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
0880: 41 43 20 52 49 50 45 4d 44 31 32 38 20 7d 20 5c  AC RIPEMD128 } \
0890: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
08a0: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
08b0: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
08c0: 65 78 20 2d 64 69 67 65 73 74 20 52 49 50 45 4d  ex -digest RIPEM
08d0: 44 31 32 38 20 2d 6b 65 79 20 5b 62 69 6e 61 72  D128 -key [binar
08e0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 61 61  y decode hex aaa
08f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0900: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0910: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0920: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0930: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0940: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0950: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0960: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0970: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0980: 61 61 61 61 61 61 61 61 61 61 61 61 61 5d 20 2d  aaaaaaaaaaaaa] -
0990: 64 61 74 61 20 22 54 65 73 74 20 55 73 69 6e 67  data "Test Using
09a0: 20 4c 61 72 67 65 72 20 54 68 61 6e 20 42 6c 6f   Larger Than Blo
09b0: 63 6b 2d 53 69 7a 65 20 4b 65 79 20 2d 20 48 61  ck-Size Key - Ha
09c0: 73 68 20 4b 65 79 20 46 69 72 73 74 22 5d 20 30  sh Key First"] 0
09d0: 20 33 31 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65   31} \..-match e
09e0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64 63 37  xact -result dc7
09f0: 33 32 39 32 38 64 65 39 38 31 30 34 61 31 66 35  32928de98104a1f5
0a00: 39 64 33 37 33 63 31 35 30 61 63 62 62 0a 0a 74  9d373c150acbb..t
0a10: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43  cltest::test MAC
0a20: 5f 48 4d 41 43 2d 52 49 50 45 4d 44 31 32 38 2d  _HMAC-RIPEMD128-
0a30: 31 2e 37 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44  1.7 {HMAC_RIPEMD
0a40: 31 32 38 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  128} \..-constra
0a50: 69 6e 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d  ints {HMAC RIPEM
0a60: 44 31 32 38 20 7d 20 5c 0a 09 2d 73 65 74 75 70  D128 } \..-setup
0a70: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
0a80: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
0a90: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
0aa0: 73 74 20 52 49 50 45 4d 44 31 32 38 20 2d 6b 65  st RIPEMD128 -ke
0ab0: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
0ac0: 20 68 65 78 20 61 61 61 61 61 61 61 61 61 61 61   hex aaaaaaaaaaa
0ad0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0ae0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0af0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b60: 61 61 61 61 61 5d 20 2d 64 61 74 61 20 22 54 65  aaaaa] -data "Te
0b70: 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20  st Using Larger 
0b80: 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20  Than Block-Size 
0b90: 4b 65 79 20 61 6e 64 20 4c 61 72 67 65 72 20 54  Key and Larger T
0ba0: 68 61 6e 20 4f 6e 65 20 42 6c 6f 63 6b 2d 53 69  han One Block-Si
0bb0: 7a 65 20 44 61 74 61 22 5d 20 30 20 33 31 7d 20  ze Data"] 0 31} 
0bc0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0bd0: 2d 72 65 73 75 6c 74 20 35 63 36 62 65 63 39 36  -result 5c6bec96
0be0: 37 39 33 65 31 36 64 34 30 36 39 30 63 32 33 37  793e16d40690c237
0bf0: 36 33 35 66 33 30 63 35 0a 0a 23 20 43 6c 65 61  635f30c5..# Clea
0c00: 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63  nup.::tcltest::c
0c10: 6c 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75  leanupTests.retu
0c20: 72 6e 0a                                         rn.