0000: 3c 21 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a <!DOCTYPE html>.
0010: 3c 68 74 6d 6c 20 6c 61 6e 67 3d 22 65 6e 22 3e <html lang="en">
0020: 0a 3c 68 65 61 64 3e 0a 3c 6d 65 74 61 20 68 74 .<head>.<meta ht
0030: 74 70 2d 65 71 75 69 76 3d 22 43 6f 6e 74 65 6e tp-equiv="Conten
0040: 74 2d 54 79 70 65 22 20 63 6f 6e 74 65 6e 74 3d t-Type" content=
0050: 22 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 "text/html; char
0060: 73 65 74 3d 75 74 66 2d 38 22 3e 0a 3c 6d 65 74 set=utf-8">.<met
0070: 61 20 6e 61 6d 65 3d 22 43 6f 70 79 72 69 67 68 a name="Copyrigh
0080: 74 22 20 63 6f 6e 74 65 6e 74 3d 22 32 30 32 33 t" content="2023
0090: 20 42 72 69 61 6e 20 4f 27 48 61 67 61 6e 22 3e Brian O'Hagan">
00a0: 0a 3c 74 69 74 6c 65 3e 54 68 65 20 54 63 6c 20 .<title>The Tcl
00b0: 43 72 79 70 74 6f 67 72 61 70 68 79 20 50 61 63 Cryptography Pac
00c0: 6b 61 67 65 3c 2f 74 69 74 6c 65 3e 0a 3c 6c 69 kage</title>.<li
00d0: 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65 73 68 65 nk rel="styleshe
00e0: 65 74 22 20 68 72 65 66 3d 22 64 6f 63 73 2e 63 et" href="docs.c
00f0: 73 73 22 20 74 79 70 65 3d 22 74 65 78 74 2f 63 ss" type="text/c
0100: 73 73 22 20 6d 65 64 69 61 3d 22 61 6c 6c 22 3e ss" media="all">
0110: 0a 3c 2f 68 65 61 64 3e 0a 0a 3c 62 6f 64 79 20 .</head>..<body
0120: 63 6c 61 73 73 3d 22 76 73 63 2d 69 6e 69 74 69 class="vsc-initi
0130: 61 6c 69 7a 65 64 22 3e 0a 0a 3c 68 32 3e 54 63 alized">..<h2>Tc
0140: 6c 20 43 72 79 70 74 6f 67 72 61 70 68 79 20 44 l Cryptography D
0150: 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 68 32 ocumentation</h2
0160: 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 64 3e >..<dl>. <dd>
0170: 3c 61 20 68 72 65 66 3d 22 23 4e 41 4d 45 22 3e <a href="#NAME">
0180: 4e 41 4d 45 3c 2f 61 3e 0a 09 3c 64 6c 3e 3c 64 NAME</a>..<dl><d
0190: 64 3e 3c 62 3e 74 6c 73 3c 2f 62 3e 20 2d 20 62 d><b>tls</b> - b
01a0: 69 6e 64 69 6e 67 20 74 6f 20 3c 62 3e 4f 70 65 inding to <b>Ope
01b0: 6e 53 53 4c 3c 2f 62 3e 20 74 6f 6f 6c 6b 69 74 nSSL</b> toolkit
01c0: 2e 3c 2f 64 64 3e 3c 2f 64 6c 3e 0a 20 20 20 20 .</dd></dl>.
01d0: 3c 2f 64 64 3e 0a 20 20 20 20 3c 64 64 3e 3c 61 </dd>. <dd><a
01e0: 20 68 72 65 66 3d 22 23 44 45 53 43 52 49 50 54 href="#DESCRIPT
01f0: 49 4f 4e 22 3e 44 45 53 43 52 49 50 54 49 4f 4e ION">DESCRIPTION
0200: 3c 2f 61 3e 20 3c 2f 64 64 3e 0a 20 20 20 20 3c </a> </dd>. <
0210: 64 64 3e 3c 61 20 68 72 65 66 3d 22 23 53 59 4e dd><a href="#SYN
0220: 4f 50 53 49 53 22 3e 53 59 4e 4f 50 53 49 53 3c OPSIS">SYNOPSIS<
0230: 2f 61 3e 20 3c 2f 64 64 3e 0a 20 20 20 20 3c 64 /a> </dd>. <d
0240: 64 3e 3c 64 6c 3e 0a 09 20 20 20 20 3c 64 64 3e d><dl>.. <dd>
0250: 3c 62 3e 70 61 63 6b 61 67 65 20 72 65 71 75 69 <b>package requi
0260: 72 65 20 54 63 6c 3c 2f 62 3e 20 3c 65 6d 3e 3f re Tcl</b> <em>?
0270: 38 2e 35 2d 3f 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 8.5-?</em></dd>.
0280: 09 20 20 20 20 3c 64 64 3e 3c 62 3e 70 61 63 6b . <dd><b>pack
0290: 61 67 65 20 72 65 71 75 69 72 65 20 74 6c 73 3c age require tls<
02a0: 2f 62 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 3c 64 /b></dd>.. <d
02b0: 74 3e 26 6e 62 73 70 3b 3c 2f 64 74 3e 0a 09 20 t> </dt>..
02c0: 20 20 20 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a 63 <dd><b>tls::c
02d0: 69 70 68 65 72 3c 2f 62 3e 20 3c 65 6d 3e 6e 61 ipher</b> <em>na
02e0: 6d 65 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 20 20 me</em></dd>..
02f0: 20 20 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a 63 69 <dd><b>tls::ci
0300: 70 68 65 72 73 3c 2f 62 3e 20 3c 65 6d 3e 3f 70 phers</b> <em>?p
0310: 72 6f 74 6f 63 6f 6c 3f 20 3f 76 65 72 62 6f 73 rotocol? ?verbos
0320: 65 3f 20 3f 73 75 70 70 6f 72 74 65 64 3f 3c 2f e? ?supported?</
0330: 65 6d 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 3c 64 em></dd>.. <d
0340: 64 3e 3c 62 3e 74 6c 73 3a 3a 64 69 67 65 73 74 d><b>tls::digest
0350: 73 3c 2f 62 3e 20 3c 65 6d 3e 3f 6e 61 6d 65 3f s</b> <em>?name?
0360: 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 </em></dd>..
0370: 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a 6d 61 63 73 <dd><b>tls::macs
0380: 3c 2f 62 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 3c </b></dd>.. <
0390: 64 64 3e 3c 62 3e 74 6c 73 3a 3a 70 72 6f 74 6f dd><b>tls::proto
03a0: 63 6f 6c 73 3c 2f 62 3e 3c 2f 64 64 3e 0a 09 20 cols</b></dd>..
03b0: 20 20 20 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a 76 <dd><b>tls::v
03c0: 65 72 73 69 6f 6e 3c 2f 62 3e 3c 2f 64 64 3e 0a ersion</b></dd>.
03d0: 09 20 20 20 20 3c 64 74 3e 26 6e 62 73 70 3b 3c . <dt> <
03e0: 2f 64 74 3e 0a 09 20 20 20 20 3c 64 64 3e 3c 62 /dt>.. <dd><b
03f0: 3e 74 6c 73 3a 3a 63 6d 61 63 3c 2f 62 3e 20 3c >tls::cmac</b> <
0400: 62 3e 2d 63 69 70 68 65 72 3c 2f 62 3e 20 3c 65 b>-cipher</b> <e
0410: 6d 3e 6e 61 6d 65 3c 2f 65 6d 3e 20 3c 62 3e 2d m>name</em> <b>-
0420: 6b 65 79 3c 2f 62 3e 20 3c 65 6d 3e 6b 65 79 20 key</b> <em>key
0430: 3f 6f 70 74 69 6f 6e 73 3f 3c 2f 65 6d 3e 3c 2f ?options?</em></
0440: 64 64 3e 0a 09 20 20 20 20 3c 64 64 3e 3c 62 3e dd>.. <dd><b>
0450: 74 6c 73 3a 3a 68 6d 61 63 3c 2f 62 3e 20 3c 62 tls::hmac</b> <b
0460: 3e 2d 64 69 67 65 73 74 3c 2f 62 3e 20 3c 65 6d >-digest</b> <em
0470: 3e 6e 61 6d 65 3c 2f 65 6d 3e 20 3c 62 3e 2d 6b >name</em> <b>-k
0480: 65 79 3c 2f 62 3e 20 3c 65 6d 3e 6b 65 79 20 3f ey</b> <em>key ?
0490: 6f 70 74 69 6f 6e 73 3f 3c 2f 65 6d 3e 3c 2f 64 options?</em></d
04a0: 64 3e 0a 09 20 20 20 20 3c 64 64 3e 3c 62 3e 74 d>.. <dd><b>t
04b0: 6c 73 3a 3a 6d 64 3c 2f 62 3e 20 3c 62 3e 2d 64 ls::md</b> <b>-d
04c0: 69 67 65 73 74 3c 2f 62 3e 20 3c 65 6d 3e 6e 61 igest</b> <em>na
04d0: 6d 65 20 3f 6f 70 74 69 6f 6e 73 3f 3c 2f 65 6d me ?options?</em
04e0: 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 3c 64 64 3e ></dd>.. <dd>
04f0: 3c 62 3e 74 6c 73 3a 3a 6d 64 34 3c 2f 62 3e 20 <b>tls::md4</b>
0500: 3c 65 6d 3e 64 61 74 61 3c 2f 65 6d 3e 3c 2f 64 <em>data</em></d
0510: 64 3e 0a 09 20 20 20 20 3c 64 64 3e 3c 62 3e 74 d>.. <dd><b>t
0520: 6c 73 3a 3a 6d 64 35 3c 2f 62 3e 20 3c 65 6d 3e ls::md5</b> <em>
0530: 64 61 74 61 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 data</em></dd>..
0540: 20 20 20 20 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a <dd><b>tls::
0550: 73 68 61 31 3c 2f 62 3e 20 3c 65 6d 3e 64 61 74 sha1</b> <em>dat
0560: 61 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 20 20 20 a</em></dd>..
0570: 20 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a 73 68 61 <dd><b>tls::sha
0580: 32 35 36 3c 2f 62 3e 20 3c 65 6d 3e 64 61 74 61 256</b> <em>data
0590: 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 </em></dd>..
05a0: 3c 64 64 3e 3c 62 3e 74 6c 73 3a 3a 73 68 61 35 <dd><b>tls::sha5
05b0: 31 32 3c 2f 62 3e 20 3c 65 6d 3e 64 61 74 61 3c 12</b> <em>data<
05c0: 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 20 20 20 20 3c /em></dd>.. <
05d0: 64 64 3e 3c 62 3e 74 6c 73 3a 3a 75 6e 73 74 61 dd><b>tls::unsta
05e0: 63 6b 3c 2f 62 3e 20 3c 65 6d 3e 63 68 61 6e 6e ck</b> <em>chann
05f0: 65 6c 49 64 3c 2f 65 6d 3e 3c 2f 64 64 3e 0a 09 elId</em></dd>..
0600: 20 20 20 20 3c 64 74 3e 26 6e 62 73 70 3b 3c 2f <dt> </
0610: 64 74 3e 0a 09 20 20 20 20 3c 64 64 3e 3c 62 3e dt>.. <dd><b>
0620: 74 6c 73 3a 3a 65 6e 63 72 79 70 74 3c 2f 62 3e tls::encrypt</b>
0630: 20 3c 62 3e 2d 63 69 70 68 65 72 3c 2f 62 3e 20 <b>-cipher</b>
0640: 3c 65 6d 3e 6e 61 6d 65 3c 2f 65 6d 3e 20 3c 62 <em>name</em> <b
0650: 3e 2d 6b 65 79 3c 2f 62 3e 20 3c 65 6d 3e 6b 65 >-key</b> <em>ke
0660: 79 20 3f 6f 70 74 69 6f 6e 73 3f 3c 2f 65 6d 3e y ?options?</em>
0670: 3c 2f 64 64 3e 0a 09 20 20 20 20 3c 64 64 3e 3c </dd>.. <dd><
0680: 62 3e 74 6c 73 3a 3a 64 65 63 72 79 70 74 3c 2f b>tls::decrypt</
0690: 62 3e 20 3c 62 3e 2d 63 69 70 68 65 72 3c 2f 62 b> <b>-cipher</b
06a0: 3e 20 3c 65 6d 3e 6e 61 6d 65 3c 2f 65 6d 3e 20 > <em>name</em>
06b0: 3c 62 3e 2d 6b 65 79 3c 2f 62 3e 20 3c 65 6d 3e <b>-key</b> <em>
06c0: 6b 65 79 20 3f 6f 70 74 69 6f 6e 73 3f 3c 2f 65 key ?options?</e
06d0: 6d 3e 3c 2f 64 64 3e 0a 09 3c 2f 64 6c 3e 0a 20 m></dd>..</dl>.
06e0: 20 20 20 3c 2f 64 64 3e 0a 20 20 20 20 3c 64 64 </dd>. <dd
06f0: 3e 3c 61 20 68 72 65 66 3d 22 23 4f 50 54 49 4f ><a href="#OPTIO
0700: 4e 53 22 3e 4f 50 54 49 4f 4e 53 3c 2f 61 3e 3c NS">OPTIONS</a><
0710: 2f 64 64 3e 0a 20 20 20 20 3c 64 64 3e 3c 61 20 /dd>. <dd><a
0720: 68 72 65 66 3d 22 23 43 4f 4d 4d 41 4e 44 53 22 href="#COMMANDS"
0730: 3e 43 4f 4d 4d 41 4e 44 53 3c 2f 61 3e 3c 2f 64 >COMMANDS</a></d
0740: 64 3e 0a 20 20 20 20 3c 64 64 3e 3c 61 20 68 72 d>. <dd><a hr
0750: 65 66 3d 22 23 47 4c 4f 53 53 41 52 59 22 3e 47 ef="#GLOSSARY">G
0760: 4c 4f 53 53 41 52 59 3c 2f 61 3e 20 3c 2f 64 64 LOSSARY</a> </dd
0770: 3e 0a 20 20 20 20 3c 64 64 3e 3c 61 20 68 72 65 >. <dd><a hre
0780: 66 3d 22 23 45 58 41 4d 50 4c 45 53 22 3e 45 58 f="#EXAMPLES">EX
0790: 41 4d 50 4c 45 53 3c 2f 61 3e 3c 2f 64 64 3e 0a AMPLES</a></dd>.
07a0: 20 20 20 20 3c 64 64 3e 3c 61 20 68 72 65 66 3d <dd><a href=
07b0: 22 23 53 50 45 43 49 41 4c 22 3e 53 50 45 43 49 "#SPECIAL">SPECI
07c0: 41 4c 20 43 4f 4e 53 49 44 45 52 41 54 49 4f 4e AL CONSIDERATION
07d0: 53 3c 2f 61 3e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e S</a></dd>.</dl>
07e0: 0a 0a 3c 62 72 3e 0a 0a 3c 68 33 3e 3c 61 20 6e ..<br>..<h3><a n
07f0: 61 6d 65 3d 22 4e 41 4d 45 22 3e 4e 41 4d 45 3c ame="NAME">NAME<
0800: 2f 61 3e 3c 2f 68 33 3e 0a 0a 3c 70 3e 3c 73 74 /a></h3>..<p><st
0810: 72 6f 6e 67 3e 74 6c 73 3c 2f 73 74 72 6f 6e 67 rong>tls</strong
0820: 3e 20 2d 20 62 69 6e 64 69 6e 67 20 74 6f 20 3c > - binding to <
0830: 73 74 72 6f 6e 67 3e 4f 70 65 6e 53 53 4c 3c 2f strong>OpenSSL</
0840: 73 74 72 6f 6e 67 3e 20 74 6f 6f 6c 6b 69 74 2e strong> toolkit.
0850: 3c 2f 70 3e 0a 0a 3c 68 33 3e 3c 61 20 6e 61 6d </p>..<h3><a nam
0860: 65 3d 22 44 45 53 43 52 49 50 54 49 4f 4e 22 3e e="DESCRIPTION">
0870: 44 45 53 43 52 49 50 54 49 4f 4e 3c 2f 61 3e 3c DESCRIPTION</a><
0880: 2f 68 33 3e 0a 0a 3c 70 3e 54 68 69 73 20 65 78 /h3>..<p>This ex
0890: 74 65 6e 73 69 6f 6e 20 70 72 6f 76 69 64 65 73 tension provides
08a0: 20 61 20 67 65 6e 65 72 69 63 20 69 6e 74 65 72 a generic inter
08b0: 66 61 63 65 20 74 6f 20 74 68 65 0a 3c 61 20 68 face to the.<a h
08c0: 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e ref="http://www.
08d0: 6f 70 65 6e 73 73 6c 2e 6f 72 67 2f 22 3e 4f 70 openssl.org/">Op
08e0: 65 6e 53 53 4c 3c 2f 61 3e 20 63 72 79 70 74 6f enSSL</a> crypto
08f0: 67 72 61 70 68 79 20 66 75 6e 63 74 69 6f 6e 73 graphy functions
0900: 2e 20 54 68 65 0a 70 72 6f 76 69 64 65 64 20 63 . The.provided c
0910: 6f 6d 6d 61 6e 64 73 20 63 61 6e 20 62 65 20 75 ommands can be u
0920: 73 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 sed to ensure th
0930: 65 20 63 6f 6e 66 69 64 65 6e 74 69 61 6c 69 74 e confidentialit
0940: 79 2c 20 61 75 74 68 65 6e 74 69 63 69 74 79 2c y, authenticity,
0950: 0a 61 6e 64 20 69 6e 74 65 67 72 69 74 79 20 6f .and integrity o
0960: 66 20 6d 65 73 73 61 67 65 73 20 61 6e 64 20 64 f messages and d
0970: 61 74 61 2e 3c 2f 70 3e 0a 0a 3c 62 72 3e 0a 3c ata.</p>..<br>.<
0980: 68 33 3e 3c 61 20 6e 61 6d 65 3d 22 53 59 4e 4f h3><a name="SYNO
0990: 50 53 49 53 22 3e 53 59 4e 4f 50 53 49 53 3c 2f PSIS">SYNOPSIS</
09a0: 61 3e 3c 2f 68 33 3e 0a 0a 3c 70 3e 3c 62 3e 70 a></h3>..<p><b>p
09b0: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 54 ackage require T
09c0: 63 6c 20 38 2e 35 2d 3c 2f 62 3e 3c 62 72 3e 0a cl 8.5-</b><br>.
09d0: 3c 62 3e 70 61 63 6b 61 67 65 20 72 65 71 75 69 <b>package requi
09e0: 72 65 20 74 6c 73 3c 2f 62 3e 3c 62 72 3e 0a 3c re tls</b><br>.<
09f0: 62 72 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c br>.<a href="#tl
0a00: 73 3a 3a 63 69 70 68 65 72 22 3e 3c 62 3e 74 6c s::cipher"><b>tl
0a10: 73 3a 3a 63 69 70 68 65 72 3c 2f 62 3e 20 3c 69 s::cipher</b> <i
0a20: 3e 6e 61 6d 65 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 >name</i></a><br
0a30: 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a >.<a href="#tls:
0a40: 3a 63 69 70 68 65 72 73 22 3e 3c 62 3e 74 6c 73 :ciphers"><b>tls
0a50: 3a 3a 63 69 70 68 65 72 73 3c 2f 62 3e 20 3c 69 ::ciphers</b> <i
0a60: 3e 3f 70 72 6f 74 6f 63 6f 6c 3f 20 3f 76 65 72 >?protocol? ?ver
0a70: 62 6f 73 65 3f 20 3f 73 75 70 70 6f 72 74 65 64 bose? ?supported
0a80: 3f 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 61 ?</i></a><br>.<a
0a90: 20 68 72 65 66 3d 22 23 74 6c 73 3a 3a 64 69 67 href="#tls::dig
0aa0: 65 73 74 73 22 3e 3c 62 3e 74 6c 73 3a 3a 64 69 ests"><b>tls::di
0ab0: 67 65 73 74 73 3c 2f 62 3e 20 3c 69 3e 3f 6e 61 gests</b> <i>?na
0ac0: 6d 65 3f 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 3e 0a me?</i></a><br>.
0ad0: 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a 3a 6d <a href="#tls::m
0ae0: 61 63 73 22 3e 3c 62 3e 74 6c 73 3a 3a 6d 61 63 acs"><b>tls::mac
0af0: 73 3c 2f 62 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 61 s</b></a><br>.<a
0b00: 20 68 72 65 66 3d 22 23 74 6c 73 3a 3a 70 72 6f href="#tls::pro
0b10: 74 6f 63 6f 6c 73 22 3e 3c 62 3e 74 6c 73 3a 3a tocols"><b>tls::
0b20: 70 72 6f 74 6f 63 6f 6c 73 3c 2f 62 3e 3c 2f 61 protocols</b></a
0b30: 3e 3c 62 72 3e 0a 3c 61 20 68 72 65 66 3d 22 23 ><br>.<a href="#
0b40: 74 6c 73 3a 3a 76 65 72 73 69 6f 6e 22 3e 3c 62 tls::version"><b
0b50: 3e 74 6c 73 3a 3a 76 65 72 73 69 6f 6e 3c 2f 62 >tls::version</b
0b60: 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 62 72 3e 0a 3c ></a><br>.<br>.<
0b70: 61 20 68 72 65 66 3d 22 23 74 6c 73 3a 3a 63 6d a href="#tls::cm
0b80: 61 63 22 3e 3c 62 3e 74 6c 73 3a 3a 63 6d 61 63 ac"><b>tls::cmac
0b90: 3c 2f 62 3e 20 3c 62 3e 2d 63 69 70 68 65 72 3c </b> <b>-cipher<
0ba0: 2f 62 3e 20 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 20 /b> <i>name</i>
0bb0: 3c 62 3e 2d 6b 65 79 3c 2f 62 3e 20 3c 69 3e 6b <b>-key</b> <i>k
0bc0: 65 79 20 3f 6f 70 74 69 6f 6e 73 3f 3c 2f 69 3e ey ?options?</i>
0bd0: 3c 2f 61 3e 3c 62 72 3e 0a 3c 61 20 68 72 65 66 </a><br>.<a href
0be0: 3d 22 23 74 6c 73 3a 3a 68 6d 61 63 22 3e 3c 62 ="#tls::hmac"><b
0bf0: 3e 74 6c 73 3a 3a 68 6d 61 63 3c 2f 62 3e 20 3c >tls::hmac</b> <
0c00: 62 3e 2d 64 69 67 65 73 74 3c 2f 62 3e 20 3c 69 b>-digest</b> <i
0c10: 3e 6e 61 6d 65 3c 2f 69 3e 20 3c 62 3e 2d 6b 65 >name</i> <b>-ke
0c20: 79 3c 2f 62 3e 20 3c 69 3e 6b 65 79 20 3f 6f 70 y</b> <i>key ?op
0c30: 74 69 6f 6e 73 3f 3c 2f 69 3e 3c 2f 61 3e 3c 62 tions?</i></a><b
0c40: 72 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 r>.<a href="#tls
0c50: 3a 3a 6d 64 22 3e 3c 62 3e 74 6c 73 3a 3a 6d 64 ::md"><b>tls::md
0c60: 3c 2f 62 3e 20 3c 62 3e 2d 64 69 67 65 73 74 3c </b> <b>-digest<
0c70: 2f 62 3e 20 3c 69 3e 6e 61 6d 65 20 3f 6f 70 74 /b> <i>name ?opt
0c80: 69 6f 6e 73 3f 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 ions?</i></a><br
0c90: 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a >.<a href="#tls:
0ca0: 3a 6d 64 34 22 3e 3c 62 3e 74 6c 73 3a 3a 6d 64 :md4"><b>tls::md
0cb0: 34 3c 2f 62 3e 20 3c 69 3e 64 61 74 61 3c 2f 69 4</b> <i>data</i
0cc0: 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 61 20 68 72 65 ></a><br>.<a hre
0cd0: 66 3d 22 23 74 6c 73 3a 3a 6d 64 35 22 3e 3c 62 f="#tls::md5"><b
0ce0: 3e 74 6c 73 3a 3a 6d 64 35 3c 2f 62 3e 20 3c 69 >tls::md5</b> <i
0cf0: 3e 64 61 74 61 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 >data</i></a><br
0d00: 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a >.<a href="#tls:
0d10: 3a 73 68 61 31 22 3e 3c 62 3e 74 6c 73 3a 3a 73 :sha1"><b>tls::s
0d20: 68 61 31 3c 2f 62 3e 20 3c 69 3e 64 61 74 61 3c ha1</b> <i>data<
0d30: 2f 69 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 61 20 68 /i></a><br>.<a h
0d40: 72 65 66 3d 22 23 74 6c 73 3a 3a 73 68 61 32 35 ref="#tls::sha25
0d50: 36 22 3e 3c 62 3e 74 6c 73 3a 3a 73 68 61 32 35 6"><b>tls::sha25
0d60: 36 3c 2f 62 3e 20 3c 69 3e 64 61 74 61 3c 2f 69 6</b> <i>data</i
0d70: 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 61 20 68 72 65 ></a><br>.<a hre
0d80: 66 3d 22 23 74 6c 73 3a 3a 73 68 61 35 31 32 22 f="#tls::sha512"
0d90: 3e 3c 62 3e 74 6c 73 3a 3a 73 68 61 35 31 32 3c ><b>tls::sha512<
0da0: 2f 62 3e 20 3c 69 3e 64 61 74 61 3c 2f 69 3e 3c /b> <i>data</i><
0db0: 2f 61 3e 3c 62 72 3e 0a 3c 61 20 68 72 65 66 3d /a><br>.<a href=
0dc0: 22 23 74 6c 73 3a 3a 75 6e 73 74 61 63 6b 22 3e "#tls::unstack">
0dd0: 3c 62 3e 74 6c 73 3a 3a 75 6e 73 74 61 63 6b 3c <b>tls::unstack<
0de0: 2f 62 3e 20 3c 69 3e 63 68 61 6e 6e 65 6c 49 64 /b> <i>channelId
0df0: 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 3e 0a 3c 62 72 </i></a><br>.<br
0e00: 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a >.<a href="#tls:
0e10: 3a 65 6e 63 72 79 70 74 22 3e 3c 62 3e 74 6c 73 :encrypt"><b>tls
0e20: 3a 3a 65 6e 63 72 79 70 74 3c 2f 62 3e 20 3c 62 ::encrypt</b> <b
0e30: 3e 2d 63 69 70 68 65 72 3c 2f 62 3e 20 3c 69 3e >-cipher</b> <i>
0e40: 6e 61 6d 65 3c 2f 69 3e 20 3c 62 3e 2d 6b 65 79 name</i> <b>-key
0e50: 3c 2f 62 3e 20 3c 69 3e 6b 65 79 20 3f 6f 70 74 </b> <i>key ?opt
0e60: 69 6f 6e 73 3f 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 ions?</i></a><br
0e70: 3e 0a 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a >.<a href="#tls:
0e80: 3a 64 65 63 72 79 70 74 22 3e 3c 62 3e 74 6c 73 :decrypt"><b>tls
0e90: 3a 3a 64 65 63 72 79 70 74 3c 2f 62 3e 20 3c 62 ::decrypt</b> <b
0ea0: 3e 2d 63 69 70 68 65 72 3c 2f 62 3e 20 3c 69 3e >-cipher</b> <i>
0eb0: 6e 61 6d 65 3c 2f 69 3e 20 3c 62 3e 2d 6b 65 79 name</i> <b>-key
0ec0: 3c 2f 62 3e 20 3c 69 3e 6b 65 79 20 3f 6f 70 74 </b> <i>key ?opt
0ed0: 69 6f 6e 73 3f 3c 2f 69 3e 3c 2f 61 3e 3c 62 72 ions?</i></a><br
0ee0: 3e 0a 3c 2f 70 3e 0a 0a 3c 62 72 3e 0a 3c 68 33 >.</p>..<br>.<h3
0ef0: 3e 3c 61 20 6e 61 6d 65 3d 22 4f 50 54 49 4f 4e ><a name="OPTION
0f00: 53 22 3e 4f 50 54 49 4f 4e 53 3c 2f 61 3e 3c 2f S">OPTIONS</a></
0f10: 68 33 3e 0a 0a 3c 70 3e 54 68 65 20 66 6f 6c 6c h3>..<p>The foll
0f20: 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 20 61 72 owing options ar
0f30: 65 20 75 73 65 64 20 62 79 20 74 68 65 20 63 72 e used by the cr
0f40: 79 70 74 6f 67 72 61 70 68 79 20 63 6f 6d 6d 61 yptography comma
0f50: 6e 64 73 2e 3c 2f 70 3e 0a 3c 62 72 3e 0a 3c 68 nds.</p>.<br>.<h
0f60: 34 3e 43 72 79 70 74 6f 67 72 61 70 68 69 63 20 4>Cryptographic
0f70: 4f 70 74 69 6f 6e 73 3c 2f 68 34 3e 0a 0a 3c 64 Options</h4>..<d
0f80: 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 l>. <dt><a na
0f90: 6d 65 3d 22 2d 63 69 70 68 65 72 22 3e 3c 73 74 me="-cipher"><st
0fa0: 72 6f 6e 67 3e 2d 63 69 70 68 65 72 3c 2f 73 74 rong>-cipher</st
0fb0: 72 6f 6e 67 3e 20 3c 65 6d 3e 6e 61 6d 65 3c 2f rong> <em>name</
0fc0: 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 em></a></dt>.
0fd0: 20 3c 64 64 3e 4e 61 6d 65 20 6f 66 20 63 72 79 <dd>Name of cry
0fe0: 70 74 6f 67 72 61 70 68 69 63 20 63 69 70 68 65 ptographic ciphe
0ff0: 72 20 74 6f 20 75 73 65 2e 20 55 73 65 64 20 62 r to use. Used b
1000: 79 20 65 6e 63 72 79 70 74 2f 64 65 63 72 79 70 y encrypt/decryp
1010: 74 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 61 6e t command. an
1020: 64 20 43 4d 41 43 20 26 61 6d 70 3b 20 47 4d 41 d CMAC & GMA
1030: 43 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d C hash algorithm
1040: 73 2e 20 46 6f 72 20 43 4d 41 43 20 69 74 20 6d s. For CMAC it m
1050: 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 41 45 ust be one of AE
1060: 53 2d 31 32 38 2d 43 42 43 2c 0a 20 20 20 20 41 S-128-CBC,. A
1070: 45 53 2d 31 39 32 2d 43 42 43 2c 20 41 45 53 2d ES-192-CBC, AES-
1080: 32 35 36 2d 43 42 43 20 6f 72 20 44 45 53 2d 45 256-CBC or DES-E
1090: 44 45 33 2d 43 42 43 2e 20 46 6f 72 20 47 4d 41 DE3-CBC. For GMA
10a0: 43 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 C it should be a
10b0: 20 47 43 4d 20 6d 6f 64 65 0a 20 20 20 20 63 69 GCM mode. ci
10c0: 70 68 65 72 20 65 2e 67 2e 20 41 45 53 2d 31 32 pher e.g. AES-12
10d0: 38 2d 47 43 4d 2e 20 53 65 65 20 3c 61 20 68 72 8-GCM. See <a hr
10e0: 65 66 3d 22 23 74 6c 73 3a 3a 63 69 70 68 65 72 ef="#tls::cipher
10f0: 73 22 3e 3c 62 3e 74 6c 73 3a 3a 63 69 70 68 65 s"><b>tls::ciphe
1100: 72 73 3c 2f 62 3e 3c 2f 61 3e 0a 20 20 20 20 66 rs</b></a>. f
1110: 6f 72 20 74 68 65 20 76 61 6c 69 64 20 76 61 6c or the valid val
1120: 75 65 73 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a ues.</dd>.</dl>.
1130: 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 .<dl>. <dt><a
1140: 20 6e 61 6d 65 3d 22 2d 64 69 67 65 73 74 22 3e name="-digest">
1150: 3c 73 74 72 6f 6e 67 3e 2d 64 69 67 65 73 74 3c <strong>-digest<
1160: 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d 3e 6e 61 6d /strong> <em>nam
1170: 65 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a e</em></a></dt>.
1180: 20 20 20 20 3c 64 64 3e 4e 61 6d 65 20 6f 66 20 <dd>Name of
1190: 68 61 73 68 20 66 75 6e 63 74 69 6f 6e 20 28 61 hash function (a
11a0: 6b 61 20 6d 65 73 73 61 67 65 20 64 69 67 65 73 ka message diges
11b0: 74 29 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 53 t) to use.. S
11c0: 65 65 20 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 ee <a href="#tls
11d0: 3a 3a 64 69 67 65 73 74 73 22 3e 3c 62 3e 74 6c ::digests"><b>tl
11e0: 73 3a 3a 64 69 67 65 73 74 73 3c 2f 62 3e 3c 2f s::digests</b></
11f0: 61 3e 20 66 6f 72 20 74 68 65 20 76 61 6c 69 64 a> for the valid
1200: 20 76 61 6c 75 65 73 2e 3c 2f 64 64 3e 0a 3c 2f values.</dd>.</
1210: 64 6c 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 dl>..<dl>. <d
1220: 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 69 74 65 72 t><a name="-iter
1230: 61 74 69 6f 6e 73 22 3e 3c 73 74 72 6f 6e 67 3e ations"><strong>
1240: 2d 69 74 65 72 61 74 69 6f 6e 73 3c 2f 73 74 72 -iterations</str
1250: 6f 6e 67 3e 20 3c 65 6d 3e 63 6f 75 6e 74 3c 2f ong> <em>count</
1260: 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 em></a></dt>.
1270: 20 3c 64 64 3e 4e 75 6d 62 65 72 20 28 69 6e 74 <dd>Number (int
1280: 65 67 65 72 29 20 6f 66 20 69 74 65 72 61 74 69 eger) of iterati
1290: 6f 6e 73 20 6f 6e 20 74 68 65 20 70 61 73 73 77 ons on the passw
12a0: 6f 72 64 20 74 6f 20 75 73 65 20 69 6e 20 64 65 ord to use in de
12b0: 72 69 76 69 6e 67 20 74 68 65 0a 20 20 20 20 65 riving the. e
12c0: 6e 63 72 79 70 74 69 6f 6e 20 6b 65 79 2e 20 44 ncryption key. D
12d0: 65 66 61 75 6c 74 20 69 73 20 31 30 30 30 30 2e efault is 10000.
12e0: 20 53 6f 6d 65 20 4b 44 46 20 69 6d 70 6c 65 6d Some KDF implem
12f0: 65 6e 74 61 74 69 6f 6e 73 20 72 65 71 75 69 72 entations requir
1300: 65 20 61 6e 0a 20 20 20 20 69 74 65 72 61 74 69 e an. iterati
1310: 6f 6e 20 63 6f 75 6e 74 2e 3c 2f 64 64 3e 0a 3c on count.</dd>.<
1320: 2f 64 6c 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c /dl>..<dl>. <
1330: 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 69 76 22 dt><a name="-iv"
1340: 3e 3c 73 74 72 6f 6e 67 3e 2d 69 76 3c 2f 73 74 ><strong>-iv</st
1350: 72 6f 6e 67 3e 20 3c 65 6d 3e 73 74 72 69 6e 67 rong> <em>string
1360: 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 </em></a></dt>.
1370: 20 20 20 3c 64 64 3e 49 6e 69 74 69 61 6c 69 7a <dd>Initializ
1380: 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 28 49 56 ation vector (IV
1390: 29 20 74 6f 20 75 73 65 2e 20 52 65 71 75 69 72 ) to use. Requir
13a0: 65 64 20 66 6f 72 20 73 6f 6d 65 20 63 69 70 68 ed for some ciph
13b0: 65 72 73 20 61 6e 64 20 47 4d 41 43 2e 0a 20 20 ers and GMAC..
13c0: 20 20 43 69 70 68 65 72 20 6d 6f 64 65 73 20 43 Cipher modes C
13d0: 42 43 2c 20 43 46 42 2c 20 4f 46 42 20 61 6e 64 BC, CFB, OFB and
13e0: 20 43 54 52 20 61 6c 6c 20 6e 65 65 64 20 61 6e CTR all need an
13f0: 20 49 56 20 77 68 69 6c 65 20 45 43 42 20 6d 6f IV while ECB mo
1400: 64 65 20 64 6f 65 73 20 6e 6f 74 2e 0a 20 20 20 de does not..
1410: 20 41 20 6e 65 77 2c 20 72 61 6e 64 6f 6d 20 49 A new, random I
1420: 56 20 73 68 6f 75 6c 64 20 62 65 20 63 72 65 61 V should be crea
1430: 74 65 64 20 66 6f 72 20 65 61 63 68 20 75 73 65 ted for each use
1440: 2e 20 54 68 69 6e 6b 20 6f 66 20 74 68 65 20 49 . Think of the I
1450: 56 20 61 73 20 61 20 6e 6f 6e 63 65 0a 20 20 20 V as a nonce.
1460: 20 28 6e 75 6d 62 65 72 20 75 73 65 64 20 6f 6e (number used on
1470: 63 65 29 2c 20 69 74 27 73 20 70 75 62 6c 69 63 ce), it's public
1480: 20 62 75 74 20 72 61 6e 64 6f 6d 20 61 6e 64 20 but random and
1490: 75 6e 70 72 65 64 69 63 74 61 62 6c 65 2e 20 53 unpredictable. S
14a0: 65 65 20 74 68 65 0a 20 20 20 3c 61 20 68 72 65 ee the. <a hre
14b0: 66 3d 22 23 74 6c 73 3a 3a 63 69 70 68 65 72 22 f="#tls::cipher"
14c0: 3e 3c 62 3e 74 6c 73 3a 3a 63 69 70 68 65 72 3c ><b>tls::cipher<
14d0: 2f 62 3e 3c 2f 61 3e 20 63 6f 6d 6d 61 6e 64 20 /b></a> command
14e0: 66 6f 72 20 69 76 20 73 69 7a 65 20 61 6e 64 0a for iv size and.
14f0: 20 20 20 20 77 68 65 6e 20 72 65 71 75 69 72 65 when require
1500: 64 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a 0a 3c d.</dd>.</dl>..<
1510: 64 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e dl>. <dt><a n
1520: 61 6d 65 3d 22 2d 6b 65 79 22 3e 3c 73 74 72 6f ame="-key"><stro
1530: 6e 67 3e 2d 6b 65 79 3c 2f 73 74 72 6f 6e 67 3e ng>-key</strong>
1540: 20 3c 65 6d 3e 73 74 72 69 6e 67 3c 2f 65 6d 3e <em>string</em>
1550: 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 </a></dt>. <d
1560: 64 3e 45 6e 63 72 79 70 74 69 6f 6e 20 6b 65 79 d>Encryption key
1570: 20 74 6f 20 75 73 65 20 66 6f 72 20 63 72 79 70 to use for cryp
1580: 74 6f 67 72 61 70 68 79 20 66 75 6e 63 74 69 6f tography functio
1590: 6e 2e 20 43 61 6e 20 62 65 20 61 20 62 69 6e 61 n. Can be a bina
15a0: 72 79 20 6f 72 0a 20 20 20 20 74 65 78 74 20 73 ry or. text s
15b0: 74 72 69 6e 67 2e 20 4c 6f 6e 67 65 72 20 6b 65 tring. Longer ke
15c0: 79 73 20 70 72 6f 76 69 64 65 20 62 65 74 74 65 ys provide bette
15d0: 72 20 70 72 6f 74 65 63 74 69 6f 6e 2e 20 55 73 r protection. Us
15e0: 65 64 20 62 79 20 63 69 70 68 65 72 73 2c 20 48 ed by ciphers, H
15f0: 4d 41 43 2c 0a 20 20 20 20 73 6f 6d 65 20 43 4d MAC,. some CM
1600: 41 43 2c 20 61 6e 64 20 73 6f 6d 65 20 4b 44 46 AC, and some KDF
1610: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 implementations
1620: 2e 20 4b 65 79 20 6c 65 6e 67 74 68 73 20 6c 65 . Key lengths le
1630: 73 73 20 74 68 61 6e 20 3c 62 3e 6b 65 79 5f 6c ss than <b>key_l
1640: 65 6e 67 74 68 3c 2f 62 3e 0a 20 20 20 20 73 69 ength</b>. si
1650: 7a 65 20 6d 61 79 20 62 65 20 70 61 64 64 65 64 ze may be padded
1660: 20 6f 72 20 72 65 6a 65 63 74 65 64 2e 20 53 65 or rejected. Se
1670: 65 20 74 68 65 0a 20 20 20 20 3c 61 20 68 72 65 e the. <a hre
1680: 66 3d 22 23 74 6c 73 3a 3a 63 69 70 68 65 72 22 f="#tls::cipher"
1690: 3e 3c 62 3e 74 6c 73 3a 3a 63 69 70 68 65 72 3c ><b>tls::cipher<
16a0: 2f 62 3e 3c 2f 61 3e 20 63 6f 6d 6d 61 6e 64 20 /b></a> command
16b0: 66 6f 72 20 6b 65 79 20 73 69 7a 65 2e 3c 2f 64 for key size.</d
16c0: 64 3e 0a 3c 2f 64 6c 3e 0a 0a 3c 64 6c 3e 0a 20 d>.</dl>..<dl>.
16d0: 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 <dt><a name="
16e0: 2d 6d 61 63 22 3e 3c 73 74 72 6f 6e 67 3e 2d 6d -mac"><strong>-m
16f0: 61 63 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d 3e ac</strong> <em>
1700: 6e 61 6d 65 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f 64 name</em></a></d
1710: 74 3e 0a 20 20 20 20 3c 64 64 3e 4e 61 6d 65 20 t>. <dd>Name
1720: 6f 66 20 4d 65 73 73 61 67 65 20 41 75 74 68 65 of Message Authe
1730: 6e 74 69 63 61 74 69 6f 6e 20 43 6f 64 65 20 28 ntication Code (
1740: 4d 41 43 29 20 74 6f 20 75 73 65 2e 0a 20 20 20 MAC) to use..
1750: 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 74 See <a href="#t
1760: 6c 73 3a 3a 6d 61 63 22 3e 3c 62 3e 74 6c 73 3a ls::mac"><b>tls:
1770: 3a 6d 61 63 73 3c 2f 62 3e 3c 2f 61 3e 20 66 6f :macs</b></a> fo
1780: 72 20 74 68 65 20 76 61 6c 69 64 20 76 61 6c 75 r the valid valu
1790: 65 73 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a 0a es.</dd>.</dl>..
17a0: 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 20 <dl>. <dt><a
17b0: 6e 61 6d 65 3d 22 2d 70 61 73 73 77 6f 72 64 22 name="-password"
17c0: 3e 3c 73 74 72 6f 6e 67 3e 2d 70 61 73 73 77 6f ><strong>-passwo
17d0: 72 64 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d 3e rd</strong> <em>
17e0: 73 74 72 69 6e 67 3c 2f 65 6d 3e 3c 2f 61 3e 3c string</em></a><
17f0: 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 50 61 73 /dt>. <dd>Pas
1800: 73 77 6f 72 64 20 74 6f 20 75 73 65 20 66 6f 72 sword to use for
1810: 20 73 6f 6d 65 20 4b 44 46 20 66 75 6e 63 74 69 some KDF functi
1820: 6f 6e 73 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a ons.</dd>.</dl>.
1830: 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 .<dl>. <dt><a
1840: 20 6e 61 6d 65 3d 22 2d 70 72 6f 70 65 72 74 69 name="-properti
1850: 65 73 22 3e 3c 73 74 72 6f 6e 67 3e 2d 70 72 6f es"><strong>-pro
1860: 70 65 72 74 69 65 73 3c 2f 73 74 72 6f 6e 67 3e perties</strong>
1870: 20 3c 65 6d 3e 6c 69 73 74 3c 2f 65 6d 3e 3c 2f <em>list</em></
1880: 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e a></dt>. <dd>
1890: 4c 69 73 74 20 6f 66 20 61 64 64 69 74 69 6f 6e List of addition
18a0: 61 6c 20 70 72 6f 70 65 72 74 69 65 73 20 74 6f al properties to
18b0: 20 70 61 73 73 20 74 6f 20 63 72 79 70 74 6f 67 pass to cryptog
18c0: 72 61 70 68 79 20 66 75 6e 63 74 69 6f 6e 2e 3c raphy function.<
18d0: 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a 0a 3c 64 6c 3e /dd>.</dl>..<dl>
18e0: 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 . <dt><a name
18f0: 3d 22 2d 73 61 6c 74 22 3e 3c 73 74 72 6f 6e 67 ="-salt"><strong
1900: 3e 2d 73 61 6c 74 3c 2f 73 74 72 6f 6e 67 3e 20 >-salt</strong>
1910: 3c 65 6d 3e 73 74 72 69 6e 67 3c 2f 65 6d 3e 3c <em>string</em><
1920: 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 /a></dt>. <dd
1930: 3e 53 70 65 63 69 66 69 65 73 20 73 61 6c 74 20 >Specifies salt
1940: 76 61 6c 75 65 20 74 6f 20 75 73 65 20 77 68 65 value to use whe
1950: 6e 20 65 6e 63 72 79 70 74 69 6e 67 20 64 61 74 n encrypting dat
1960: 61 2e 20 44 65 66 61 75 6c 74 20 69 73 20 74 6f a. Default is to
1970: 20 75 73 65 20 61 0a 20 20 20 20 72 61 6e 64 6f use a. rando
1980: 6d 6c 79 20 67 65 6e 65 72 61 74 65 64 20 76 61 mly generated va
1990: 6c 75 65 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e lue. This option
19a0: 20 69 73 20 75 73 65 64 20 62 79 20 42 4c 41 4b is used by BLAK
19b0: 45 32 20 4d 41 43 20 61 6e 64 20 73 6f 6d 65 20 E2 MAC and some
19c0: 4b 44 46 0a 20 20 20 20 69 6d 70 6c 65 6d 65 6e KDF. implemen
19d0: 74 61 74 69 6f 6e 73 20 75 73 65 20 61 20 6e 6f tations use a no
19e0: 6e 2d 73 65 63 72 65 74 20 75 6e 69 71 75 65 20 n-secret unique
19f0: 63 72 79 70 74 6f 67 72 61 70 68 69 63 20 73 61 cryptographic sa
1a00: 6c 74 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a 0a lt.</dd>.</dl>..
1a10: 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 20 <dl>. <dt><a
1a20: 6e 61 6d 65 3d 22 2d 73 69 7a 65 22 3e 3c 73 74 name="-size"><st
1a30: 72 6f 6e 67 3e 2d 73 69 7a 65 3c 2f 73 74 72 6f rong>-size</stro
1a40: 6e 67 3e 20 3c 65 6d 3e 6e 75 6d 62 65 72 3c 2f ng> <em>number</
1a50: 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 em></a></dt>.
1a60: 20 3c 64 64 3e 53 65 74 20 74 68 65 20 6f 75 74 <dd>Set the out
1a70: 70 75 74 20 68 61 73 68 20 73 69 7a 65 20 69 6e put hash size in
1a80: 20 62 79 74 65 73 2e 20 55 73 65 64 20 62 79 20 bytes. Used by
1a90: 4b 4d 41 43 31 32 38 20 6f 72 20 4b 4d 41 43 32 KMAC128 or KMAC2
1aa0: 35 36 20 74 6f 20 73 70 65 63 69 66 79 0a 20 20 56 to specify.
1ab0: 20 20 61 6e 20 6f 75 74 70 75 74 20 6c 65 6e 67 an output leng
1ac0: 74 68 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 th. The default
1ad0: 73 69 7a 65 73 20 61 72 65 20 33 32 20 6f 72 20 sizes are 32 or
1ae0: 36 34 20 62 79 74 65 73 20 72 65 73 70 65 63 74 64 bytes respect
1af0: 69 76 65 6c 79 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c ively.</dd>.</dl
1b00: 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e >..<dl>. <dt>
1b10: 3c 61 20 6e 61 6d 65 3d 22 2d 78 6f 66 22 3e 3c <a name="-xof"><
1b20: 73 74 72 6f 6e 67 3e 2d 78 6f 66 3c 2f 73 74 72 strong>-xof</str
1b30: 6f 6e 67 3e 20 3c 65 6d 3e 62 6f 6f 6c 65 61 6e ong> <em>boolean
1b40: 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 </em></a></dt>.
1b50: 20 20 20 3c 64 64 3e 53 65 74 20 77 68 65 74 68 <dd>Set wheth
1b60: 65 72 20 74 6f 20 75 73 65 20 58 4f 46 2e 20 54 er to use XOF. T
1b70: 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 his option is us
1b80: 65 64 20 62 79 20 4b 4d 41 43 2e 3c 2f 64 64 3e ed by KMAC.</dd>
1b90: 0a 3c 2f 64 6c 3e 0a 0a 3c 62 72 3e 0a 3c 68 34 .</dl>..<br>.<h4
1ba0: 3e 49 6e 70 75 74 2f 4f 75 74 70 75 74 20 4f 70 >Input/Output Op
1bb0: 74 69 6f 6e 73 3c 2f 68 34 3e 0a 0a 3c 64 6c 3e tions</h4>..<dl>
1bc0: 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 . <dt><a name
1bd0: 3d 22 2d 63 68 61 6e 22 3e 3c 73 74 72 6f 6e 67 ="-chan"><strong
1be0: 3e 2d 63 68 61 6e 3c 2f 73 74 72 6f 6e 67 3e 20 >-chan</strong>
1bf0: 3c 65 6d 3e 63 68 61 6e 6e 65 6c 49 64 3c 2f 65 <em>channelId</e
1c00: 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 m></a></dt>.
1c10: 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 63 68 <dt><a name="-ch
1c20: 61 6e 22 3e 3c 73 74 72 6f 6e 67 3e 2d 63 68 61 an"><strong>-cha
1c30: 6e 6e 65 6c 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 nnel</strong> <e
1c40: 6d 3e 63 68 61 6e 6e 65 6c 49 64 3c 2f 65 6d 3e m>channelId</em>
1c50: 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 </a></dt>. <d
1c60: 64 3e 41 64 64 20 74 68 65 20 63 72 79 70 74 6f d>Add the crypto
1c70: 67 72 61 70 68 69 63 20 74 72 61 6e 73 66 6f 72 graphic transfor
1c80: 6d 61 74 69 6f 6e 20 6f 6e 20 74 6f 70 20 6f 66 mation on top of
1c90: 20 63 68 61 6e 6e 65 6c 0a 09 3c 65 6d 3e 63 68 channel..<em>ch
1ca0: 61 6e 6e 65 6c 49 64 3c 2f 65 6d 3e 2e 20 41 75 annelId</em>. Au
1cb0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 73 tomatically sets
1cc0: 20 63 68 61 6e 6e 65 6c 20 74 6f 20 62 69 6e 61 channel to bina
1cd0: 72 79 20 6d 6f 64 65 2e 20 57 6f 72 6b 73 0a 09 ry mode. Works..
1ce0: 6c 69 6b 65 20 3c 62 3e 63 68 61 6e 20 70 75 73 like <b>chan pus
1cf0: 68 3c 2f 62 3e 20 74 6f 20 63 72 65 61 74 65 20 h</b> to create
1d00: 61 20 73 74 61 63 6b 65 64 20 63 68 61 6e 6e 65 a stacked channe
1d10: 6c 2e 20 49 66 20 74 68 65 20 63 6f 6d 6d 61 6e l. If the comman
1d20: 64 0a 09 3c 62 3e 66 69 6c 65 65 76 65 6e 74 3c d..<b>fileevent<
1d30: 2f 62 3e 20 69 73 20 74 6f 20 62 65 20 75 73 65 /b> is to be use
1d40: 64 20 66 6f 72 20 63 68 61 6e 6e 65 6c 20 65 76 d for channel ev
1d50: 65 6e 74 20 6d 6f 6e 69 74 6f 72 69 6e 67 2c 20 ent monitoring,
1d60: 61 6c 6c 0a 09 63 68 61 6e 6e 65 6c 73 20 69 6e all..channels in
1d70: 20 74 68 65 20 73 74 61 63 6b 20 73 68 6f 75 6c the stack shoul
1d80: 64 20 62 65 20 73 65 74 20 74 6f 20 6e 6f 6e 2d d be set to non-
1d90: 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 20 49 blocking mode. I
1da0: 66 20 6e 6f 74 2c 0a 09 74 68 65 20 73 79 73 74 f not,..the syst
1db0: 65 6d 20 6d 61 79 20 68 61 6e 67 20 77 68 69 6c em may hang whil
1dc0: 65 20 77 61 69 74 69 6e 67 20 66 6f 72 20 64 61 e waiting for da
1dd0: 74 61 2e 20 57 68 65 6e 20 64 6f 6e 65 2c 20 75 ta. When done, u
1de0: 73 65 20 65 69 74 68 65 72 20 74 68 65 0a 09 63 se either the..c
1df0: 6c 6f 73 65 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 lose command or
1e00: 3c 61 20 68 72 65 66 3d 22 23 74 6c 73 3a 3a 75 <a href="#tls::u
1e10: 6e 73 74 61 63 6b 22 3e 3c 73 74 72 6f 6e 67 3e nstack"><strong>
1e20: 74 6c 73 3a 3a 75 6e 73 74 61 63 6b 3c 2f 73 74 tls::unstack</st
1e30: 72 6f 6e 67 3e 3c 2f 61 3e 0a 09 74 6f 20 72 65 rong></a>..to re
1e40: 6d 6f 76 65 20 74 68 65 20 74 72 61 6e 73 66 6f move the transfo
1e50: 72 6d 20 66 72 6f 6d 20 74 68 65 20 63 68 61 6e rm from the chan
1e60: 6e 65 6c 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 nel. Additional
1e70: 74 72 61 6e 73 66 6f 72 6d 73 20 63 61 6e 6e 6f transforms canno
1e80: 74 0a 09 62 65 20 61 64 64 65 64 20 74 6f 20 63 t..be added to c
1e90: 68 61 6e 6e 65 6c 2e 20 45 78 61 6d 70 6c 65 20 hannel. Example
1ea0: 63 6f 64 65 3a 3c 2f 64 64 3e 3c 2f 64 6c 3e 0a code:</dd></dl>.
1eb0: 20 20 20 20 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e <blockquote>
1ec0: 3c 63 6f 64 65 3e 0a 09 09 73 65 74 20 63 68 20 <code>...set ch
1ed0: 5b 6f 70 65 6e 20 74 65 73 74 5f 66 69 6c 65 2e [open test_file.
1ee0: 74 78 74 20 72 62 5d 3c 62 72 3e 0a 09 09 3a 3a txt rb]<br>...::
1ef0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 tls::digest -dig
1f00: 65 73 74 20 73 68 61 32 35 36 20 2d 63 68 61 6e est sha256 -chan
1f10: 20 24 63 68 3c 62 72 3e 0a 09 09 73 65 74 20 64 $ch<br>...set d
1f20: 61 74 20 22 22 3c 62 72 3e 0a 09 09 77 68 69 6c at ""<br>...whil
1f30: 65 20 7b 21 5b 65 6f 66 20 24 63 68 5d 7d 20 7b e {![eof $ch]} {
1f40: 61 70 70 65 6e 64 20 64 61 74 20 5b 72 65 61 64 append dat [read
1f50: 20 24 63 68 20 34 30 39 36 5d 7d 3c 62 72 3e 0a $ch 4096]}<br>.
1f60: 09 09 63 6c 6f 73 65 20 24 63 68 3c 62 72 3e 0a ..close $ch<br>.
1f70: 09 09 70 75 74 73 20 24 64 61 74 0a 20 20 20 20 ..puts $dat.
1f80: 3c 2f 63 6f 64 65 3e 3c 2f 62 6c 6f 63 6b 71 75 </code></blockqu
1f90: 6f 74 65 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c ote>..<dl>. <
1fa0: 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 63 6f 6d dt><a name="-com
1fb0: 6d 61 6e 64 22 3e 3c 73 74 72 6f 6e 67 3e 2d 63 mand"><strong>-c
1fc0: 6f 6d 6d 61 6e 64 3c 2f 73 74 72 6f 6e 67 3e 20 ommand</strong>
1fd0: 3c 65 6d 3e 63 6d 64 4e 61 6d 65 3c 2f 65 6d 3e <em>cmdName</em>
1fe0: 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 </a></dt>. <d
1ff0: 64 3e 43 72 65 61 74 65 20 61 6e 64 20 72 65 74 d>Create and ret
2000: 75 72 6e 20 3c 65 6d 3e 63 6d 64 4e 61 6d 65 3c urn <em>cmdName<
2010: 2f 65 6d 3e 20 77 68 69 63 68 20 69 73 20 75 73 /em> which is us
2020: 65 64 20 74 6f 20 69 6e 63 72 65 6d 65 6e 74 61 ed to incrementa
2030: 6c 6c 79 20 61 64 64 0a 09 64 61 74 61 20 74 6f lly add..data to
2040: 20 61 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 a cryptographic
2050: 20 66 75 6e 63 74 69 6f 6e 2e 20 54 6f 20 61 64 function. To ad
2060: 64 20 64 61 74 61 20 74 6f 20 74 68 65 20 66 75 d data to the fu
2070: 6e 63 74 69 6f 6e 2c 20 63 61 6c 6c 0a 09 26 71 nction, call..&q
2080: 75 6f 74 3b 3c 65 6d 3e 63 6d 64 4e 61 6d 65 3c uot;<em>cmdName<
2090: 2f 65 6d 3e 20 3c 62 3e 75 70 64 61 74 65 3c 2f /em> <b>update</
20a0: 62 3e 20 3c 65 6d 3e 64 61 74 61 3c 2f 65 6d 3e b> <em>data</em>
20b0: 26 71 75 6f 74 3b 2c 20 77 68 65 72 65 0a 09 3c ", where..<
20c0: 65 6d 3e 64 61 74 61 3c 2f 65 6d 3e 20 69 73 20 em>data</em> is
20d0: 74 68 65 20 64 61 74 61 20 74 6f 20 61 64 64 2e the data to add.
20e0: 20 57 68 65 6e 20 64 6f 6e 65 2c 20 63 61 6c 6c When done, call
20f0: 0a 09 26 71 75 6f 74 3b 3c 65 6d 3e 63 6d 64 4e .."<em>cmdN
2100: 61 6d 65 3c 2f 65 6d 3e 20 3c 62 3e 66 69 6e 61 ame</em> <b>fina
2110: 6c 69 7a 65 3c 2f 62 3e 26 71 75 6f 74 3b 20 74 lize</b>" t
2120: 6f 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 o return the res
2130: 75 6c 74 69 6e 67 0a 09 76 61 6c 75 65 20 61 6e ulting..value an
2140: 64 20 64 65 6c 65 74 65 20 3c 65 6d 3e 63 6d 64 d delete <em>cmd
2150: 4e 61 6d 65 3c 2f 65 6d 3e 2e 20 45 78 61 6d 70 Name</em>. Examp
2160: 6c 65 20 63 6f 64 65 3a 3c 2f 64 64 3e 3c 2f 64 le code:</dd></d
2170: 6c 3e 0a 20 20 20 20 3c 62 6c 6f 63 6b 71 75 6f l>. <blockquo
2180: 74 65 3e 3c 63 6f 64 65 3e 0a 09 09 73 65 74 20 te><code>...set
2190: 63 6d 64 20 5b 3a 3a 74 6c 73 3a 3a 64 69 67 65 cmd [::tls::dige
21a0: 73 74 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 st -digest sha25
21b0: 36 20 2d 63 6f 6d 6d 61 6e 64 20 3a 3a 74 6c 73 6 -command ::tls
21c0: 3a 3a 74 65 6d 70 5d 3c 62 72 3e 0a 09 09 73 65 ::temp]<br>...se
21d0: 74 20 64 61 74 20 22 22 3c 62 72 3e 0a 09 09 61 t dat ""<br>...a
21e0: 70 70 65 6e 64 20 64 61 74 20 5b 24 63 6d 64 20 ppend dat [$cmd
21f0: 75 70 64 61 74 65 20 22 53 6f 6d 65 20 64 61 74 update "Some dat
2200: 61 2e 20 22 5d 3c 62 72 3e 0a 09 09 61 70 70 65 a. "]<br>...appe
2210: 6e 64 20 64 61 74 20 5b 24 63 6d 64 20 75 70 64 nd dat [$cmd upd
2220: 61 74 65 20 22 4d 6f 72 65 20 64 61 74 61 2e 22 ate "More data."
2230: 5d 3c 62 72 3e 0a 09 09 61 70 70 65 6e 64 20 64 ]<br>...append d
2240: 61 74 20 5b 24 63 6d 64 20 66 69 6e 61 6c 69 7a at [$cmd finaliz
2250: 65 5d 3c 62 72 3e 0a 09 09 70 75 74 73 20 24 64 e]<br>...puts $d
2260: 61 74 0a 20 20 20 20 3c 2f 63 6f 64 65 3e 3c 2f at. </code></
2270: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 64 6c blockquote>..<dl
2280: 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d >. <dt><a nam
2290: 65 3d 22 2d 64 61 74 61 22 3e 3c 73 74 72 6f 6e e="-data"><stron
22a0: 67 3e 2d 64 61 74 61 3c 2f 73 74 72 6f 6e 67 3e g>-data</strong>
22b0: 20 3c 65 6d 3e 73 74 72 69 6e 67 3c 2f 65 6d 3e <em>string</em>
22c0: 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 </a></dt>. <d
22d0: 64 3e 50 65 72 66 6f 72 6d 20 74 68 65 20 63 72 d>Perform the cr
22e0: 79 70 74 6f 67 72 61 70 68 69 63 20 66 75 6e 63 yptographic func
22f0: 74 69 6f 6e 20 6f 6e 20 3c 65 6d 3e 64 61 74 61 tion on <em>data
2300: 3c 2f 65 6d 3e 20 61 6e 64 20 72 65 74 75 72 6e </em> and return
2310: 20 74 68 65 0a 20 20 20 20 72 65 73 75 6c 74 2e the. result.
2320: 20 45 78 61 6d 70 6c 65 20 63 6f 64 65 3a 3c 2f Example code:</
2330: 64 64 3e 3c 2f 64 6c 3e 0a 20 20 20 20 3c 62 6c dd></dl>. <bl
2340: 6f 63 6b 71 75 6f 74 65 3e 3c 63 6f 64 65 3e 0a ockquote><code>.
2350: 09 09 73 65 74 20 6d 64 20 5b 3a 3a 74 6c 73 3a ..set md [::tls:
2360: 3a 64 69 67 65 73 74 20 73 68 61 32 35 36 20 22 :digest sha256 "
2370: 53 6f 6d 65 20 65 78 61 6d 70 6c 65 20 64 61 74 Some example dat
2380: 61 2e 22 5d 3c 62 72 3e 0a 09 09 70 75 74 73 20 a."]<br>...puts
2390: 24 6d 64 0a 20 20 20 20 3c 2f 63 6f 64 65 3e 3c $md. </code><
23a0: 2f 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 64 /blockquote>..<d
23b0: 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 l>. <dt><a na
23c0: 6d 65 3d 22 2d 66 69 6c 65 22 3e 3c 73 74 72 6f me="-file"><stro
23d0: 6e 67 3e 2d 66 69 6c 65 3c 2f 73 74 72 6f 6e 67 ng>-file</strong
23e0: 3e 20 3c 65 6d 3e 66 69 6c 65 6e 61 6d 65 3c 2f > <em>filename</
23f0: 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 em></a></dt>.
2400: 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 66 <dt><a name="-f
2410: 69 6c 65 22 3e 3c 73 74 72 6f 6e 67 3e 2d 66 69 ile"><strong>-fi
2420: 6c 65 6e 61 6d 65 3c 2f 73 74 72 6f 6e 67 3e 20 lename</strong>
2430: 3c 65 6d 3e 66 69 6c 65 6e 61 6d 65 3c 2f 65 6d <em>filename</em
2440: 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c ></a></dt>. <
2450: 64 64 3e 50 65 72 66 6f 72 6d 20 74 68 65 20 63 dd>Perform the c
2460: 72 79 70 74 6f 67 72 61 70 68 69 63 20 66 75 6e ryptographic fun
2470: 63 74 69 6f 6e 20 6f 6e 20 66 69 6c 65 20 3c 65 ction on file <e
2480: 6d 3e 66 69 6c 65 6e 61 6d 65 3c 2f 65 6d 3e 20 m>filename</em>
2490: 61 6e 64 20 72 65 74 75 72 6e 0a 20 20 20 20 74 and return. t
24a0: 68 65 20 72 65 73 75 6c 74 2e 20 54 68 69 73 20 he result. This
24b0: 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 6f operation will o
24c0: 70 65 6e 20 66 69 6c 65 2c 20 72 65 61 64 20 74 pen file, read t
24d0: 68 65 20 66 69 6c 65 20 64 61 74 61 2c 20 63 6c he file data, cl
24e0: 6f 73 65 20 74 68 65 0a 20 20 20 20 66 69 6c 65 ose the. file
24f0: 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 , and return the
2500: 20 72 65 73 75 6c 74 20 75 73 69 6e 67 20 74 68 result using th
2510: 65 20 54 43 4c 20 66 69 6c 65 20 41 50 49 73 2c e TCL file APIs,
2520: 20 73 6f 20 56 46 53 20 66 69 6c 65 73 20 61 72 so VFS files ar
2530: 65 0a 20 20 20 20 73 75 70 70 6f 72 74 65 64 2e e. supported.
2540: 20 45 78 61 6d 70 6c 65 20 63 6f 64 65 3a 3c 2f Example code:</
2550: 64 64 3e 3c 2f 64 6c 3e 0a 20 20 20 20 3c 62 6c dd></dl>. <bl
2560: 6f 63 6b 71 75 6f 74 65 3e 3c 63 6f 64 65 3e 0a ockquote><code>.
2570: 09 09 73 65 74 20 6d 64 20 5b 3a 3a 74 6c 73 3a ..set md [::tls:
2580: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 :digest -digest
2590: 73 68 61 32 35 36 20 2d 66 69 6c 65 20 74 65 73 sha256 -file tes
25a0: 74 5f 66 69 6c 65 2e 74 78 74 5d 3c 62 72 3e 0a t_file.txt]<br>.
25b0: 09 09 70 75 74 73 20 24 6d 64 0a 20 20 20 20 3c ..puts $md. <
25c0: 2f 63 6f 64 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f /code></blockquo
25d0: 74 65 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 te>..<dl>. <d
25e0: 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 69 6e 66 69 t><a name="-infi
25f0: 6c 65 22 3e 3c 73 74 72 6f 6e 67 3e 2d 69 6e 66 le"><strong>-inf
2600: 69 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d ile</strong> <em
2610: 3e 66 69 6c 65 6e 61 6d 65 3c 2f 65 6d 3e 3c 2f >filename</em></
2620: 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e a></dt>. <dd>
2630: 53 70 65 63 69 66 69 65 73 20 74 68 65 20 66 69 Specifies the fi
2640: 6c 65 20 74 6f 20 75 73 65 20 61 73 20 64 61 74 le to use as dat
2650: 61 20 69 6e 70 75 74 20 73 6f 75 72 63 65 2e 20 a input source.
2660: 54 68 69 73 20 6f 70 74 69 6f 6e 20 75 73 65 73 This option uses
2670: 20 74 68 65 0a 20 20 20 20 54 43 4c 20 66 69 6c the. TCL fil
2680: 65 20 41 50 49 73 2c 20 73 6f 20 56 46 53 20 66 e APIs, so VFS f
2690: 69 6c 65 73 20 61 72 65 20 73 75 70 70 6f 72 74 iles are support
26a0: 65 64 2e 20 45 78 61 6d 70 6c 65 20 63 6f 64 65 ed. Example code
26b0: 3a 3c 2f 64 64 3e 3c 2f 64 6c 3e 0a 20 20 20 20 :</dd></dl>.
26c0: 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 3c 63 6f 64 <blockquote><cod
26d0: 65 3e 0a 09 09 3a 3a 74 6c 73 3a 3a 65 6e 63 72 e>...::tls::encr
26e0: 79 70 74 20 2d 63 69 70 68 65 72 20 61 65 73 2d ypt -cipher aes-
26f0: 31 32 38 2d 63 62 63 20 2d 6b 65 79 20 22 54 65 128-cbc -key "Te
2700: 73 74 20 6b 65 79 22 0a 09 09 2d 69 6e 66 69 6c st key"...-infil
2710: 65 20 75 6e 65 6e 63 72 79 70 74 65 64 2e 74 78 e unencrypted.tx
2720: 74 20 2d 6f 75 74 66 69 6c 65 20 65 6e 63 72 79 t -outfile encry
2730: 70 74 65 64 2e 64 61 74 0a 20 20 20 20 3c 2f 63 pted.dat. </c
2740: 6f 64 65 3e 3c 2f 62 6c 6f 63 6b 71 75 6f 74 65 ode></blockquote
2750: 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e >..<dl>. <dt>
2760: 3c 61 20 6e 61 6d 65 3d 22 2d 6f 75 74 66 69 6c <a name="-outfil
2770: 65 22 3e 3c 73 74 72 6f 6e 67 3e 2d 6f 75 74 66 e"><strong>-outf
2780: 69 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d ile</strong> <em
2790: 3e 66 69 6c 65 6e 61 6d 65 3c 2f 65 6d 3e 3c 2f >filename</em></
27a0: 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e a></dt>. <dd>
27b0: 53 70 65 63 69 66 69 65 73 20 74 68 65 20 66 69 Specifies the fi
27c0: 6c 65 20 74 6f 20 6f 75 74 70 75 74 20 74 68 65 le to output the
27d0: 20 65 6e 63 72 79 70 74 69 6f 6e 20 72 65 73 75 encryption resu
27e0: 6c 74 73 20 74 6f 2e 20 54 68 69 73 20 6f 70 74 lts to. This opt
27f0: 69 6f 6e 0a 20 20 20 20 75 73 65 73 20 74 68 65 ion. uses the
2800: 20 54 43 4c 20 66 69 6c 65 20 41 50 49 73 2c 20 TCL file APIs,
2810: 73 6f 20 56 46 53 20 66 69 6c 65 73 20 61 72 65 so VFS files are
2820: 20 73 75 70 70 6f 72 74 65 64 2e 20 45 78 61 6d supported. Exam
2830: 70 6c 65 20 63 6f 64 65 3a 3c 2f 64 64 3e 3c 2f ple code:</dd></
2840: 64 6c 3e 0a 20 20 20 20 3c 62 6c 6f 63 6b 71 75 dl>. <blockqu
2850: 6f 74 65 3e 3c 63 6f 64 65 3e 0a 09 09 3a 3a 74 ote><code>...::t
2860: 6c 73 3a 3a 64 65 63 72 79 70 74 20 2d 63 69 70 ls::decrypt -cip
2870: 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62 63 20 her aes-128-cbc
2880: 2d 6b 65 79 20 22 54 65 73 74 20 6b 65 79 22 0a -key "Test key".
2890: 09 09 2d 69 6e 66 69 6c 65 20 65 6e 63 72 79 70 ..-infile encryp
28a0: 74 65 64 2e 64 61 74 20 2d 6f 75 74 66 69 6c 65 ted.dat -outfile
28b0: 20 75 6e 65 6e 63 72 79 70 74 65 64 2e 74 78 74 unencrypted.txt
28c0: 0a 20 20 20 20 3c 2f 63 6f 64 65 3e 3c 2f 62 6c . </code></bl
28d0: 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 64 6c 3e 0a ockquote>..<dl>.
28e0: 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d <dt><a name=
28f0: 22 2d 6b 65 79 66 69 6c 65 22 3e 3c 73 74 72 6f "-keyfile"><stro
2900: 6e 67 3e 2d 6b 65 79 66 69 6c 65 3c 2f 73 74 72 ng>-keyfile</str
2910: 6f 6e 67 3e 20 3c 65 6d 3e 66 69 6c 65 6e 61 6d ong> <em>filenam
2920: 65 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a e</em></a></dt>.
2930: 20 20 20 20 3c 64 64 3e 53 70 65 63 69 66 69 65 <dd>Specifie
2940: 73 20 74 68 65 20 66 69 6c 65 20 74 6f 20 67 65 s the file to ge
2950: 74 20 74 68 65 20 65 6e 63 72 79 70 74 69 6f 6e t the encryption
2960: 20 6b 65 79 20 66 72 6f 6d 2e 3c 2f 64 64 3e 3c key from.</dd><
2970: 2f 64 6c 3e 0a 0a 3c 62 72 3e 0a 0a 3c 68 34 3e /dl>..<br>..<h4>
2980: 46 6f 72 6d 61 74 20 4f 70 74 69 6f 6e 73 3c 2f Format Options</
2990: 68 34 3e 0a 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 h4>..<dl>. <d
29a0: 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 62 61 73 65 t><a name="-base
29b0: 36 34 22 3e 3c 73 74 72 6f 6e 67 3e 2d 62 61 73 64"><strong>-bas
29c0: 65 36 34 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 61 3e e64</strong></a>
29d0: 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 42 61 </dt>. <dd>Ba
29e0: 73 65 36 34 20 65 6e 63 6f 64 65 20 64 61 74 61 se64 encode data
29f0: 20 61 66 74 65 72 20 65 6e 63 72 79 70 74 69 6f after encryptio
2a00: 6e 20 6f 72 20 64 65 63 6f 64 65 20 62 65 66 6f n or decode befo
2a10: 72 65 20 64 65 63 72 79 70 74 69 6f 6e 2e 3c 2f re decryption.</
2a20: 64 64 3e 0a 3c 2f 64 6c 3e 0a 0a 3c 64 6c 3e 0a dd>.</dl>..<dl>.
2a30: 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d <dt><a name=
2a40: 22 2d 62 69 6e 22 3e 3c 73 74 72 6f 6e 67 3e 2d "-bin"><strong>-
2a50: 62 69 6e 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 61 3e bin</strong></a>
2a60: 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 </dt>. <dt><a
2a70: 20 6e 61 6d 65 3d 22 2d 62 69 6e 22 3e 3c 73 74 name="-bin"><st
2a80: 72 6f 6e 67 3e 2d 62 69 6e 61 72 79 3c 2f 73 74 rong>-binary</st
2a90: 72 6f 6e 67 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 rong></a></dt>.
2aa0: 20 20 20 3c 64 64 3e 4f 75 74 70 75 74 20 72 65 <dd>Output re
2ab0: 73 75 6c 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e sult of function
2ac0: 20 61 73 20 61 20 62 69 6e 61 72 79 20 73 74 72 as a binary str
2ad0: 69 6e 67 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e 0a ing.</dd>.</dl>.
2ae0: 0a 3c 64 6c 3e 0a 20 20 20 20 3c 64 74 3e 3c 61 .<dl>. <dt><a
2af0: 20 6e 61 6d 65 3d 22 2d 68 65 78 22 3e 3c 73 74 name="-hex"><st
2b00: 72 6f 6e 67 3e 2d 68 65 78 3c 2f 73 74 72 6f 6e rong>-hex</stron
2b10: 67 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 g></a></dt>.
2b20: 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 2d 68 65 <dt><a name="-he
2b30: 78 22 3e 3c 73 74 72 6f 6e 67 3e 2d 68 65 78 61 x"><strong>-hexa
2b40: 64 65 63 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e decimal</strong>
2b50: 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 </a></dt>. <d
2b60: 64 3e 4f 75 74 70 75 74 20 72 65 73 75 6c 74 20 d>Output result
2b70: 6f 66 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 61 of function as a
2b80: 20 68 65 78 61 64 65 63 69 6d 61 6c 20 73 74 72 hexadecimal str
2b90: 69 6e 67 2e 20 54 68 69 73 20 69 73 20 74 68 65 ing. This is the
2ba0: 20 64 65 66 61 75 6c 74 0a 09 6f 70 74 69 6f 6e default..option
2bb0: 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 unless otherwis
2bc0: 65 20 73 70 65 63 69 66 69 65 64 2e 3c 2f 64 64 e specified.</dd
2bd0: 3e 0a 3c 2f 64 6c 3e 0a 0a 3c 62 72 3e 0a 3c 68 >.</dl>..<br>.<h
2be0: 33 3e 3c 61 20 6e 61 6d 65 3d 22 43 4f 4d 4d 41 3><a name="COMMA
2bf0: 4e 44 53 22 3e 43 4f 4d 4d 41 4e 44 53 3c 2f 61 NDS">COMMANDS</a
2c00: 3e 3c 2f 68 33 3e 0a 0a 3c 70 3e 54 68 65 20 66 ></h3>..<p>The f
2c10: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 ollowing command
2c20: 73 20 70 72 6f 76 69 64 65 20 61 63 63 65 73 73 s provide access
2c30: 20 74 6f 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 to the OpenSSL
2c40: 63 72 79 70 74 6f 67 72 61 70 68 79 20 66 75 6e cryptography fun
2c50: 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 0a 3c 64 6c ctions.</p>..<dl
2c60: 3e 0a 0a 3c 68 34 3e 49 6e 66 6f 20 43 6f 6d 6d >..<h4>Info Comm
2c70: 61 6e 64 73 3c 2f 68 34 3e 0a 0a 20 20 20 20 3c ands</h4>.. <
2c80: 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 74 6c 73 3a dt><a name="tls:
2c90: 3a 63 69 70 68 65 72 22 3e 3c 73 74 72 6f 6e 67 :cipher"><strong
2ca0: 3e 74 6c 73 3a 3a 63 69 70 68 65 72 3c 2f 73 74 >tls::cipher</st
2cb0: 72 6f 6e 67 3e 20 3c 65 6d 3e 6e 61 6d 65 3c 2f rong> <em>name</
2cc0: 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 em></a></dt>.
2cd0: 20 3c 64 64 3e 52 65 74 75 72 6e 20 61 20 6c 69 <dd>Return a li
2ce0: 73 74 20 6f 66 20 70 72 6f 70 65 72 74 79 20 6e st of property n
2cf0: 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 65 73 20 ames and values
2d00: 64 65 73 63 72 69 62 69 6e 67 20 63 69 70 68 65 describing ciphe
2d10: 72 0a 09 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 2e 20 r..<i>name</i>.
2d20: 50 72 6f 70 65 72 74 69 65 73 20 69 6e 63 6c 75 Properties inclu
2d30: 64 65 20 6e 61 6d 65 2c 20 64 65 73 63 72 69 70 de name, descrip
2d40: 74 69 6f 6e 2c 20 62 6c 6f 63 6b 5f 73 69 7a 65 tion, block_size
2d50: 2c 0a 09 6b 65 79 5f 6c 65 6e 67 74 68 2c 20 69 ,..key_length, i
2d60: 76 5f 6c 65 6e 67 74 68 2c 20 74 79 70 65 2c 20 v_length, type,
2d70: 61 6e 64 20 6d 6f 64 65 20 6c 69 73 74 2e 3c 2f and mode list.</
2d80: 64 64 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 20 dd>.. <dt><a
2d90: 6e 61 6d 65 3d 22 74 6c 73 3a 3a 63 69 70 68 65 name="tls::ciphe
2da0: 72 73 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a rs"><strong>tls:
2db0: 3a 63 69 70 68 65 72 73 3c 2f 73 74 72 6f 6e 67 :ciphers</strong
2dc0: 3e 0a 20 20 20 20 3c 65 6d 3e 3f 70 72 6f 74 6f >. <em>?proto
2dd0: 63 6f 6c 3f 20 3f 76 65 72 62 6f 73 65 3f 20 3f col? ?verbose? ?
2de0: 73 75 70 70 6f 72 74 65 64 3f 3c 2f 65 6d 3e 3c supported?</em><
2df0: 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 /a></dt>. <dd
2e00: 3e 57 69 74 68 6f 75 74 20 61 6e 79 20 61 72 67 >Without any arg
2e10: 73 2c 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 s, returns a lis
2e20: 74 20 6f 66 20 61 6c 6c 20 73 79 6d 6d 65 74 72 t of all symmetr
2e30: 69 63 20 63 69 70 68 65 72 73 20 66 6f 72 20 75 ic ciphers for u
2e40: 73 65 20 77 69 74 68 0a 09 74 68 65 20 3c 61 20 se with..the <a
2e50: 68 72 65 66 3d 22 23 2d 63 69 70 68 65 72 22 3e href="#-cipher">
2e60: 3c 62 3e 2d 63 69 70 68 65 72 3c 2f 62 3e 3c 2f <b>-cipher</b></
2e70: 61 3e 20 6f 70 74 69 6f 6e 2e 20 57 69 74 68 20 a> option. With
2e80: 3c 65 6d 3e 70 72 6f 74 6f 63 6f 6c 3c 2f 65 6d <em>protocol</em
2e90: 3e 2c 0a 09 6f 6e 6c 79 20 74 68 65 20 63 69 70 >,..only the cip
2ea0: 68 65 72 73 20 73 75 70 70 6f 72 74 65 64 20 66 hers supported f
2eb0: 6f 72 20 74 68 61 74 20 70 72 6f 74 6f 63 6f 6c or that protocol
2ec0: 20 61 72 65 20 72 65 74 75 72 6e 65 64 2e 20 53 are returned. S
2ed0: 65 65 0a 09 3c 62 3e 74 6c 73 3a 3a 70 72 6f 74 ee..<b>tls::prot
2ee0: 6f 63 6f 6c 73 3c 2f 62 3e 20 63 6f 6d 6d 61 6e ocols</b> comman
2ef0: 64 20 66 6f 72 20 74 68 65 20 73 75 70 70 6f 72 d for the suppor
2f00: 74 65 64 20 70 72 6f 74 6f 63 6f 6c 73 2e 20 49 ted protocols. I
2f10: 66 0a 09 3c 65 6d 3e 76 65 72 62 6f 73 65 3c 2f f..<em>verbose</
2f20: 65 6d 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 em> is specified
2f30: 20 61 73 20 74 72 75 65 20 74 68 65 6e 20 61 20 as true then a
2f40: 76 65 72 62 6f 73 65 2c 20 68 75 6d 61 6e 20 72 verbose, human r
2f50: 65 61 64 61 62 6c 65 0a 09 6c 69 73 74 20 69 73 eadable..list is
2f60: 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 61 returned with a
2f70: 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d dditional inform
2f80: 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63 69 70 ation on the cip
2f90: 68 65 72 2e 20 49 66 0a 09 3c 65 6d 3e 73 75 70 her. If..<em>sup
2fa0: 70 6f 72 74 65 64 3c 2f 65 6d 3e 20 69 73 20 73 ported</em> is s
2fb0: 70 65 63 69 66 69 65 64 20 61 73 20 74 72 75 65 pecified as true
2fc0: 2c 20 74 68 65 6e 20 6f 6e 6c 79 20 74 68 65 20 , then only the
2fd0: 63 69 70 68 65 72 73 0a 09 73 75 70 70 6f 72 74 ciphers..support
2fe0: 65 64 20 66 6f 72 20 70 72 6f 74 6f 63 6f 6c 20 ed for protocol
2ff0: 77 69 6c 6c 20 62 65 20 6c 69 73 74 65 64 2e 3c will be listed.<
3000: 2f 64 64 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 /dd>.. <dt><a
3010: 20 6e 61 6d 65 3d 22 74 6c 73 3a 3a 64 69 67 65 name="tls::dige
3020: 73 74 73 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 sts"><strong>tls
3030: 3a 3a 64 69 67 65 73 74 73 3c 2f 73 74 72 6f 6e ::digests</stron
3040: 67 3e 20 3c 65 6d 3e 3f 6e 61 6d 65 3f 3c 2f 65 g> <em>?name?</e
3050: 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 m></a></dt>.
3060: 3c 64 64 3e 57 69 74 68 6f 75 74 20 3c 65 6d 3e <dd>Without <em>
3070: 6e 61 6d 65 3c 2f 65 6d 3e 2c 20 72 65 74 75 72 name</em>, retur
3080: 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 ns a list of the
3090: 20 73 75 70 70 6f 72 74 65 64 20 6d 65 73 73 61 supported messa
30a0: 67 65 20 64 69 67 65 73 74 73 0a 09 28 61 6b 61 ge digests..(aka
30b0: 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d 73 hash algorithms
30c0: 29 20 66 6f 72 20 75 73 65 20 77 69 74 68 20 74 ) for use with t
30d0: 68 65 20 3c 61 20 68 72 65 66 3d 22 23 2d 64 69 he <a href="#-di
30e0: 67 65 73 74 22 3e 3c 62 3e 2d 64 69 67 65 73 74 gest"><b>-digest
30f0: 3c 2f 62 3e 3c 2f 61 3e 0a 09 6f 70 74 69 6f 6e </b></a>..option
3100: 2e 20 57 69 74 68 20 3c 65 6d 3e 6e 61 6d 65 3c . With <em>name<
3110: 2f 65 6d 3e 2c 20 72 65 74 75 72 6e 73 20 61 20 /em>, returns a
3120: 6c 69 73 74 20 6f 66 0a 09 70 72 6f 70 65 72 74 list of..propert
3130: 79 20 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 y names and valu
3140: 65 73 20 64 65 73 63 72 69 62 69 6e 67 20 6d 65 es describing me
3150: 73 73 61 67 65 20 64 69 67 65 73 74 20 3c 69 3e ssage digest <i>
3160: 6e 61 6d 65 3c 2f 69 3e 2e 20 50 72 6f 70 65 72 name</i>. Proper
3170: 74 69 65 73 0a 09 69 6e 63 6c 75 64 65 20 6e 61 ties..include na
3180: 6d 65 2c 20 64 65 73 63 72 69 70 74 69 6f 6e 2c me, description,
3190: 20 73 69 7a 65 2c 20 62 6c 6f 63 6b 5f 73 69 7a size, block_siz
31a0: 65 2c 20 74 79 70 65 2c 20 61 6e 64 20 66 6c 61 e, type, and fla
31b0: 67 73 20 6c 69 73 74 2e 3c 2f 64 64 3e 0a 0a 20 gs list.</dd>..
31c0: 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 <dt><a name="
31d0: 74 6c 73 3a 3a 6b 64 66 73 22 3e 3c 73 74 72 6f tls::kdfs"><stro
31e0: 6e 67 3e 74 6c 73 3a 3a 6b 64 66 73 3c 2f 73 74 ng>tls::kdfs</st
31f0: 72 6f 6e 67 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 rong></a></dt>.
3200: 20 20 20 3c 64 64 3e 52 65 74 75 72 6e 73 20 61 <dd>Returns a
3210: 20 6c 69 73 74 20 6f 66 20 74 68 65 20 61 76 61 list of the ava
3220: 69 6c 61 62 6c 65 20 4b 65 79 20 44 65 72 69 76 ilable Key Deriv
3230: 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 20 28 ation Function (
3240: 4b 44 46 29 0a 09 61 6c 67 6f 72 69 74 68 6d 73 KDF)..algorithms
3250: 2e 3c 2f 64 64 3e 0a 0a 20 20 20 20 3c 64 74 3e .</dd>.. <dt>
3260: 3c 61 20 6e 61 6d 65 3d 22 74 6c 73 3a 3a 6d 61 <a name="tls::ma
3270: 63 73 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a cs"><strong>tls:
3280: 3a 6d 61 63 73 3c 2f 73 74 72 6f 6e 67 3e 3c 2f :macs</strong></
3290: 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e a></dt>. <dd>
32a0: 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f Returns a list o
32b0: 66 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 f the available
32c0: 4d 65 73 73 61 67 65 20 41 75 74 68 65 6e 74 69 Message Authenti
32d0: 63 61 74 69 6f 6e 20 43 6f 64 65 73 20 28 4d 41 cation Codes (MA
32e0: 43 29 0a 09 66 6f 72 20 75 73 65 20 77 69 74 68 C)..for use with
32f0: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 2d the <a href="#-
3300: 6b 65 79 22 3e 3c 62 3e 2d 6b 65 79 3c 2f 62 3e key"><b>-key</b>
3310: 3c 2f 61 3e 20 6f 70 74 69 6f 6e 2e 3c 2f 64 64 </a> option.</dd
3320: 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 >.. <dt><a na
3330: 6d 65 3d 22 74 6c 73 3a 3a 70 72 6f 74 6f 63 6f me="tls::protoco
3340: 6c 73 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a ls"><strong>tls:
3350: 3a 70 72 6f 74 6f 63 6f 6c 73 3c 2f 73 74 72 6f :protocols</stro
3360: 6e 67 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 ng></a></dt>.
3370: 20 3c 64 64 3e 52 65 74 75 72 6e 73 20 61 20 6c <dd>Returns a l
3380: 69 73 74 20 6f 66 20 73 75 70 70 6f 72 74 65 64 ist of supported
3390: 20 70 72 6f 74 6f 63 6f 6c 73 2e 20 56 61 6c 69 protocols. Vali
33a0: 64 20 76 61 6c 75 65 73 20 61 72 65 3a 0a 09 3c d values are:..<
33b0: 62 3e 73 73 6c 32 3c 2f 62 3e 2c 20 3c 62 3e 73 b>ssl2</b>, <b>s
33c0: 73 6c 33 3c 2f 62 3e 2c 20 3c 62 3e 74 6c 73 31 sl3</b>, <b>tls1
33d0: 3c 2f 62 3e 2c 20 3c 62 3e 74 6c 73 31 2e 31 3c </b>, <b>tls1.1<
33e0: 2f 62 3e 2c 20 3c 62 3e 74 6c 73 31 2e 32 3c 2f /b>, <b>tls1.2</
33f0: 62 3e 2c 0a 09 61 6e 64 20 3c 62 3e 74 6c 73 31 b>,..and <b>tls1
3400: 2e 33 3c 2f 62 3e 2e 20 45 78 61 63 74 20 6c 69 .3</b>. Exact li
3410: 73 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 4f 70 st depends on Op
3420: 65 6e 53 53 4c 20 76 65 72 73 69 6f 6e 20 61 6e enSSL version an
3430: 64 0a 09 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 d..compile time
3440: 66 6c 61 67 73 2e 3c 2f 64 64 3e 0a 0a 20 20 20 flags.</dd>..
3450: 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 74 6c <dt><a name="tl
3460: 73 3a 3a 76 65 72 73 69 6f 6e 22 3e 3c 73 74 72 s::version"><str
3470: 6f 6e 67 3e 74 6c 73 3a 3a 76 65 72 73 69 6f 6e ong>tls::version
3480: 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 61 3e 3c 2f 64 </strong></a></d
3490: 74 3e 0a 20 20 20 20 3c 64 64 3e 52 65 74 75 72 t>. <dd>Retur
34a0: 6e 73 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 76 ns the OpenSSL v
34b0: 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 2e 3c 2f ersion string.</
34c0: 64 64 3e 0a 0a 3c 62 72 3e 0a 0a 3c 68 34 3e 4d dd>..<br>..<h4>M
34d0: 65 73 73 61 67 65 20 44 69 67 65 73 74 20 28 4d essage Digest (M
34e0: 44 29 20 61 6e 64 20 4d 65 73 73 61 67 65 20 41 D) and Message A
34f0: 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 43 6f uthentication Co
3500: 64 65 20 28 4d 41 43 29 20 43 6f 6d 6d 61 6e 64 de (MAC) Command
3510: 73 3c 2f 68 34 3e 0a 0a 20 20 20 20 3c 64 74 3e s</h4>.. <dt>
3520: 3c 61 20 6e 61 6d 65 3d 22 74 6c 73 3a 3a 63 6d <a name="tls::cm
3530: 61 63 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a ac"><strong>tls:
3540: 3a 63 6d 61 63 3c 2f 73 74 72 6f 6e 67 3e 0a 09 :cmac</strong>..
3550: 3c 65 6d 3e 3f 3c 2f 65 6d 3e 3c 62 3e 2d 63 69 <em>?</em><b>-ci
3560: 70 68 65 72 3c 2f 62 3e 3c 65 6d 3e 3f 20 6e 61 pher</b><em>? na
3570: 6d 65 3c 2f 65 6d 3e 0a 09 3c 62 3e 2d 6b 65 79 me</em>..<b>-key
3580: 3c 2f 62 3e 20 3c 65 6d 3e 6b 65 79 20 3f 3c 2f </b> <em>key ?</
3590: 65 6d 3e 3c 62 3e 2d 62 69 6e 3c 2f 62 3e 7c 3c em><b>-bin</b>|<
35a0: 62 3e 2d 68 65 78 3c 2f 62 3e 3c 65 6d 3e 3f 0a b>-hex</b><em>?.
35b0: 09 5b 3c 2f 65 6d 3e 3c 62 3e 2d 63 68 61 6e 3c .[</em><b>-chan<
35c0: 2f 62 3e 20 3c 65 6d 3e 63 68 61 6e 6e 65 6c 49 /b> <em>channelI
35d0: 64 20 7c 3c 2f 65 6d 3e 20 3c 62 3e 2d 63 6f 6d d |</em> <b>-com
35e0: 6d 61 6e 64 3c 2f 62 3e 20 3c 65 6d 3e 63 6d 64 mand</b> <em>cmd
35f0: 4e 61 6d 65 20 7c 3c 2f 65 6d 3e 0a 09 3c 62 3e Name |</em>..<b>
3600: 2d 66 69 6c 65 3c 2f 62 3e 20 3c 65 6d 3e 66 69 -file</b> <em>fi
3610: 6c 65 6e 61 6d 65 20 7c 20 3f 3c 2f 65 6d 3e 3c lename | ?</em><
3620: 62 3e 2d 64 61 74 61 3c 2f 62 3e 3c 65 6d 3e 3f b>-data</b><em>?
3630: 20 64 61 74 61 5d 3c 2f 65 6d 3e 3c 2f 61 3e 3c data]</em></a><
3640: 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 43 61 6c /dt>. <dd>Cal
3650: 63 75 6c 61 74 65 20 74 68 65 20 43 69 70 68 65 culate the Ciphe
3660: 72 2d 62 61 73 65 64 20 4d 65 73 73 61 67 65 20 r-based Message
3670: 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 43 Authentication C
3680: 6f 64 65 20 28 43 4d 41 43 29 20 77 68 65 72 65 ode (CMAC) where
3690: 0a 09 3c 65 6d 3e 6b 65 79 3c 2f 65 6d 3e 20 69 ..<em>key</em> i
36a0: 73 20 61 20 73 68 61 72 65 64 20 6b 65 79 20 61 s a shared key a
36b0: 6e 64 20 6f 75 74 70 75 74 20 74 68 65 20 72 65 nd output the re
36c0: 73 75 6c 74 20 70 65 72 20 74 68 65 20 49 2f 4f sult per the I/O
36d0: 20 6f 70 74 69 6f 6e 73 0a 09 69 6e 20 74 68 65 options..in the
36e0: 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 6d 61 specified forma
36f0: 74 2e 20 4d 41 43 73 20 61 72 65 20 75 73 65 64 t. MACs are used
3700: 20 74 6f 20 65 6e 73 75 72 65 20 61 75 74 68 65 to ensure authe
3710: 6e 74 69 63 69 74 79 20 61 6e 64 20 74 68 65 0a nticity and the.
3720: 09 69 6e 74 65 67 72 69 74 79 20 6f 66 20 64 61 .integrity of da
3730: 74 61 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d ta. See <a href=
3740: 22 23 4f 50 54 49 4f 4e 53 22 3e 3c 62 3e 6f 70 "#OPTIONS"><b>op
3750: 74 69 6f 6e 73 3c 2f 62 3e 3c 2f 61 3e 20 66 6f tions</b></a> fo
3760: 72 20 75 73 61 67 65 0a 09 69 6e 66 6f 2e 20 4f r usage..info. O
3770: 70 74 69 6f 6e 20 3c 62 3e 2d 6b 65 79 3c 2f 62 ption <b>-key</b
3780: 3e 20 69 73 20 6f 6e 6c 79 20 75 73 65 64 20 66 > is only used f
3790: 6f 72 20 73 6f 6d 65 20 63 69 70 68 65 72 73 2e or some ciphers.
37a0: 3c 2f 64 64 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c </dd>.. <dt><
37b0: 61 20 6e 61 6d 65 3d 22 74 6c 73 3a 3a 68 6d 61 a name="tls::hma
37c0: 63 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a 3a c"><strong>tls::
37d0: 68 6d 61 63 3c 2f 73 74 72 6f 6e 67 3e 0a 09 3c hmac</strong>..<
37e0: 65 6d 3e 3f 3c 2f 65 6d 3e 3c 62 3e 2d 64 69 67 em>?</em><b>-dig
37f0: 65 73 74 3c 2f 62 3e 3c 65 6d 3e 3f 20 6e 61 6d est</b><em>? nam
3800: 65 3c 2f 65 6d 3e 0a 09 3c 62 3e 2d 6b 65 79 3c e</em>..<b>-key<
3810: 2f 62 3e 20 3c 65 6d 3e 6b 65 79 20 3f 3c 2f 65 /b> <em>key ?</e
3820: 6d 3e 3c 62 3e 2d 62 69 6e 3c 2f 62 3e 7c 3c 62 m><b>-bin</b>|<b
3830: 3e 2d 68 65 78 3c 2f 62 3e 3c 65 6d 3e 3f 0a 09 >-hex</b><em>?..
3840: 5b 3c 2f 65 6d 3e 3c 62 3e 2d 63 68 61 6e 3c 2f [</em><b>-chan</
3850: 62 3e 20 3c 65 6d 3e 63 68 61 6e 6e 65 6c 49 64 b> <em>channelId
3860: 20 7c 3c 2f 65 6d 3e 20 3c 62 3e 2d 63 6f 6d 6d |</em> <b>-comm
3870: 61 6e 64 3c 2f 62 3e 20 3c 65 6d 3e 63 6d 64 4e and</b> <em>cmdN
3880: 61 6d 65 20 7c 3c 2f 65 6d 3e 0a 09 3c 62 3e 2d ame |</em>..<b>-
3890: 66 69 6c 65 3c 2f 62 3e 20 3c 65 6d 3e 66 69 6c file</b> <em>fil
38a0: 65 6e 61 6d 65 20 7c 20 3f 3c 2f 65 6d 3e 3c 62 ename | ?</em><b
38b0: 3e 2d 64 61 74 61 3c 2f 62 3e 3c 65 6d 3e 3f 20 >-data</b><em>?
38c0: 64 61 74 61 5d 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f data]</em></a></
38d0: 64 74 3e 0a 20 20 20 20 3c 64 64 3e 43 61 6c 63 dt>. <dd>Calc
38e0: 75 6c 61 74 65 20 74 68 65 20 48 61 73 68 2d 62 ulate the Hash-b
38f0: 61 73 65 64 20 4d 65 73 73 61 67 65 20 41 75 74 ased Message Aut
3900: 68 65 6e 74 69 63 61 74 69 6f 6e 20 43 6f 64 65 hentication Code
3910: 20 28 48 4d 41 43 29 20 77 68 65 72 65 0a 09 3c (HMAC) where..<
3920: 65 6d 3e 6b 65 79 3c 2f 65 6d 3e 20 69 73 20 61 em>key</em> is a
3930: 20 73 68 61 72 65 64 20 73 65 63 72 65 74 20 6b shared secret k
3940: 65 79 20 61 6e 64 20 6f 75 74 70 75 74 20 74 68 ey and output th
3950: 65 20 72 65 73 75 6c 74 20 70 65 72 20 74 68 65 e result per the
3960: 20 49 2f 4f 0a 09 6f 70 74 69 6f 6e 73 20 69 6e I/O..options in
3970: 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 the specified f
3980: 6f 72 6d 61 74 2e 20 54 68 65 20 63 72 79 70 74 ormat. The crypt
3990: 6f 67 72 61 70 68 69 63 20 73 74 72 65 6e 67 74 ographic strengt
39a0: 68 20 64 65 70 65 6e 64 73 0a 09 75 70 6f 6e 20 h depends..upon
39b0: 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 the size of the
39c0: 6b 65 79 20 61 6e 64 20 74 68 65 20 73 65 63 75 key and the secu
39d0: 72 69 74 79 20 6f 66 20 74 68 65 20 68 61 73 68 rity of the hash
39e0: 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64 2e 0a function used..
39f0: 09 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 4f .See <a href="#O
3a00: 50 54 49 4f 4e 53 22 3e 3c 62 3e 6f 70 74 69 6f PTIONS"><b>optio
3a10: 6e 73 3c 2f 62 3e 3c 2f 61 3e 20 66 6f 72 20 75 ns</b></a> for u
3a20: 73 61 67 65 20 69 6e 66 6f 2e 3c 2f 64 64 3e 0a sage info.</dd>.
3a30: 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 . <dt><a name
3a40: 3d 22 74 6c 73 3a 3a 6d 61 63 22 3e 3c 73 74 72 ="tls::mac"><str
3a50: 6f 6e 67 3e 74 6c 73 3a 3a 6d 61 63 3c 2f 73 74 ong>tls::mac</st
3a60: 72 6f 6e 67 3e 0a 09 3c 65 6d 3e 3f 3c 2f 65 6d rong>..<em>?</em
3a70: 3e 3c 62 3e 2d 6d 61 63 3c 2f 62 3e 3c 65 6d 3e ><b>-mac</b><em>
3a80: 3f 20 6e 61 6d 65 3c 2f 65 6d 3e 20 3c 62 3e 2d ? name</em> <b>-
3a90: 63 69 70 68 65 72 3c 2f 62 3e 20 3c 65 6d 3e 6e cipher</b> <em>n
3aa0: 61 6d 65 3c 2f 65 6d 3e 0a 09 3c 62 3e 2d 64 69 ame</em>..<b>-di
3ab0: 67 65 73 74 3c 2f 62 3e 20 3c 65 6d 3e 6e 61 6d gest</b> <em>nam
3ac0: 65 3c 2f 65 6d 3e 20 3c 62 3e 2d 6b 65 79 3c 2f e</em> <b>-key</
3ad0: 62 3e 20 3c 65 6d 3e 6b 65 79 20 3f 3c 2f 65 6d b> <em>key ?</em
3ae0: 3e 0a 09 3c 62 3e 2d 62 69 6e 3c 2f 62 3e 7c 3c >..<b>-bin</b>|<
3af0: 62 3e 2d 68 65 78 3c 2f 62 3e 3c 65 6d 3e 3f 0a b>-hex</b><em>?.
3b00: 09 5b 3c 2f 65 6d 3e 3c 62 3e 2d 63 68 61 6e 3c .[</em><b>-chan<
3b10: 2f 62 3e 20 3c 65 6d 3e 63 68 61 6e 6e 65 6c 49 /b> <em>channelI
3b20: 64 20 7c 3c 2f 65 6d 3e 20 3c 62 3e 2d 63 6f 6d d |</em> <b>-com
3b30: 6d 61 6e 64 3c 2f 62 3e 20 3c 65 6d 3e 63 6d 64 mand</b> <em>cmd
3b40: 4e 61 6d 65 20 7c 3c 2f 65 6d 3e 0a 09 3c 62 3e Name |</em>..<b>
3b50: 2d 66 69 6c 65 3c 2f 62 3e 20 3c 65 6d 3e 66 69 -file</b> <em>fi
3b60: 6c 65 6e 61 6d 65 20 7c 20 3f 3c 2f 65 6d 3e 3c lename | ?</em><
3b70: 62 3e 2d 64 61 74 61 3c 2f 62 3e 3c 65 6d 3e 3f b>-data</b><em>?
3b80: 20 64 61 74 61 5d 3c 2f 65 6d 3e 3c 2f 61 3e 3c data]</em></a><
3b90: 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 28 4f 70 /dt>. <dd>(Op
3ba0: 65 6e 53 53 4c 20 33 2e 30 2b 29 20 43 61 6c 63 enSSL 3.0+) Calc
3bb0: 75 6c 61 74 65 20 74 68 65 20 4d 65 73 73 61 67 ulate the Messag
3bc0: 65 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e e Authentication
3bd0: 20 43 6f 64 65 20 28 4d 41 43 29 20 77 68 65 72 Code (MAC) wher
3be0: 65 0a 09 3c 65 6d 3e 6b 65 79 3c 2f 65 6d 3e 20 e..<em>key</em>
3bf0: 69 73 20 61 20 73 68 61 72 65 64 20 6b 65 79 20 is a shared key
3c00: 61 6e 64 20 6f 75 74 70 75 74 20 74 68 65 20 72 and output the r
3c10: 65 73 75 6c 74 20 70 65 72 20 74 68 65 20 49 2f esult per the I/
3c20: 4f 20 6f 70 74 69 6f 6e 73 0a 09 69 6e 20 74 68 O options..in th
3c30: 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 6d e specified form
3c40: 61 74 2e 20 4d 41 43 73 20 61 72 65 20 75 73 65 at. MACs are use
3c50: 64 20 74 6f 20 65 6e 73 75 72 65 20 61 75 74 68 d to ensure auth
3c60: 65 6e 74 69 63 69 74 79 20 61 6e 64 0a 09 74 68 enticity and..th
3c70: 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 64 e integrity of d
3c80: 61 74 61 2e 20 53 65 65 20 3c 61 20 68 72 65 66 ata. See <a href
3c90: 3d 22 23 4f 50 54 49 4f 4e 53 22 3e 3c 62 3e 6f ="#OPTIONS"><b>o
3ca0: 70 74 69 6f 6e 73 3c 2f 62 3e 3c 2f 61 3e 0a 09 ptions</b></a>..
3cb0: 66 6f 72 20 75 73 61 67 65 20 69 6e 66 6f 2e 3c for usage info.<
3cc0: 2f 64 64 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 /dd>.. <dt><a
3cd0: 20 6e 61 6d 65 3d 22 74 6c 73 3a 3a 6d 64 22 3e name="tls::md">
3ce0: 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a 3a 6d 64 3c <strong>tls::md<
3cf0: 2f 73 74 72 6f 6e 67 3e 0a 09 3c 65 6d 3e 3f 3c /strong>..<em>?<
3d00: 2f 65 6d 3e 3c 62 3e 2d 64 69 67 65 73 74 3c 2f /em><b>-digest</
3d10: 62 3e 3c 65 6d 3e 3f 20 6e 61 6d 65 20 3f 3c 2f b><em>? name ?</
3d20: 65 6d 3e 3c 62 3e 2d 62 69 6e 3c 2f 62 3e 7c 3c em><b>-bin</b>|<
3d30: 62 3e 2d 68 65 78 3c 2f 62 3e 3c 65 6d 3e 3f 0a b>-hex</b><em>?.
3d40: 09 5b 3c 2f 65 6d 3e 3c 62 3e 2d 63 68 61 6e 3c .[</em><b>-chan<
3d50: 2f 62 3e 20 3c 65 6d 3e 63 68 61 6e 6e 65 6c 49 /b> <em>channelI
3d60: 64 20 7c 3c 2f 65 6d 3e 20 3c 62 3e 2d 63 6f 6d d |</em> <b>-com
3d70: 6d 61 6e 64 3c 2f 62 3e 20 3c 65 6d 3e 63 6d 64 mand</b> <em>cmd
3d80: 4e 61 6d 65 20 7c 3c 2f 65 6d 3e 0a 09 3c 62 3e Name |</em>..<b>
3d90: 2d 66 69 6c 65 3c 2f 62 3e 20 3c 65 6d 3e 66 69 -file</b> <em>fi
3da0: 6c 65 6e 61 6d 65 20 7c 20 3f 3c 2f 65 6d 3e 3c lename | ?</em><
3db0: 62 3e 2d 64 61 74 61 3c 2f 62 3e 3c 65 6d 3e 3f b>-data</b><em>?
3dc0: 20 64 61 74 61 5d 3c 2f 65 6d 3e 3c 2f 61 3e 3c data]</em></a><
3dd0: 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 43 61 6c /dt>. <dd>Cal
3de0: 63 75 6c 61 74 65 20 74 68 65 20 6d 65 73 73 61 culate the messa
3df0: 67 65 20 64 69 67 65 73 74 20 28 4d 44 29 20 75 ge digest (MD) u
3e00: 73 69 6e 67 20 68 61 73 68 20 66 75 6e 63 74 69 sing hash functi
3e10: 6f 6e 20 3c 65 6d 3e 6e 61 6d 65 3c 2f 65 6d 3e on <em>name</em>
3e20: 0a 09 61 6e 64 20 6f 75 74 70 75 74 20 74 68 65 ..and output the
3e30: 20 72 65 73 75 6c 74 20 70 65 72 20 74 68 65 20 result per the
3e40: 49 2f 4f 20 6f 70 74 69 6f 6e 73 20 69 6e 20 74 I/O options in t
3e50: 68 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 he specified for
3e60: 6d 61 74 2e 0a 09 4d 44 73 20 61 72 65 20 75 73 mat...MDs are us
3e70: 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 65 ed to ensure the
3e80: 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 64 61 integrity of da
3e90: 74 61 2e 20 53 65 65 0a 09 3c 61 20 68 72 65 66 ta. See..<a href
3ea0: 3d 22 23 4f 50 54 49 4f 4e 53 22 3e 3c 62 3e 6f ="#OPTIONS"><b>o
3eb0: 70 74 69 6f 6e 73 3c 2f 62 3e 3c 2f 61 3e 20 66 ptions</b></a> f
3ec0: 6f 72 20 75 73 61 67 65 20 69 6e 66 6f 2e 3c 2f or usage info.</
3ed0: 64 64 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 20 dd>.. <dt><a
3ee0: 6e 61 6d 65 3d 22 74 6c 73 3a 3a 6d 64 34 22 3e name="tls::md4">
3ef0: 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a 3a 6d 64 34 <strong>tls::md4
3f00: 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d 3e 64 61 </strong> <em>da
3f10: 74 61 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e ta</em></a></dt>
3f20: 0a 20 20 20 20 3c 64 64 3e 52 65 74 75 72 6e 73 . <dd>Returns
3f30: 20 74 68 65 20 4d 44 34 20 6d 65 73 73 61 67 65 the MD4 message
3f40: 2d 64 69 67 65 73 74 20 66 6f 72 20 3c 65 6d 3e -digest for <em>
3f50: 64 61 74 61 3c 2f 65 6d 3e 20 61 73 20 61 20 68 data</em> as a h
3f60: 65 78 20 73 74 72 69 6e 67 2e 3c 2f 64 64 3e 0a ex string.</dd>.
3f70: 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 . <dt><a name
3f80: 3d 22 74 6c 73 3a 3a 6d 64 35 22 3e 3c 73 74 72 ="tls::md5"><str
3f90: 6f 6e 67 3e 74 6c 73 3a 3a 6d 64 35 3c 2f 73 74 ong>tls::md5</st
3fa0: 72 6f 6e 67 3e 20 3c 65 6d 3e 64 61 74 61 3c 2f rong> <em>data</
3fb0: 65 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 em></a></dt>.
3fc0: 20 3c 64 64 3e 52 65 74 75 72 6e 73 20 74 68 65 <dd>Returns the
3fd0: 20 4d 44 35 20 6d 65 73 73 61 67 65 2d 64 69 67 MD5 message-dig
3fe0: 65 73 74 20 66 6f 72 20 3c 65 6d 3e 64 61 74 61 est for <em>data
3ff0: 3c 2f 65 6d 3e 20 61 73 20 61 20 68 65 78 20 73 </em> as a hex s
4000: 74 72 69 6e 67 2e 3c 2f 64 64 3e 0a 0a 20 20 20 tring.</dd>..
4010: 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 74 6c <dt><a name="tl
4020: 73 3a 3a 73 68 61 31 22 3e 3c 73 74 72 6f 6e 67 s::sha1"><strong
4030: 3e 74 6c 73 3a 3a 73 68 61 31 3c 2f 73 74 72 6f >tls::sha1</stro
4040: 6e 67 3e 20 3c 65 6d 3e 64 61 74 61 3c 2f 65 6d ng> <em>data</em
4050: 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c ></a></dt>. <
4060: 64 64 3e 52 65 74 75 72 6e 73 20 74 68 65 20 53 dd>Returns the S
4070: 48 41 31 20 73 65 63 75 72 65 20 68 61 73 68 20 HA1 secure hash
4080: 61 6c 67 6f 72 69 74 68 6d 20 64 69 67 65 73 74 algorithm digest
4090: 20 66 6f 72 20 3c 65 6d 3e 64 61 74 61 3c 2f 65 for <em>data</e
40a0: 6d 3e 20 61 73 20 61 20 68 65 78 20 73 74 72 69 m> as a hex stri
40b0: 6e 67 2e 3c 2f 64 64 3e 0a 0a 20 20 20 20 3c 64 ng.</dd>.. <d
40c0: 74 3e 3c 61 20 6e 61 6d 65 3d 22 74 6c 73 3a 3a t><a name="tls::
40d0: 73 68 61 32 35 36 22 3e 3c 73 74 72 6f 6e 67 3e sha256"><strong>
40e0: 74 6c 73 3a 3a 73 68 61 32 35 36 3c 2f 73 74 72 tls::sha256</str
40f0: 6f 6e 67 3e 20 3c 65 6d 3e 64 61 74 61 3c 2f 65 ong> <em>data</e
4100: 6d 3e 3c 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 m></a></dt>.
4110: 3c 64 64 3e 52 65 74 75 72 6e 73 20 74 68 65 20 <dd>Returns the
4120: 53 48 41 2d 32 20 53 48 41 32 35 36 20 73 65 63 SHA-2 SHA256 sec
4130: 75 72 65 20 68 61 73 68 20 61 6c 67 6f 72 69 74 ure hash algorit
4140: 68 6d 20 64 69 67 65 73 74 20 66 6f 72 20 3c 65 hm digest for <e
4150: 6d 3e 64 61 74 61 3c 2f 65 6d 3e 20 61 73 20 61 m>data</em> as a
4160: 20 68 65 78 20 73 74 72 69 6e 67 2e 3c 2f 64 64 hex string.</dd
4170: 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 >.. <dt><a na
4180: 6d 65 3d 22 74 6c 73 3a 3a 73 68 61 35 31 32 22 me="tls::sha512"
4190: 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a 3a 73 68 ><strong>tls::sh
41a0: 61 35 31 32 3c 2f 73 74 72 6f 6e 67 3e 20 3c 65 a512</strong> <e
41b0: 6d 3e 64 61 74 61 3c 2f 65 6d 3e 3c 2f 61 3e 3c m>data</em></a><
41c0: 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 52 65 74 /dt>. <dd>Ret
41d0: 75 72 6e 73 20 74 68 65 20 53 48 41 2d 32 20 53 urns the SHA-2 S
41e0: 48 41 35 31 32 20 73 65 63 75 72 65 20 68 61 73 HA512 secure has
41f0: 68 20 61 6c 67 6f 72 69 74 68 6d 20 64 69 67 65 h algorithm dige
4200: 73 74 20 66 6f 72 20 3c 65 6d 3e 64 61 74 61 3c st for <em>data<
4210: 2f 65 6d 3e 20 61 73 20 61 20 68 65 78 20 73 74 /em> as a hex st
4220: 72 69 6e 67 2e 3c 2f 64 64 3e 0a 0a 20 20 20 20 ring.</dd>..
4230: 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d 22 74 6c 73 <dt><a name="tls
4240: 3a 3a 75 6e 73 74 61 63 6b 22 3e 3c 73 74 72 6f ::unstack"><stro
4250: 6e 67 3e 74 6c 73 3a 3a 75 6e 73 74 61 63 6b 3c ng>tls::unstack<
4260: 2f 73 74 72 6f 6e 67 3e 20 3c 65 6d 3e 63 68 61 /strong> <em>cha
4270: 6e 6e 65 6c 49 64 3c 2f 65 6d 3e 3c 2f 61 3e 3c nnelId</em></a><
4280: 2f 64 74 3e 0a 20 20 20 20 3c 64 64 3e 52 65 6d /dt>. <dd>Rem
4290: 6f 76 65 73 20 74 68 65 20 74 6f 70 20 6c 65 76 oves the top lev
42a0: 65 6c 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 el cryptographic
42b0: 20 74 72 61 6e 73 66 6f 72 6d 20 66 72 6f 6d 20 transform from
42c0: 63 68 61 6e 6e 65 6c 20 3c 65 6d 3e 63 68 61 6e channel <em>chan
42d0: 6e 65 6c 49 64 3c 2f 65 6d 3e 2e 3c 2f 64 64 3e nelId</em>.</dd>
42e0: 0a 0a 3c 62 72 3e 0a 0a 3c 68 34 3e 45 6e 63 72 ..<br>..<h4>Encr
42f0: 79 70 74 69 6f 6e 20 61 6e 64 20 44 65 63 72 79 yption and Decry
4300: 70 74 69 6f 6e 20 43 6f 6d 6d 61 6e 64 73 3c 2f ption Commands</
4310: 68 34 3e 0a 0a 20 20 20 20 3c 64 74 3e 3c 61 20 h4>.. <dt><a
4320: 6e 61 6d 65 3d 22 74 6c 73 3a 3a 65 6e 63 72 79 name="tls::encry
4330: 70 74 22 3e 3c 73 74 72 6f 6e 67 3e 74 6c 73 3a pt"><strong>tls:
4340: 3a 65 6e 63 72 79 70 74 3c 2f 73 74 72 6f 6e 67 :encrypt</strong
4350: 3e 0a 09 3c 62 3e 2d 63 69 70 68 65 72 3c 2f 62 >..<b>-cipher</b
4360: 3e 20 3c 65 6d 3e 6e 61 6d 65 3c 2f 65 6d 3e 20 > <em>name</em>
4370: 3c 62 3e 2d 6b 65 79 3c 2f 62 3e 20 3c 65 6d 3e <b>-key</b> <em>
4380: 6b 65 79 20 3f 3c 2f 65 6d 3e 3c 62 3e 2d 69 76 key ?</em><b>-iv
4390: 3c 2f 62 3e 20 3c 65 6d 3e 73 74 72 69 6e 67 3f </b> <em>string?
43a0: 0a 09 5b 3c 2f 65 6d 3e 3c 62 3e 2d 63 68 61 6e ..[</em><b>-chan
43b0: 3c 2f 62 3e 20 3c 65 6d 3e 63 68 61 6e 6e 65 6c </b> <em>channel
43c0: 49 64 20 7c 3c 2f 65 6d 3e 20 3c 62 3e 2d 63 6f Id |</em> <b>-co
43d0: 6d 6d 61 6e 64 3c 2f 62 3e 20 3c 65 6d 3e 63 6d mmand</b> <em>cm
43e0: 64 4e 61 6d 65 20 7c 3c 2f 65 6d 3e 0a 09 3c 62 dName |</em>..<b
43f0: 3e 2d 69 6e 66 69 6c 65 3c 2f 62 3e 20 3c 65 6d >-infile</b> <em
4400: 3e 66 69 6c 65 6e 61 6d 65 3c 2f 65 6d 3e 20 3c >filename</em> <
4410: 62 3e 2d 6f 75 74 66 69 6c 65 3c 2f 62 3e 20 3c b>-outfile</b> <
4420: 65 6d 3e 66 69 6c 65 6e 61 6d 65 20 7c 3c 2f 65 em>filename |</e
4430: 6d 3e 0a 09 3c 62 3e 2d 64 61 74 61 3c 2f 62 3e m>..<b>-data</b>
4440: 3c 65 6d 3e 20 64 61 74 61 5d 3c 2f 65 6d 3e 3c <em> data]</em><
4450: 2f 61 3e 3c 2f 64 74 3e 0a 20 20 20 20 3c 64 64 /a></dt>. <dd
4460: 3e 45 6e 63 72 79 70 74 20 74 68 65 20 64 61 74 >Encrypt the dat
4470: 61 20 75 73 69 6e 67 20 63 69 70 68 65 72 20 3c a using cipher <
4480: 65 6d 3e 63 69 70 68 65 72 3c 2f 65 6d 3e 20 61 em>cipher</em> a
4490: 6e 64 20 6f 75 74 70 75 74 20 74 68 65 20 72 65 nd output the re
44a0: 73 75 6c 74 20 70 65 72 0a 09 74 68 65 20 49 2f sult per..the I/
44b0: 4f 20 6f 70 74 69 6f 6e 73 2e 20 43 69 70 68 65 O options. Ciphe
44c0: 72 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 63 rs are used to c
44d0: 72 65 61 74 65 20 74 68 65 20 63 69 70 68 65 72 reate the cipher
44e0: 20 74 65 78 74 20 66 72 6f 6d 20 74 68 65 0a 09 text from the..
44f0: 69 6e 70 75 74 20 64 61 74 61 2e 20 53 65 65 20 input data. See
4500: 3c 61 20 68 72 65 66 3d 22 23 4f 50 54 49 4f 4e <a href="#OPTION
4510: 53 22 3e 3c 62 3e 6f 70 74 69 6f 6e 73 3c 2f 62 S"><b>options</b
4520: 3e 3c 2f 61 3e 20 66 6f 72 20 75 73 61 67 65 0a ></a> for usage.
4530: 09 69 6e 66 6f 2e 20 4f 70 74 69 6f 6e 20 3c 62 .info. Option <b
4540: 3e 2d 69 76 3c 2f 62 3e 20 69 73 20 6f 6e 6c 79 >-iv</b> is only
4550: 20 75 73 65 64 20 66 6f 72 20 73 6f 6d 65 20 63 used for some c
4560: 69 70 68 65 72 73 2e 20 53 65 65 20 74 68 65 0a iphers. See the.
4570: 09 26 71 75 6f 74 3b 3c 62 3e 74 6c 73 3a 3a 63 ."<b>tls::c
4580: 69 70 68 65 72 3c 2f 62 3e 20 3c 65 6d 3e 63 69 ipher</b> <em>ci
4590: 70 68 65 72 3c 2f 65 6d 3e 26 71 75 6f 74 3b 20 pher</em>"
45a0: 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 6b 65 79 20 command for key
45b0: 61 6e 64 20 69 76 0a 09 73 69 7a 65 73 20 61 6e and iv..sizes an
45c0: 64 20 77 68 65 6e 20 74 68 65 20 69 76 20 69 73 d when the iv is
45d0: 20 75 73 65 64 20 28 69 76 5f 6c 65 6e 67 74 68 used (iv_length
45e0: 20 26 67 74 3b 20 30 29 2e 3c 2f 64 64 3e 0a 0a > 0).</dd>..
45f0: 20 20 20 20 3c 64 74 3e 3c 61 20 6e 61 6d 65 3d <dt><a name=
4600: 22 74 6c 73 3a 3a 64 65 63 72 79 70 74 22 3e 3c "tls::decrypt"><
4610: 73 74 72 6f 6e 67 3e 74 6c 73 3a 3a 64 65 63 72 strong>tls::decr
4620: 79 70 74 3c 2f 73 74 72 6f 6e 67 3e 0a 09 3c 62 ypt</strong>..<b
4630: 3e 2d 63 69 70 68 65 72 3c 2f 62 3e 20 3c 65 6d >-cipher</b> <em
4640: 3e 6e 61 6d 65 3c 2f 65 6d 3e 20 3c 62 3e 2d 6b >name</em> <b>-k
4650: 65 79 3c 2f 62 3e 20 3c 65 6d 3e 6b 65 79 20 3f ey</b> <em>key ?
4660: 3c 2f 65 6d 3e 3c 62 3e 2d 69 76 3c 2f 62 3e 20 </em><b>-iv</b>
4670: 3c 65 6d 3e 73 74 72 69 6e 67 3f 0a 09 5b 3c 2f <em>string?..[</
4680: 65 6d 3e 3c 62 3e 2d 63 68 61 6e 3c 2f 62 3e 20 em><b>-chan</b>
4690: 3c 65 6d 3e 63 68 61 6e 6e 65 6c 49 64 20 7c 3c <em>channelId |<
46a0: 2f 65 6d 3e 20 3c 62 3e 2d 63 6f 6d 6d 61 6e 64 /em> <b>-command
46b0: 3c 2f 62 3e 20 3c 65 6d 3e 63 6d 64 4e 61 6d 65 </b> <em>cmdName
46c0: 20 7c 3c 2f 65 6d 3e 0a 09 3c 62 3e 2d 69 6e 66 |</em>..<b>-inf
46d0: 69 6c 65 3c 2f 62 3e 20 3c 65 6d 3e 66 69 6c 65 ile</b> <em>file
46e0: 6e 61 6d 65 3c 2f 65 6d 3e 20 3c 62 3e 2d 6f 75 name</em> <b>-ou
46f0: 74 66 69 6c 65 3c 2f 62 3e 20 3c 65 6d 3e 66 69 tfile</b> <em>fi
4700: 6c 65 6e 61 6d 65 20 7c 3c 2f 65 6d 3e 0a 09 3c lename |</em>..<
4710: 62 3e 2d 64 61 74 61 3c 2f 62 3e 3c 65 6d 3e 20 b>-data</b><em>
4720: 64 61 74 61 5d 3c 2f 65 6d 3e 3c 2f 61 3e 3c 2f data]</em></a></
4730: 64 74 3e 0a 20 20 20 20 3c 64 64 3e 44 65 63 72 dt>. <dd>Decr
4740: 79 70 74 20 74 68 65 20 64 61 74 61 20 75 73 69 ypt the data usi
4750: 6e 67 20 63 69 70 68 65 72 20 3c 65 6d 3e 63 69 ng cipher <em>ci
4760: 70 68 65 72 3c 2f 65 6d 3e 20 61 6e 64 20 6f 75 pher</em> and ou
4770: 74 70 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 tput the result
4780: 70 65 72 0a 09 74 68 65 20 49 2f 4f 20 6f 70 74 per..the I/O opt
4790: 69 6f 6e 73 2e 20 54 68 69 73 20 63 6f 6d 6d 61 ions. This comma
47a0: 6e 64 20 69 73 20 74 68 65 20 6f 70 70 6f 73 69 nd is the opposi
47b0: 74 65 20 6f 66 20 74 68 65 20 3c 62 3e 74 6c 73 te of the <b>tls
47c0: 3a 3a 65 6e 63 72 79 70 74 3c 2f 62 3e 0a 09 63 ::encrypt</b>..c
47d0: 6f 6d 6d 61 6e 64 2e 20 53 65 65 20 3c 61 20 68 ommand. See <a h
47e0: 72 65 66 3d 22 23 4f 50 54 49 4f 4e 53 22 3e 3c ref="#OPTIONS"><
47f0: 62 3e 6f 70 74 69 6f 6e 73 3c 2f 62 3e 3c 2f 61 b>options</b></a
4800: 3e 20 66 6f 72 20 75 73 61 67 65 0a 09 69 6e 66 > for usage..inf
4810: 6f 2e 20 4f 70 74 69 6f 6e 20 3c 62 3e 2d 69 76 o. Option <b>-iv
4820: 3c 2f 62 3e 20 69 73 20 6f 6e 6c 79 20 75 73 65 </b> is only use
4830: 64 20 66 6f 72 20 73 6f 6d 65 20 63 69 70 68 65 d for some ciphe
4840: 72 73 2e 20 53 65 65 20 74 68 65 0a 09 26 71 75 rs. See the..&qu
4850: 6f 74 3b 3c 62 3e 74 6c 73 3a 3a 63 69 70 68 65 ot;<b>tls::ciphe
4860: 72 3c 2f 62 3e 20 3c 65 6d 3e 63 69 70 68 65 72 r</b> <em>cipher
4870: 3c 2f 65 6d 3e 26 71 75 6f 74 3b 20 63 6f 6d 6d </em>" comm
4880: 61 6e 64 20 66 6f 72 20 6b 65 79 20 61 6e 64 20 and for key and
4890: 69 76 0a 09 73 69 7a 65 73 20 61 6e 64 20 77 68 iv..sizes and wh
48a0: 65 6e 20 74 68 65 20 69 76 20 69 73 20 75 73 65 en the iv is use
48b0: 64 20 28 69 76 5f 6c 65 6e 67 74 68 20 26 67 74 d (iv_length >
48c0: 3b 20 30 29 2e 3c 2f 64 64 3e 0a 3c 2f 64 6c 3e ; 0).</dd>.</dl>
48d0: 0a 0a 3c 62 72 3e 0a 3c 68 33 3e 3c 61 20 6e 61 ..<br>.<h3><a na
48e0: 6d 65 3d 22 47 4c 4f 53 53 41 52 59 22 3e 47 4c me="GLOSSARY">GL
48f0: 4f 53 53 41 52 59 3c 2f 61 3e 3c 2f 68 33 3e 0a OSSARY</a></h3>.
4900: 0a 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e .<p>The followin
4910: 67 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 g is a list of t
4920: 68 65 20 74 65 72 6d 69 6e 6f 6c 6f 67 79 20 75 he terminology u
4930: 73 65 64 20 69 6e 20 74 68 69 73 20 70 61 63 6b sed in this pack
4940: 61 67 65 20 61 6c 6f 6e 67 20 77 69 74 68 0a 62 age along with.b
4950: 72 69 65 66 20 64 65 66 69 6e 69 74 69 6f 6e 73 rief definitions
4960: 2e 20 46 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 . For more detai
4970: 6c 73 2c 20 70 6c 65 61 73 65 20 63 6f 6e 73 75 ls, please consu
4980: 6c 74 20 77 69 74 68 20 74 68 65 20 4f 70 65 6e lt with the Open
4990: 53 53 4c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f SSL documentatio
49a0: 6e 2e 3c 2f 70 3e 0a 0a 0a 3c 62 72 3e 0a 3c 68 n.</p>...<br>.<h
49b0: 33 3e 3c 61 20 6e 61 6d 65 3d 22 45 58 41 4d 50 3><a name="EXAMP
49c0: 4c 45 53 22 3e 45 58 41 4d 50 4c 45 53 3c 2f 61 LES">EXAMPLES</a
49d0: 3e 3c 2f 68 33 3e 0a 0a 3c 70 3e 54 42 53 3c 2f ></h3>..<p>TBS</
49e0: 70 3e 0a 0a 3c 70 72 65 3e 3c 63 6f 64 65 3e 0a p>..<pre><code>.
49f0: 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 package require
4a00: 68 74 74 70 0a 70 61 63 6b 61 67 65 20 72 65 71 http.package req
4a10: 75 69 72 65 20 74 6c 73 0a 0a 68 74 74 70 3a 3a uire tls..http::
4a20: 72 65 67 69 73 74 65 72 20 68 74 74 70 73 20 34 register https 4
4a30: 34 33 20 5b 6c 69 73 74 20 3a 3a 74 6c 73 3a 3a 43 [list ::tls::
4a40: 73 6f 63 6b 65 74 20 2d 61 75 74 6f 73 65 72 76 socket -autoserv
4a50: 65 72 6e 61 6d 65 20 74 72 75 65 20 2d 72 65 71 ername true -req
4a60: 75 69 72 65 20 74 72 75 65 20 2d 63 61 64 69 72 uire true -cadir
4a70: 20 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 73 5d /etc/ssl/certs]
4a80: 0a 0a 73 65 74 20 74 6f 6b 20 5b 68 74 74 70 3a ..set tok [http:
4a90: 3a 67 65 74 75 72 6c 20 68 74 74 70 73 3a 2f 2f :geturl https://
4aa0: 77 77 77 2e 74 63 6c 2e 74 6b 2f 5d 0a 3c 2f 63 www.tcl.tk/].</c
4ab0: 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 3c 62 72 3e ode></pre>..<br>
4ac0: 0a 3c 68 33 3e 3c 61 20 6e 61 6d 65 3d 22 53 50 .<h3><a name="SP
4ad0: 45 43 49 41 4c 22 3e 53 50 45 43 49 41 4c 20 43 ECIAL">SPECIAL C
4ae0: 4f 4e 53 49 44 45 52 41 54 49 4f 4e 53 3c 2f 61 ONSIDERATIONS</a
4af0: 3e 3c 2f 68 33 3e 0a 0a 3c 70 3e 54 68 65 20 63 ></h3>..<p>The c
4b00: 61 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 74 apabilities of t
4b10: 68 69 73 20 70 61 63 6b 61 67 65 20 63 61 6e 20 his package can
4b20: 76 61 72 79 20 65 6e 6f 72 6d 6f 75 73 6c 79 20 vary enormously
4b30: 62 61 73 65 64 20 75 70 6f 6e 20 68 6f 77 20 79 based upon how y
4b40: 6f 75 72 0a 4f 70 65 6e 53 53 4c 20 6c 69 62 72 our.OpenSSL libr
4b50: 61 72 79 20 77 61 73 20 63 6f 6e 66 69 67 75 72 ary was configur
4b60: 65 64 20 61 6e 64 20 62 75 69 6c 74 2e 20 4e 65 ed and built. Ne
4b70: 77 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 6f w versions may o
4b80: 62 73 6f 6c 65 74 65 20 6f 6c 64 65 72 0a 63 69 bsolete older.ci
4b90: 70 68 65 72 73 2c 20 64 69 67 65 73 74 73 2c 20 phers, digests,
4ba0: 4d 41 43 73 2c 20 65 74 63 2e 20 6f 72 20 63 68 MACs, etc. or ch
4bb0: 61 6e 67 65 20 64 65 66 61 75 6c 74 20 76 61 6c ange default val
4bc0: 75 65 73 2e 20 55 73 65 20 74 68 65 0a 69 6e 66 ues. Use the.inf
4bd0: 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 6f 62 o commands to ob
4be0: 74 61 69 6e 20 74 68 65 20 73 75 70 70 6f 72 74 tain the support
4bf0: 65 64 20 76 61 6c 75 65 73 2e 3c 2f 70 3e 0a 3c ed values.</p>.<
4c00: 62 72 3e 0a 0a 3c 70 72 65 3e 0a 43 6f 70 79 72 br>..<pre>.Copyr
4c10: 69 67 68 74 20 26 63 6f 70 79 3b 20 32 30 32 33 ight © 2023
4c20: 20 42 72 69 61 6e 20 4f 27 48 61 67 61 6e 2e 0a Brian O'Hagan..
4c30: 3c 2f 70 72 65 3e 0a 3c 2f 62 6f 64 79 3e 0a 3c </pre>.</body>.<
4c40: 2f 68 74 6d 6c 3e 0a /html>.