From 775922ba2fd66dd9b878dcb2be17d48a83b63986 Mon Sep 17 00:00:00 2001 From: Hendrik Eeckhaut Date: Mon, 2 Jun 2025 12:28:45 +0200 Subject: [PATCH] Fixed tests --- rs/0.1.0-alpha.11/src/example.json | 4 ++-- rs/0.1.0-alpha.11/src/lib.rs | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/rs/0.1.0-alpha.11/src/example.json b/rs/0.1.0-alpha.11/src/example.json index 0f74d6a..a3c42a5 100644 --- a/rs/0.1.0-alpha.11/src/example.json +++ b/rs/0.1.0-alpha.11/src/example.json @@ -1,8 +1,8 @@ { "version": "0.1.0-alpha.11", - "data": "01400000000000000021b1b77ff8c9f0e28cf0aaa2e8c824e4a4f146a5896f10de6e53cfeccba3412f3aad822b73370be9b997cbd0832cf4b5fbfdeab33ab6799c75d687f8bfef06dcfca989c81fe4345f92b67273a378d2dd0000000002200000000000000056ed73e663d345ad0df4c33dd878fd49b579088ddd693ec97e6860f50670694200000000012100000000000000037b48f19c139b6888fb5e383a4d72c2335186fd5858e7ae743ab4bf8e071b06e701000000778b05670000000000000000a30200006106000002000000000000004100000000000000043a2881152cf86e62431253b05f11fde5d995d8cab1048c966c431d8c425658b8c01164dd25a3e4f2e268fade3a6d7e6f3228ad11417c6e3d697b84efbce2559e03000000022000000000000000da0d710921cf0d38286b59aee676b6ba4a44fce95ded7a9dfb3b77b3e8ca86e90104000000022000000000000000722b8718c5518dde88dd4afee4961e20eaf16fd01e227956627d5675ce0be23020000000000000000da44bbe90a1a6498fca3e5d48978b2de1729faf09d9f72c2e46d9491c6ad53c00000000000000000205000000000000000000000000000000010b000000000000006578616d706c652e636f6d020000000000000072070000000000003082076e30820656a0030201020210075bcef30689c8addf13e51af4afe187300d06092a864886f70d01010b05003059310b300906035504061302555331153013060355040a130c446967694365727420496e63313330310603550403132a446967694365727420476c6f62616c20473220544c532052534120534841323536203230323020434131301e170d3234303133303030303030305a170d3235303330313233353935395a308196310b3009060355040613025553311330110603550408130a43616c69666f726e6961311430120603550407130b4c6f7320416e67656c657331423040060355040a0c39496e7465726e6574c2a0436f72706f726174696f6ec2a0666f72c2a041737369676e6564c2a04e616d6573c2a0616e64c2a04e756d62657273311830160603550403130f7777772e6578616d706c652e6f726730820122300d06092a864886f70d01010105000382010f003082010a028201010086850fbb0ef9ca5fd9f5e00a322c33d9aa0e0729a82f08ad78bdc206bff72d2ba6a7273d53a64cc34bb2277720d6c15449b808daf970a961f6b2499d6957dafb6d2434722e47f0043f9db15be2bc66315932e6a97ebfd4b0d464f56bca7bff725b5e9ad83fd406b2f3c8dc8f665a468466a8181579a708ce053cfb3989ef6dfa4e71527bb7e4a0a49c96c0613da40a704dc38ecd6eb3326cf2c7440904dda055fd23a52078b2855ed83bad17ff85c5b9748d33b9b8576eb5bc6965db0b3c925599f473b46424ca674c2899ccdc673d79c7169c2be6abaaaa357237f6812a48e83f4e199abf9e46aa3293ffa5b25ab4b12f1e6984921db0b98daff2316c9586f30203010001a38203f2308203ee301f0603551d23041830168014748580c066c7df37decfbd2937aa031dbeedcd17301d0603551d0e041604144cfed0124d2e21cf6bfaf2f2b84c49021d31918a3081810603551d11047a3078820f7777772e6578616d706c652e6f7267820b6578616d706c652e6e6574820b6578616d706c652e656475820b6578616d706c652e636f6d820b6578616d706c652e6f7267820f7777772e6578616d706c652e636f6d820f7777772e6578616d706c652e656475820f7777772e6578616d706c652e6e6574303e0603551d20043730353033060667810c0102023029302706082b06010505070201161b687474703a2f2f7777772e64696769636572742e636f6d2f435053300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b0601050507030230819f0603551d1f0481973081943048a046a0448642687474703a2f2f63726c332e64696769636572742e636f6d2f4469676943657274476c6f62616c4732544c53525341534841323536323032304341312d312e63726c3048a046a0448642687474703a2f2f63726c342e64696769636572742e636f6d2f4469676943657274476c6f62616c4732544c53525341534841323536323032304341312d312e63726c30818706082b06010505070101047b3079302406082b060105050730018618687474703a2f2f6f6373702e64696769636572742e636f6d305106082b060105050730028645687474703a2f2f636163657274732e64696769636572742e636f6d2f4469676943657274476c6f62616c4732544c53525341534841323536323032304341312d312e637274300c0603551d130101ff040230003082017d060a2b06010401d6790204020482016d0482016901670074004e75a3275c9a10c3385b6cd4df3f52eb1df0e08e1b8d69c0b1fa64b1629a39df0000018d5bd2fc640000040300453043021f40510a0c4f6c1055c61716676e9af0909ef373f5259eb09afe7a1ac55cc8c00220382931b128e472484d344f9e8c93e261bc70bad68c4be172151d11c594ba4d530076007d591e12e1782a7b1c61677c5efdf8d0875c14a04e959eb9032fd90e8c2e79b80000018d5bd2fc30000004030047304502205dbf9677a5915b7e0a0cded1a909333767104c42cc414527534ba77c77634073022100b2e8093f664cc37d3b21732015793245d52f2b937f6380cc039aeddf31d87e97007700e6d2316340778cc1104106d771b9cec1d240f6968486fbba87321dfd1e378e500000018d5bd2fc5f0000040300483046022100e0aa21fd58b3750535b636761365468164975e4c2742689886601e29c54b1de0022100fb248185b1d1a897b92cb36a5ee2562b0a03d573e886664baa9e3dba86a86bd1300d06092a864886f70d01010b0500038201010004e16e023e0de32346f4e3963505933522020b845de27386d4744ffc1b27af3ecaadc3ce46d6fa0fe271f90d1a9a13b7d50848bd5058b35e20638629ca3ecccc7826e1598f5dca8bbc49316f61bd42ff6162e1223524269b57ebe5000dff40336c46c233770898b27af643f96d48dfbffefa281e7b8acf2d61ff6c8798a42c629abb108cff34487066b76d72c369f9394b683956bda1b36df477f3465b5c19ac4fb3746b8cc5f189cc93fe0c016f8817dc427160e3ed7330429ca92f3ba2788ec86fbad1130cd0c75e8c10fb012e379bdbacf7a1acba7ff892e7cb4144c815f9f3c4bbad515fbedec7ac86079f40ecb90bf6b28bccb5553366ba33c2c4f0a2e9cc04000000000000308204c8308203b0a00302010202100cf5bd062b5602f47ab8502c23ccf066300d06092a864886f70d01010b05003061310b300906035504061302555331153013060355040a130c446967694365727420496e6331193017060355040b13107777772e64696769636572742e636f6d3120301e06035504031317446967694365727420476c6f62616c20526f6f74204732301e170d3231303333303030303030305a170d3331303332393233353935395a3059310b300906035504061302555331153013060355040a130c446967694365727420496e63313330310603550403132a446967694365727420476c6f62616c20473220544c53205253412053484132353620323032302043413130820122300d06092a864886f70d01010105000382010f003082010a0282010100ccf710624fa6bb636fed905256c56d277b7a12568af1f4f9d6e7e18fbd95abf260411570db1200fa270ab557385b7db2519371950e6a41945b351bfa7bfabbc5be2430fe56efc4f37d97e314f5144dcba710f216eaab22f031221161699026ba78d9971fe37d66ab75449573c8acffef5d0a8a5943e1acb23a0ff348fcd76b37c163dcde46d6db45fe7d23fd90e851071e51a35fed4946547f2c88c5f4139c97153c03e8a139dc690c32c1af16574c9447427ca2c89c7de6d44d54af4299a8c104c2779cd648e4ce11e02a8099f04370cf3f766bd14c49ab245ec20d82fd46a8ab6c93cc6252427592f89afa5e5eb2b061e51f1fb97f0998e83dfa837f4769a10203010001a38201823082017e30120603551d130101ff040830060101ff020100301d0603551d0e04160414748580c066c7df37decfbd2937aa031dbeedcd17301f0603551d230418301680144e2254201895e6e36ee60ffafab912ed06178f39300e0603551d0f0101ff040403020186301d0603551d250416301406082b0601050507030106082b06010505070302307606082b06010505070101046a3068302406082b060105050730018618687474703a2f2f6f6373702e64696769636572742e636f6d304006082b060105050730028634687474703a2f2f636163657274732e64696769636572742e636f6d2f4469676943657274476c6f62616c526f6f7447322e63727430420603551d1f043b30393037a035a0338631687474703a2f2f63726c332e64696769636572742e636f6d2f4469676943657274476c6f62616c526f6f7447322e63726c303d0603551d2004363034300b06096086480186fd6c02013007060567810c01013008060667810c0102013008060667810c0102023008060667810c010203300d06092a864886f70d01010b0500038201010090f170cb289769977c74fdc0fa267b53abadcd65fdba9c069c8ad75a4387ed4d4c565fadc1c5b505202e59d1ff4af5a02ad8b095adc92e4a3bd7a7f66f8829fc303f2484bbc3b77b93072caf876b7633ed005552b2599ee4b9d0f3dfe70ffeddf8c4b910728109045fcf979e2e32758ecf9a58d257317e370181b2666d291ab166096dd16e90f4b9fa2f0114c55c566401d97d87a838539f8b5d466d5cc6278481d47e8c8ca39b52e7c688ec377c2afbf0555a387210d80013cf4c73dbaa3735a82981699c76bcde187b90d4cacfef6703fd045a2116b1ffea3fdfdc82f5ebf45992230d242a95254ccaa191e6d4b7ac8774b3f16da399dbf9d5bd84409f0798080000000001000000000000593a8d3e933a966d61b5b34d1b87af8be52127434b5df7da91ae0e59295cee18ab518e82d714bbfc61725c2ef4084e7f43ba3f01031ea783b610f1429507a9f3184e5eeaef332901ccbe295950604eaeb58e4769e08e89a3d3d82bfcc0c24e7181f75e9b06646c07f0a1d7861ba113ec11bc52b42f31f298aa57f2f205c451aff10411bff6cd35c1a9c202e39ebad423805927e7ccff2e83aa9be9a18960284f2bfe72bfd7d4f50a4e0c6d042d4b13a8155fe644770a2b9cfd94ed76d41025454c3865980aec5c9c3434f67bc2f154421434d0861fce01bd22baad11a30f184f4ed85cea7d3e678b0042c4587049b8e2c1313d917c488b28b72ef5834dbac25e0000000092d3f71946278dcea868b20724e90de7148735191f33b7ca65a0cfb80ebec7e2e3ba91c786b389bdbf88a9d7b5071d7992aac29658d00b44444f574e47524401000000004100000000000000043a2881152cf86e62431253b05f11fde5d995d8cab1048c966c431d8c425658b8c01164dd25a3e4f2e268fade3a6d7e6f3228ad11417c6e3d697b84efbce2559e4e6c97ead202c4fea77c17168787ffd60101020d0000000000000000000000000000000d0000000000000006000000000000000000000001000000000000001a010000000000001c0100000000000002000000000000000d0a46fb1875c39ff48f2d428d27d870ca9c08000000000000000000000001000000000000009a010000000000009c0100000000000002000000000000000d0a4b388030db3f14b95acd3ea206213c690900000000000000000000000100000000000000e700000000000000e90000000000000002000000000000000d0a7adef7b94b014273413b33a9322609c905000000000000000000000001000000000000003401000000000000360100000000000002000000000000000d0a1969af263bb73ef17d2d80d5b926f757070000000000000000000000010000000000000052010000000000006f010000000000001d000000000000000d0a6163636570742d656e636f64696e673a206964656e746974790d0a7c5cb4c3301f9c33a2c56842546f1cc104000000000000000000000001000000000000000000000000000000360000000000000036000000000000004745542068747470733a2f2f6578616d706c652e636f6d2f20485454502f312e310d0a686f73743a206578616d706c652e636f6d0d0afac8a36f0c7372956659c0cca8acfe100300000000000000000000000100000000000000d100000000000000d30000000000000002000000000000000d0aa12e52744b7ab6ed44d70a6b1d29cd8e0b00000000000000000000000100000000000000e701000000000000fc0100000000000015000000000000000d0a636f6e6e656374696f6e3a20636c6f73650d0a822089fd0314144af586b72540dbab170a000000000000000000000001000000000000000401000000000000060100000000000002000000000000000d0a9ab3fc2f6b25a1fa816445ea96645e1502000000000000000000000001000000000000009f02000000000000a30200000000000004000000000000000d0a0d0abce275bfa19e08e3cebcafad315f81e20000000000000000010000000100000000000000000000000000000061060000000000006106000000000000485454502f312e3120323030204f4b0d0a4163636570742d52616e6765733a2062797465730d0a4167653a203433353638320d0a43616368652d436f6e74726f6c3a206d61782d6167653d3630343830300d0a436f6e74656e742d547970653a20746578742f68746d6c3b20636861727365743d5554462d380d0a446174653a205475652c203038204f637420323032342031393a34333a353420474d540d0a457461673a2022333134373532363934372b677a6970220d0a457870697265733a205475652c203135204f637420323032342031393a34333a353420474d540d0a4c6173742d4d6f6469666965643a205468752c203137204f637420323031392030373a31383a323620474d540d0a5365727665723a20454341636320286463642f37443541290d0a566172793a204163636570742d456e636f64696e670d0a582d43616368653a204849540d0a436f6e74656e742d4c656e6774683a20313235360d0a436f6e6e656374696f6e3a20636c6f73650d0a0d0a3c21646f63747970652068746d6c3e0a3c68746d6c3e0a3c686561643e0a202020203c7469746c653e4578616d706c6520446f6d61696e3c2f7469746c653e0a0a202020203c6d65746120636861727365743d227574662d3822202f3e0a202020203c6d65746120687474702d65717569763d22436f6e74656e742d747970652220636f6e74656e743d22746578742f68746d6c3b20636861727365743d7574662d3822202f3e0a202020203c6d657461206e616d653d2276696577706f72742220636f6e74656e743d2277696474683d6465766963652d77696474682c20696e697469616c2d7363616c653d3122202f3e0a202020203c7374796c6520747970653d22746578742f637373223e0a20202020626f6479207b0a20202020202020206261636b67726f756e642d636f6c6f723a20236630663066323b0a20202020202020206d617267696e3a20303b0a202020202020202070616464696e673a20303b0a2020202020202020666f6e742d66616d696c793a202d6170706c652d73797374656d2c2073797374656d2d75692c20426c696e6b4d616353797374656d466f6e742c20225365676f65205549222c20224f70656e2053616e73222c202248656c766574696361204e657565222c2048656c7665746963612c20417269616c2c2073616e732d73657269663b0a20202020202020200a202020207d0a20202020646976207b0a202020202020202077696474683a2036303070783b0a20202020202020206d617267696e3a2035656d206175746f3b0a202020202020202070616464696e673a2032656d3b0a20202020202020206261636b67726f756e642d636f6c6f723a20236664666466663b0a2020202020202020626f726465722d7261646975733a20302e35656d3b0a2020202020202020626f782d736861646f773a20327078203370782037707820327078207267626128302c302c302c302e3032293b0a202020207d0a20202020613a6c696e6b2c20613a76697369746564207b0a2020202020202020636f6c6f723a20233338343838663b0a2020202020202020746578742d6465636f726174696f6e3a206e6f6e653b0a202020207d0a20202020406d6564696120286d61782d77696474683a20373030707829207b0a2020202020202020646976207b0a2020202020202020202020206d617267696e3a2030206175746f3b0a20202020202020202020202077696474683a206175746f3b0a20202020202020207d0a202020207d0a202020203c2f7374796c653e202020200a3c2f686561643e0a0a3c626f64793e0a3c6469763e0a202020203c68313e4578616d706c6520446f6d61696e3c2f68313e0a202020203c703e5468697320646f6d61696e20697320666f722075736520696e20696c6c757374726174697665206578616d706c657320696e20646f63756d656e74732e20596f75206d61792075736520746869730a20202020646f6d61696e20696e206c69746572617475726520776974686f7574207072696f7220636f6f7264696e6174696f6e206f722061736b696e6720666f72207065726d697373696f6e2e3c2f703e0a202020203c703e3c6120687265663d2268747470733a2f2f7777772e69616e612e6f72672f646f6d61696e732f6578616d706c65223e4d6f726520696e666f726d6174696f6e2e2e2e3c2f613e3c2f703e0a3c2f6469763e0a3c2f626f64793e0a3c2f68746d6c3e0a387caa8dc93aab35054f80b500bef6eb0c000000000000000000000001000000000000008b020000000000008d0200000000000002000000000000000d0a076e02bb403c9fe7d62a6110b73198340100000000000000000000000100000000000000b700000000000000b90000000000000002000000000000000d0a2f64344856a64aecbc9e8081e51e042c0000000000000000", + "data": "014000000000000000b0098ca39b2c80085ef677b67b38fdacf6e1572d83d360d5cfd3fd46d16a89ab479b6a52346ea530cd763f51e6320a8efeedf6af9a91cac94755a6eb96287adae4d60fcf1cadd5fd17bf8b5dcbb10fde00000000022000000000000000199653c5bbc0519d06dada67718d1a0514e0cf23a0dcf286523ab11b826e4d3800000000012100000000000000030da85d8da9b3436500e52d60f2c15c7605ed9f05953d02294a5ba0b5b9281a9a0100000096b536680000000000000000f4000000130600000200000000000000410000000000000004f885ed8a8d7fd6fd3a18176f8bcaa3831ab2b4c6d5373ce0023aac7bf41d4dc4b0e62f6eb925fd14567cf2e8a3615015e7ea63e8ed24db2bd350a3b45cafa6ea03000000022000000000000000d755aeded66861fc534828213198e2483ef90e09166f71c318d38a02a9a9cda500000000000000000100000000000000040000000000000002200000000000000092687333a61907987e3458bc6c67aabba4abbe3cf0d105e9d943830758e5f61121ba07327eccfc647e610d08926b7781b58c54d336cd820460b622915df2f3d7bd51bf6e25c5a19f68de0536337714ca02050000000000000000000000000000000119000000000000007261772e67697468756275736572636f6e74656e742e636f6d03000000000000008906000000000000308206853082056da0030201020211009077344147316ef99599767aeafdf1b9300d06092a864886f70d01010b050030818f310b3009060355040613024742311b30190603550408131247726561746572204d616e636865737465723110300e0603550407130753616c666f726431183016060355040a130f5365637469676f204c696d69746564313730350603550403132e5365637469676f2052534120446f6d61696e2056616c69646174696f6e2053656375726520536572766572204341301e170d3235303330373030303030305a170d3236303330373233353935395a30163114301206035504030c0b2a2e6769746875622e696f30820122300d06092a864886f70d01010105000382010f003082010a0282010100c4a40b1255662582a767d76628c5ab6f87f2e015859bae7c1107a64b884982bb7ed4d1692f6b4655a16ea55c95def98aa2b097df37a373bfa01fc520a5e9a68fdaf9b64d4d6744975c02d38ef4f68b4de84aa8f00b3927f91d68d13620f86ecfc90e69135f0013e2b7554729721d5fe51c814c4bc4e3e1d4838ffa3a90086055739c9df293c6be6e8d62fc7069d8c6ed3f3b2c4a54fc98f2d8efa4844ed29dc2021d63dd4c913889775c742890ccd863ca33ba4d4dcf3534c4b0e96073b318383c56d1f81098f36fec62ef22332fc0758714cfbda18760c65e7572a73cd5fcb2e027f5403f99be99dd25547e4a206fdc76e0eb6a39682d0e0b28992d3b8566c10203010001a38203523082034e301f0603551d230418301680148d8c5ec454ad8ae177e99bf99b05e1b8018d61e1301d0603551d0e0416041412f07ed0316fe4af35b589fb42d9edb70b93cd04300e0603551d0f0101ff0404030205a0300c0603551d130101ff04023000301d0603551d250416301406082b0601050507030106082b0601050507030230490603551d20044230403034060b2b06010401b231010202073025302306082b06010505070201161768747470733a2f2f7365637469676f2e636f6d2f4350533008060667810c01020130818406082b0601050507010104783076304f06082b060105050730028643687474703a2f2f6372742e7365637469676f2e636f6d2f5365637469676f525341446f6d61696e56616c69646174696f6e53656375726553657276657243412e637274302306082b060105050730018617687474703a2f2f6f6373702e7365637469676f2e636f6d3082017e060a2b06010401d6790204020482016e0482016a0168007600969764bf555897adf743876837084277e9f03ad5f6a4f3366e46a43f0fcaa9c6000001956decac750000040300473045022100f98220b00a9bd9ca9056517824fd844485421f7457741ec38c83dce8287968ae022078ea52857b1793247dc210726767ed9e5447c9d8b4f03638bbd873798215c2ee0077001986d4c728aa6ffeba036f782a4d0191aace2d72310faece5d70412d254cc7d4000001956decac0e00000403004830460221008ebc806d7947b178ffbf87fb0965c9cc3517494baf0399111f776887858f5107022100be9e88c2aa10a7fd9ba96e7239d0ed53dc548a050bbf2ce677ddf029ccb25685007500cb38f715897c84a1445f5bc1ddfbc96ef29a59cd470a690585b0cb14c31458e7000001956decac37000004030046304402204bdf0bd43d96f27cd5ded210d11e14256c70c5bec8fd34fa7bd972d2703442c002205a65eecfd6035426cf5566f19b62868345b9b3bf02289a54669e0d08b39c7142307b0603551d1104743072820b2a2e6769746875622e696f820c2a2e6769746875622e636f6d82172a2e67697468756275736572636f6e74656e742e636f6d820a6769746875622e636f6d82096769746875622e696f821567697468756275736572636f6e74656e742e636f6d820e7777772e6769746875622e636f6d300d06092a864886f70d01010b05000382010100792c8d3542a6d5bd0ad6c15eefbb2767030e6291cff100914c8e36ea233a72a82377767f90d00e4ab3bbf8128fa076f183b76b8118164b6fc2adca9d702ef4acd23357a1961b4097196f8e3194817beec7b0e39c11f8d08b4a884ef6de8a5e5956e6d961317513d27249bf083c2c873d94dd29773375adbf4c4fb9926b835b4c20be7c46aad2e4fa45940208944502e9dafec5542bc0b35c61755582f66c4525ff61baf36e82cc81686e0d240f71a783187732ecdc516479a5a47cfefceb74ebb56ec631aa9bdbde28d19931476ba12fa8731009057bf76753420a8c2fa596b337129c71083b8b363077a1cbef458cc425855347bbd2ec3d299aad786ed255c4170600000000000030820613308203fba00302010202107d5b5126b476ba11db74160bbc530da7300d06092a864886f70d01010c0500308188310b3009060355040613025553311330110603550408130a4e6577204a6572736579311430120603550407130b4a65727365792043697479311e301c060355040a131554686520555345525452555354204e6574776f726b312e302c06035504031325555345525472757374205253412043657274696669636174696f6e20417574686f72697479301e170d3138313130323030303030305a170d3330313233313233353935395a30818f310b3009060355040613024742311b30190603550408131247726561746572204d616e636865737465723110300e0603550407130753616c666f726431183016060355040a130f5365637469676f204c696d69746564313730350603550403132e5365637469676f2052534120446f6d61696e2056616c69646174696f6e205365637572652053657276657220434130820122300d06092a864886f70d01010105000382010f003082010a0282010100d67333d6d73c20d000d21745b8d63e07a23fc741ee3230c9b06cfdf49fcb12980f2d3f8d4d010c820f177f622ee9b84879fb16834eadd7322593b707bfb9503fa94cc3402ae939ffd981ca1f163241da8026b9237a87201ee3ff209a3c95446f8775069040b4329316091008233ed2dd870f6f5d51146a0a69c54f017269cfd3934c6d04a0a31b827eb19ab9edc59ec537789f9a0834fb562e58c4090e06645bbc37dcf19f2868a856b092a35c9fbb8898081b241dab3085aeafb02e9e7a9dc1c0421ce202f0eae04ad2ef900eb4c14016f06f85424a64f7a430a0febf2ea3275a8e8b58b8adc319178463ed6f56fd83cb6034c474bee69ddbe1e4e5ca0c5f150203010001a382016e3082016a301f0603551d230418301680145379bf5aaa2b4acf5480e1d89bc09df2b20366cb301d0603551d0e041604148d8c5ec454ad8ae177e99bf99b05e1b8018d61e1300e0603551d0f0101ff04040302018630120603551d130101ff040830060101ff020100301d0603551d250416301406082b0601050507030106082b06010505070302301b0603551d200414301230060604551d20003008060667810c01020130500603551d1f044930473045a043a041863f687474703a2f2f63726c2e7573657274727573742e636f6d2f55534552547275737452534143657274696669636174696f6e417574686f726974792e63726c307606082b06010505070101046a3068303f06082b060105050730028633687474703a2f2f6372742e7573657274727573742e636f6d2f555345525472757374525341416464547275737443412e637274302506082b060105050730018619687474703a2f2f6f6373702e7573657274727573742e636f6d300d06092a864886f70d01010c0500038202010032bf61bd0e48c34fc7ba474df89c781901dc131d806ffcc370b4529a31339a5752fb319e6ba4ef54aa898d401768f811107cd2cab1f15586c7eeb3369186f63951bf46bf0fa0bab4f77e49c42a36179ee468397aaf944e566fb27b3bbf0a86bdcdc5771c03b838b1a21f5f7edb8adc4648b6680acfb2b5b4e234e467a93866095ed2b8fc9d283a174027c2724e29fd213c7ccf13fb962cc53144fd13edd59ba96968777ceee1ffa4f93638085339a284349c19f3be0eacd52437eb23a878d0d3e7ef924764623922efc6f711be2285c6664424268e10328dc893ae079e833e2fd9f9f5468e63bec1e6b4dca6cd21a8860a95d92e85261afdfcb1b657426d95d133f6391406824138f58f58dc805ba4d57d9578fda79bfffdc5a869ab26e7a7a405875ba9b7b8a3200b97a94585ddb38be589378e290dfc0617f638400e42e41206fb7bf3c6116862dfe398f413d8154f8bb169d91060bc642aea31b7e4b5a33a149b26e30b7bfd028eb699c138975936f6a874a286b65eebc664eacfa0a3f96e9eba2d11b6869808582dc9ac2564f25e75b438c1ae7f5a4683ea51cab6f19911356ba56a7bc600b0e7f8be64b2adc8c2f1ace351eaa493e079c8e18140c90a5be1123cc1602ae397c08942ca94cf46981269bb98d0c2d30d724b476ee593c43228638743e4b0323e0ad34bbf239b1429412b9a041f932df1c739483cad5a127f85050000000000003082058130820469a00302010202103972443af922b751d7d36c10dd313595300d06092a864886f70d01010c0500307b310b3009060355040613024742311b301906035504080c1247726561746572204d616e636865737465723110300e06035504070c0753616c666f7264311a3018060355040a0c11436f6d6f646f204341204c696d697465643121301f06035504030c18414141204365727469666963617465205365727669636573301e170d3139303331323030303030305a170d3238313233313233353935395a308188310b3009060355040613025553311330110603550408130a4e6577204a6572736579311430120603550407130b4a65727365792043697479311e301c060355040a131554686520555345525452555354204e6574776f726b312e302c06035504031325555345525472757374205253412043657274696669636174696f6e20417574686f7269747930820222300d06092a864886f70d01010105000382020f003082020a028202010080126517360ec3db08b3d0ac570d76edcd27d34cad508361e2aa204d092d6409dcce899fcc3da9ecf6cfc1dcf1d3b1d67b3728112b47da39c6bc3a19b45fa6bd7d9da36342b676f2a93b2b91f8e26fd0ec162090093ee2e874c918b491d46264db7fa306f188186a90223cbcfe13f087147bf6e41f8ed4e451c61167460851cb8614543fbc33fe7e6c9cff169d18bd518e35a6a766c87267db2166b1d49b7803c0503ae8ccf0dcbc9e4cfeaf0596351f575ab7ffcef93db72cb6f654ddc8e7123a4dae4c8ab75c9ab4b7203dca7f2234ae7e3b68660144e7014e46539b3360f794be5337907343f332c353efdbaafe744e69c76b8c6093dec4c70cdfe132aecc933b517895678bee3d56fe0cd0690f1b0ff325266b336df76e47fa7343e57e0ea566b1297c3284635589c40dc19354301913acd37d37a7eb5d3a6c355cdb41d712daa9490bdfd8808a0993628eb566cf2588cd84b8b13fa4390fd9029eeb124c957cf36b05a95e1683ccb867e2e8139dcc5b82d34cb3ed5bffdee573ac233b2d00bf3555740949d849581a7f9236e651920ef3267d1c4d17bcc9ec4326d0bf415f40a94444f499e757879e501f5754a83efd74632fb1506509e658422e431a4cb4f0254759fa041e93d426464a5081b2debe78b7fc6715e1c957841e0f63d6e962bad65f552eea5cc62808042539b80e2ba9f24c971c073f0d52f5edef2f820f0203010001a381f23081ef301f0603551d23041830168014a0110a233e96f107ece2af29ef82a57fd030a4b4301d0603551d0e041604145379bf5aaa2b4acf5480e1d89bc09df2b20366cb300e0603551d0f0101ff040403020186300f0603551d130101ff040530030101ff30110603551d20040a300830060604551d200030430603551d1f043c303a3038a036a0348632687474703a2f2f63726c2e636f6d6f646f63612e636f6d2f414141436572746966696361746553657276696365732e63726c303406082b0601050507010104283026302406082b060105050730018618687474703a2f2f6f6373702e636f6d6f646f63612e636f6d300d06092a864886f70d01010c05000382010100188751dc74213d9c8ae027b733d02eccecf0e6cb5e11de226f9b758e9e72fee4d6feaa1f9c962def034a7eaef48d6f723c433bc03febb8df5caaa9c6aef2fcd8eea37b43f686367c14e0cdf4f73ffedeb8b48af09196fefd43647efdccd201a17d7df81919c9422b13bf588bbaa4a266047688914e0c8914cea24dc932b3bae8141abc71f15bf0410b98000a220310e50cb1f9cd923719ed3bf1e43ab6f945132675afbbaaef3f7b773bd2c402913d1900d3175c39db3f7b180d45cd9385962f5ddf59164f3f51bdd545183fed4a8ee80661742316b50d50732744477f105d892a6b853114c4e8a96a4c80bc6a78cfb87f8e7672990c9dfed7910816a1a35f95080000000001000000000000807075ac0db7f9f53b63fe8b0234b52ffe013c384d8c3b4519b8f226e6730beab8e5aa9d42113e89e34d44b958f55c9a2f22a82cc957e85cd9894c6d234db194d41c08542c34fd39220111c85c5ca1e2e4a707a3d67ac2f0561a3fa211925cbe7aff3f75af0f58884a04570d52d9378b70b6007c47f58a7759f02929040da024156ac40698910ed02a756c125f6368f698919cc6b0edb796ee589962e597869ad7f6715b04cfb82b76de71a13ef5297cdeb86416b31bb884b4de3f09da7c7f98311557745efd3910a33bd395262526539a88783678823a4daabf2d709f71f02fc520cce39e14d07fa7d64f02b88e4449c7811288e04189d9f58a69e7fc9146f1000000001625cce068c27f9c28ecfc10acb4f6fa495799456ff44f6539a52f1725f2cc306836b596128b669333c0dcd38fa7ff41b6db10cabeb3e1dc444f574e4752440100000000410000000000000004f885ed8a8d7fd6fd3a18176f8bcaa3831ab2b4c6d5373ce0023aac7bf41d4dc4b0e62f6eb925fd14567cf2e8a3615015e7ea63e8ed24db2bd350a3b45cafa6eaad0b5d443a99a9eb8688bc13a2fe18a601e1000000000000004745542068747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f746c736e6f746172792f746c736e2f726566732f68656164732f6d61696e2f6372617465732f7365727665722d666978747572652f7365727665722f7372632f646174612f70726f7465637465645f646174612e6a736f6e20485454502f312e310d0a636f6e6e656374696f6e3a20636c6f73650d0a686f73743a207261772e67697468756275736572636f6e74656e742e636f6d0d0a0d0a636f6e74656e742d747970653a206170706c69636174696f6e2f6a736f6e0d0a0d0aa501000000000000485454502f312e3120323030204f4b0d0a43616368652d436f6e74726f6c3a206d61782d6167653d3330300d0a436f6e74656e742d53656375726974792d506f6c6963793a2064656661756c742d73726320276e6f6e65273b207374796c652d7372632027756e736166652d696e6c696e65273b2073616e64626f780d0a436f6e74656e742d547970653a20746578742f706c61696e3b20636861727365743d7574662d380d0a455461673a202262343238336233653662326561376530363739613230333464363362646132363039633165663433353931346638343231633366666530636636383261363839220d0a5374726963742d5472616e73706f72742d53656375726974793a206d61782d6167653d3331353336303030582d436f6e74656e742d547970652d4f7074696f6e733a206e6f736e696666582d4672616d652d4f7074696f6e733a2064656e79582d5853532d50726f74656374696f6e3a20313b206d6f64653d626c6f636b226964223a20313233343536373839302263697479223a2022416e79746f776e2222706f7374616c436f6465223a202231323334352202000000000000000000000000000000bd00000000000000d000000000000000f400000000000000080000000000000000000000000000001100000000000000390000000000000044010000000000004601000000000000650100000000000067010000000000007c010000000000007e010000000000009d010000000000007c030000000000008c03000000000000f203000000000000030400000000000020040000000000003504000000000000f400000000000000130600000000000001020e0000000000000000000000000000000e000000000000000b00000000000000010000000100000000000000200400000000000035040000000000009efd5f7c72134a54d5bb3c54b2825c7a02000000000000000100000001000000000000007e010000000000009d0100000000000055242b5ed15958771b7abd26cd6fa3b7000000000000000001000000010000000000000039000000000000005500000000000000e708104c63bcc9f67c7c5e620b3f06af06000000000000000100000001000000000000000000000000000000110000000000000057c0914e57810ee2abd8684617a2f1660a00000000000000010000000100000000000000f203000000000000030400000000000070a61f16f45c8111734c2bb1908471a903000000000000000100000001000000000000001901000000000000440100000000000031d11918b068c91dad429ecfd1eeccbc0d00000000000000010000000100000000000000cf0000000000000019010000000000005ab9ebf19270ae59d70bb2c8dca4080b04000000000000000100000001000000000000005500000000000000a6000000000000008e841a1946e87bb5e2e87b3ecaf71ae60700000000000000010000000100000000000000460100000000000065010000000000007a458714efc9803403cb56fe30a5e1340500000000000000000000000100000000000000d000000000000000f400000000000000a150b03efbdd2302f0f058fc3a0dbfff0100000000000000010000000100000000000000a600000000000000cf00000000000000fe86e5f430e6b2f38fa7b96aa2b18645080000000000000001000000010000000000000067010000000000007c01000000000000fa641e31531fc003e9fc98f36d80a1540c000000000000000000000001000000000000000000000000000000bd00000000000000b12fa5c50728418dd8a6ccfcaf6d52b209000000000000000100000001000000000000007c030000000000008c0300000000000053c8fd372559e892423811e68a8bacbe0000000000000000", "meta": { "notaryUrl": "http://localhost:7047", "websocketProxyUrl": "ws://localhost:55688?token=example.com" } -} +} \ No newline at end of file diff --git a/rs/0.1.0-alpha.11/src/lib.rs b/rs/0.1.0-alpha.11/src/lib.rs index ab9184c..323a016 100644 --- a/rs/0.1.0-alpha.11/src/lib.rs +++ b/rs/0.1.0-alpha.11/src/lib.rs @@ -1,4 +1,5 @@ use k256::pkcs8::DecodePublicKey; +use k256::pkcs8::EncodePublicKey; use neon::prelude::*; use tlsn_core::{ presentation::{Presentation, PresentationOutput}, @@ -44,6 +45,11 @@ fn verify_presentation( .map_err(|x| format!("Invalid verifying key: {}", x))?; if notary_key != verifying_key { + let verifying_key_pem = verifying_key + .to_public_key_pem(Default::default()) + .map_err(|e| format!("Failed to encode verifying key to PEM: {}", e))?; + println!("Verifying key PEM:\n{}", verifying_key_pem); + Err("The verifying key does not match the notary key")?; } @@ -91,7 +97,7 @@ mod tests { fn example_presentation() -> String { let example = include_str!("example.json"); let presentation: Presentation = serde_json::from_str(&example).unwrap(); - assert_eq!("0.1.0-alpha.7", presentation.version); + assert_eq!("0.1.0-alpha.11", presentation.version); presentation.data } @@ -99,19 +105,19 @@ mod tests { fn test_verify() { let notary_key_cx = String::from( "-----BEGIN PUBLIC KEY----- -MDYwEAYHKoZIzj0CAQYFK4EEAAoDIgADe0jxnBObaIj7Xjg6TXLCM1GG/VhY5650 -OrS/jgcbBuc= +MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEDahdjamzQ2UA5S1g8sFcdgXtnwWVPQIp +SlugtbkoGpqLP+9Dczt2hVjQD/SXI2GL/mAgbOekjw1Kj/KcjrLBqw== -----END PUBLIC KEY-----", ); let (sent, recv, time) = verify_presentation(example_presentation(), notary_key_cx).unwrap(); - assert_eq!(1728416631, time); - assert!(sent.contains("host: example.com")); + assert_eq!(1748415894, time); + assert!(sent.contains("host: raw.githubusercontent.com")); assert!(sent.contains("XXXXXXXXXXXXXXXXXX")); - assert!(recv.contains("Example Domain")); - assert!(recv.contains("Date: Tue, 08 Oct 2024")); + assert!(recv.contains("\"id\": 1234567890")); + assert!(recv.contains("\"city\": \"Anytown\"")); } #[test]