/T=0
// select 
00 A4 04 00 06 01 02 03 04 07 00
//AdmPIN
0020 0001 08 30 30 30 30 30 30 30 30

// ESK= Extract(0,IKM) P1=FF (echo all keys)
00 85 FF 0A 23 01 00 20 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
//23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897
//98EEAA27F7D77499E5FBC63A413CD8C395CAE42D850B65A5AE6A63807368A3F5
//4B6B423D2B92D840CC9A1A30D457BC5A4B10918587BBFF96380E91CE20A5FA2C
//120FA722EC0520CFFE1391F08F00243FF316F6EE8B0BCFC5A9E0B15C734C7ECF

// DSK =   Derive-Secret(ESK, "derived", "")
0085 0002 34 20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 12 0020 0d 746c7331332064657269766564 00 01
//98EEAA27F7D77499E5FBC63A413CD8C395CAE42D850B65A5AE6A63807368A3F5 

// eBSK= Derive-Secret_Early(ESK, "ext binder", "")
0085 0002 37 20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 15 0020 10 746c733133206578742062696e646572 00 01
//4B6B423D2B92D840CC9A1A30D457BC5A4B10918587BBFF96380E91CE20A5FA2C

// rBSK=  Derive-Secret_Early(ESK,  "res binder", ""
0085 0002 37 20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 15 0020 10 746c733133207265732062696e646572 00 01
//120FA722EC0520CFFE1391F08F00243FF316F6EE8B0BCFC5A9E0B15C734C7ECF

// Extract(DSK,DHE) = HMAC(DHE,DSK)
0085 0002 23 01 00 20 98EEAA27F7D77499E5FBC63A413CD8C395CAE42D850B65A5AE6A63807368A3F5
//3074777017FA405DB00BF0F4E24E5A3E0A5F8CE357472BEA4F442D7754E13BF2

// HMAC(eBSK,data) = HMAC(eBSK, 0s)
0085 0002 23 20 4B6B423D2B92D840CC9A1A30D457BC5A4B10918587BBFF96380E91CE20A5FA2C 01 00
//D799BD1B21BC4B63CE8676E7C2C0945EC6FA74A8D8124E223D2EAD9DDBCA7DF5

// HMAC(rBSK,data) = HMAC(eBSK, 0s)
0085 0002 23 20  120FA722EC0520CFFE1391F08F00243FF316F6EE8B0BCFC5A9E0B15C734C7ECF 01 00
//3C9B00C86B21A4C78DFC85705B0CCB3410F6989106C4BA1D97F21815CA5852FB

// Derive-Secret_Early(ESK,"c e traffic", 0s)
0085 0002 38  20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 16 0020 11746c733133206320652074726166666963 00 01
// Derive-Secret(ESK,"c e traffic", 0s)
0085 000B 03 0020 00
//0738A2B6F6FAA2AF5CDD9B6F0F2B232F19B3256A5926EAC600B911F91E98D2D4

// Derive-Secret(ESK,"e exp master", 0s)
0085 0002 39  20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 17 0020 12746c733133206520657870206d6173746572 00 01
// Derive-Secret(ESK,"e exp master", 0s)
0085 010B 03 0020 00
// 9B7FC6A8F854C16A301DFC566859931DB5EE9A22793142A0C67159C445E7BEAB

// Extract(DSK,DHE) = HMAC(DHE,DSK)
0085 000E 41 DH 045ea1ed2b12d16706aff7dbd964040434b1e160a2b851b787e37c5edeb866edf1a860a49a4faa5b4b2d19f70d6740aa767688c46962bc6b0345a2f7c1be36efa0
//

// ESK= HMAC(0,IKM)
00 85 00 02 23 01 00 20 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
// 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897

// eBSK= Derive-Secret_Early(ESK, "ext binder", "") = ""= SHA256(NULL)
// Null sha256 E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
0085 0002 57 20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 35  0020 10 746c733133206578742062696e646572 20 E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 01
//4351F8A53AA85AC394AB04C516464CAB96E9340C269632D09899537887EE651F

// DSK =   Derive-Secret(ESK, "derived", "")
0085 0002 54 20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 32 0020 0d 746c7331332064657269766564 20 E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855  01
// E8E7AC087158FC8440E41A12989F9194783764CD5FC36564028037F2C8206E96 

// FSK   "tls13 finished"   H(BSK, info)
0085 0002 35 20 4351F8A53AA85AC394AB04C516464CAB96E9340C269632D09899537887EE651F  13 0020 0E 746C7331332066696E6973686564 00 01
// FCA24690D17DDE3F727D29D2186A5F83E1AEBD4889A4841793139168A65BFCB0

0085 0002 42 20 FCA24690D17DDE3F727D29D2186A5F83E1AEBD4889A4841793139168A65BFCB0 20 C0C27BBFDBAF30C5888732734BCE1B47E3F14FAA4BE578A25BD81BBDE2D2B1FA
//BuildTls13HandshakeHmac
//Key FCA24690D17DDE3F727D29D2186A5F83E1AEBD4889A4841793139168A65BFCB0
//DataC0C27BBFDBAF30C5888732734BCE1B47E3F14FAA4BE578A25BD81BBDE2D2B1FA
//Result 811ABCE77E614232741AE2F59E0497E8801D31D7388577FAED73EF63BD1B6791

/ MAC(feBSK,Os)
0085 000C 20 C0C27BBFDBAF30C5888732734BCE1B47E3F14FAA4BE578A25BD81BBDE2D2B1FA
//811ABCE77E614232741AE2F59E0497E8801D31D7388577FAED73EF63BD1B6791

//Extract
//salt (32) E8E7AC087158FC8440E41A12989F9194783764CD5FC36564028037F2C8206E96
//inkey (32) 97C3CF6C99EA9840D2E35F0AE684C97A2B4B68D5F8196C0C1D0C85E2F8BF43AB
//noutkey (32)98F057EE0CC6C17E27983B9C2019111AE1E440517863C803030877139C047BDE

// Extract(DSK,DHE) = HMAC(DSK,DHE)
 0085 0002 42 20 E8E7AC087158FC8440E41A12989F9194783764CD5FC36564028037F2C8206E96   20 97C3CF6C99EA9840D2E35F0AE684C97A2B4B68D5F8196C0C1D0C85E2F8BF43AB 
// HMAC(DSK,DHE) = Extract(salt=DSK,DHE)
0085 000E 20 97C3CF6C99EA9840D2E35F0AE684C97A2B4B68D5F8196C0C1D0C85E2F8BF43AB
//98F057EE0CC6C17E27983B9C2019111AE1E440517863C803030877139C047BD

// Derive-Secret_Early(ESK,"c e traffic", 0s)
0085 0002 38  20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 16 0020 11746c733133206320652074726166666963 00 01
// Derive-Secret(ESK,"c e traffic", 0s)
0085 000B 03 0020 00
//0738A2B6F6FAA2AF5CDD9B6F0F2B232F19B3256A5926EAC600B911F91E98D2D4

// Derive-Secret(ESK,"e exp master", 0s)
0085 0002 39  20 23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897 17 0020 12746c733133206520657870206d6173746572 00 01
// Derive-Secret(ESK,"e exp master", 0s)
0085 010B 03 0020 00
// 9B7FC6A8F854C16A301DFC566859931DB5EE9A22793142A0C67159C445E7BEAB

// Extract(DSK,DHE) = HMAC(DSK,DHE)
0085 0002 23 20 E8E7AC087158FC8440E41A12989F9194783764CD5FC36564028037F2C8206E96 01 00 
//

// HMAC(DSK,DHE) = Extract(salt=DSK,DHE)
0085 000E 01 00
//7092C2117D67E6AEB5C5FDF5E6D9C70FBDC69B374E914C26AB08A122483D0E73
0085 0002 23 20 FCA24690D17DDE3F727D29D2186A5F83E1AEBD4889A4841793139168A65BFCB0 01 00

// Set Key 0
// P2=Key index
// Clear Key 0
00 81 00 00 00
// init curve #1 = SECP256v1 index=0
00 89 01 00 00
Set Private Key
00 88 07 00 20 2e86bdd6d3b241ddbd00999f6a0ac1cb546d2bfb55744dca40f0268ac2bf7338
// SET Pub Key
00 88 06 00 41 045c8c90d0859dd96c722a589c4b62047ff01323cc74383e0e8eb80bea4ea45e55b85499abd39d719885e874ed3f6327960d519ba25423c3fbdc14e6fd0cd5edee
// A
00 84 00 00 00
// B
00 84 01 00 00
// P
00 84 02 00 00
// G
00 84 03 00 00
// CoFactor
00 84 04 00 00
// Order
00 84 05 00 00
// Public Key
00 84 06 00 00
// Private Key
00 84 07 00 00
// ECSDA
00 80 00 00 20 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF


// Set Key 1, 
// P2=Key index
// Clear Key 1
00 81 00 01 00
// init curve #1 = SECP256v1 index=P2=01
00 89 01 01 00
//Set Private Key
00 88 07 01 20     44339F299B09AD743B9F69D33654057CA50419D64FCC8235FB3C5D862569D69C
// SET Pub Key  
00 88 06 01 41    04 F0C2A4942AB1AA0F4A4558E23F5CD1F0BC7A1544D12E32EA674FE5E542B5049340C59A83878C9DA5E69B8F7DCA785CADFDF03D26A5DEB8C1D5BB9C26C36F4341
// Get Public Key
00 84 06 01 00
// Get Private Key
00 84 07 01 00
// ECDHE
00 8A 00 01 41 04 38 a0 70 80 aa 63 50 a2 c2 84 29 e8 21 1a 84 0a 2c ed 57 56 06 fb 1c e0 b3 6b 23 e2 53 77 c5 78 be ea 2f e7 47 d4 22 e7 da 35 24 d8 ed 5e 02 2d 1b ea 9f b3 2f 20 2b ff 91 b8 2d 6c 91 f6 16 64
// C17ACEA9DEFFB7E537312678464E7538640B893A4CFBF7807D9DFA96D9180838

// Set Key 2
// P2=Key index
// Clear Key2
00 81 00 02 00
// init curve #1 = SECP256v1 index=P2=02
00 89 01 02 00
Set Private Key
00 88 07 02 20  CFEBA5FB779C84ED89EF364B892E916F52CE6BC20F3A856129EEDE4D1D07BDCB

// SET Pub Key  
// 00 88 06 01 41  04 53BE85407095469C2E156EC836551DCF48F6A7BFD3CE52A953CEF4C4B077104B91664C91EA7B5E3CFF11042E7C37B7D599C364DC3293B085CCE11F0549AEA044
00 88 06 02 41     04 37232040741008CF078D96BC8EAFC76365FC6A98AF30203B6022739813677FA26C1E014A5F8CFA67DD0DB7F97B912023B86063E3B9BEADC95D9F1C9CCD1209B6

// Get Public Key
00 84 06 02 00
// Get Private Key
00 84 07 02 00

// ECDHE
00 8A 00 02 41 04 c4 b5 f7 68 2c 37 4a ad 1c 91 25 c2 f2 25 d3 43 a8 98 6c 8e 0a 47 5e 40 03 f6 c9 8d a1 3f 99 9e 80 a5 5e 66 f0 64 4e 84 f7 f6 50 36 15 b9 ec 4c b7 c2 84 4a f6 be 7f 90 91 bf 31 9b 02 91 a2 d8
// 8B839DB52921691649162936A7AFCE0CD13C338B441E33144CCD308EB5D8BA9C


// Certificate for key index=0 (serververt)
00D0 0000 20 30820202308201A7A00302010202147400F8EDCCA6F99D762483BDB3D672D6D9
00D0 0020 20 E5FA5C300A06082A8648CE3D040302308194310B300906035504061302465231
00D0 0040 20 0F300D06035504080C064672616E6365310E300C06035504070C055061726973
00D0 0060 20 31133011060355040A0C0A45746865725472757374310D300B060355040B0C04
00D0 0080 20 546573743114301206035504030C0B50617363616C557269656E312A30280609
00D0 00A0 20 2A864886F70D010901161B70617363616C2E757269656E406574686572747275
00D0 00C0 20 73742E636F6D301E170D3230303632383139313630395A170D32383039313431
00D0 00E0 20 39313630395A305D310B30090603550406130246523114301206035504080C0B
00D0 0100 20 496C6544654672616E6365310E300C06035504070C0550617269733117301506
00D0 0120 20 0355040A0C0E657468657274727573742E636F6D310F300D06035504030C0653
00D0 0140 20 65727665723059301306072A8648CE3D020106082A8648CE3D03010703420004
00D0 0160 20 5C8C90D0859DD96C722A589C4B62047FF01323CC74383E0E8EB80BEA4EA45E55
00D0 0180 20 B85499ABD39D719885E874ED3F6327960D519BA25423C3FBDC14E6FD0CD5EDEE
00D0 01A0 20 A30D300B30090603551D1304023000300A06082A8648CE3D0403020349003046
00D0 01C0 20 022100D116A585CEF2A37A9EE073FEDC4C06DB6731C9C405C6A065F802BA2AD9
00D0 01E0 20 16FFBC022100ACEA0C98CC66F50207A0D8FD6B7E35C7AA505FE80E4AA1E59871
00D0 0200 06 056D107DD76F


//RAND
00 8B 00 00 20
// DHE
00 8A 01 FF 41 04 c4 b5 f7 68 2c 37 4a ad 1c 91 25 c2 f2 25 d3 43 a8 98 6c 8e 0a 47 5e 40 03 f6 c9 8d a1 3f 99 9e 80 a5 5e 66 f0 64 4e 84 f7 f6 50 36 15 b9 ec 4c b7 c2 84 4a f6 be 7f 90 91 bf 31 9b 02 91 a2 d8
// INFO  2FC0...2FC3
// adr MSB LSB size MSB LSB
// 00 D0 2FC0 04 1234 5678
// 00 8C 00 00 04
// 00 D0 2FC0 04 0000 0206
// 00 8C 00 00 04
// get pubkey
00 84 06 FF 43
// get priv
00 84 07 FF 22

// ESK= HMAC(0,IKM)
00 85 00 02 23 01 00 20 0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 

//23499E7EDF0FBE6BAA137DF0F23BECAEFA722AD19FC262855409DE8CD8B3C897
/Q
