diff options
author | gregor herrmann <gregoa@debian.org> | 2021-09-19 02:16:28 +0200 |
---|---|---|
committer | gregor herrmann <gregoa@debian.org> | 2021-09-19 02:16:28 +0200 |
commit | ec0fcbffd0ce5e66f9e49e6928c26944da60cc7f (patch) | |
tree | 58c0ccb6613896f6f9999641b672dc2459cafc75 /t | |
parent | f457342b20affa7c494a4945216e259d9dc24aea (diff) | |
parent | e85944bfb8ab6e05cac511b1de4111e5717331a0 (diff) |
New upstream version 0.073
Diffstat (limited to 't')
-rw-r--r-- | t/jwk.t | 2 | ||||
-rw-r--r-- | t/mbi_ltm_biglog.t | 2 | ||||
-rw-r--r-- | t/mbi_ltm_bigroot.t | 2 | ||||
-rw-r--r-- | t/pk_ed25519.t | 6 | ||||
-rw-r--r-- | t/pk_rsa.t | 55 | ||||
-rw-r--r-- | t/pk_x25519.t | 6 |
6 files changed, 67 insertions, 6 deletions
@@ -2,7 +2,7 @@ use strict; use warnings; use Test::More; -plan skip_all => "No JSON::* module installed" unless eval { require JSON::PP } || eval { require JSON::XS } || eval { require Cpanel::JSON::XS }; +plan skip_all => "JSON module not installed" unless eval { require JSON }; plan tests => 97; use Crypt::PK::RSA; diff --git a/t/mbi_ltm_biglog.t b/t/mbi_ltm_biglog.t index 34ea3550..ffc0cade 100644 --- a/t/mbi_ltm_biglog.t +++ b/t/mbi_ltm_biglog.t @@ -20,7 +20,7 @@ BEGIN { } use Math::BigFloat only => 'LTM'; -use Math::BigInt; +use Math::BigInt only => 'LTM'; my $cl = "Math::BigInt"; diff --git a/t/mbi_ltm_bigroot.t b/t/mbi_ltm_bigroot.t index f9d11dfc..225e450f 100644 --- a/t/mbi_ltm_bigroot.t +++ b/t/mbi_ltm_bigroot.t @@ -17,7 +17,7 @@ BEGIN { } use Math::BigFloat only => 'LTM'; -use Math::BigInt; +use Math::BigInt only => 'LTM'; is (Math::BigInt->config()->{lib}, 'Math::BigInt::LTM', 'LTM loaded'); diff --git a/t/pk_ed25519.t b/t/pk_ed25519.t index b724af20..28368dcc 100644 --- a/t/pk_ed25519.t +++ b/t/pk_ed25519.t @@ -1,6 +1,10 @@ use strict; use warnings; -use Test::More tests => 91; + +use Test::More; + +plan skip_all => "JSON module not installed" unless eval { require JSON }; +plan tests => 91; use Crypt::PK::Ed25519; use Crypt::Misc qw(read_rawfile); @@ -1,6 +1,6 @@ use strict; use warnings; -use Test::More tests => 49; +use Test::More tests => 52; use Crypt::PK::RSA qw(rsa_encrypt rsa_decrypt rsa_sign_message rsa_verify_message rsa_sign_hash rsa_verify_hash); @@ -112,3 +112,56 @@ use Crypt::PK::RSA qw(rsa_encrypt rsa_decrypt rsa_sign_message rsa_verify_messag ok($sig, 'rsa_sign_hash'); ok(rsa_verify_hash('t/data/cryptx_pub_rsa1.der', $sig, $hash, 'SHA1'), 'rsa_verify_hash'); } + +{ + ## https://github.com/DCIT/perl-CryptX/issues/69 + + # my $priv = Crypt::PK::RSA->new({ + # e => "03", + # N => "E932AC92252F585B3A80A4DD76A897C8B7652952FE788F6EC8DD640587A1EE5647670A8AD4C2BE0F9FA6E49C605ADF77B5174230". + # "AF7BD50E5D6D6D6D28CCF0A886A514CC72E51D209CC772A52EF419F6A953F3135929588EBE9B351FCA61CED78F346FE00DBB6306". + # "E5C2A4C6DFC3779AF85AB417371CF34D8387B9B30AE46D7A5FF5A655B8D8455F1B94AE736989D60A6F2FD5CADBFFBD504C5A756A". + # "2E6BB5CECC13BCA7503F6DF8B52ACE5C410997E98809DB4DC30D943DE4E812A47553DCE54844A78E36401D13F77DC650619FED88". + # "D8B3926E3D8E319C80C744779AC5D6ABE252896950917476ECE5E8FC27D5F053D6018D91B502C4787558A002B9283DA7", + # d => "009b771db6c374e59227006de8f9c5ba85cf98c63754505f9f30939803afc1498eda44b1b1e32c7eb51519edbd9591ea4fce0f81". + # "75ca528e09939e48f37088a07059c36332f74368c06884f718c9f8114f1b8d4cb790c63b09d46778bfdc41348fb4cd9feab3d242". + # "04992c6dd9ea824fbca591cd64cf68a233ad0526775c9848fafa31528177e1f8df9181a8b945081106fd58bd3d73799b229575c4". + # "f3b29101a03ee1f05472b3615784d9244ce0ed639c77e8e212ab52abddf4a928224b6b6f74b7114786dd6071bd9113d7870c6b52". + # "c0bc8b9c102cfe321dac357e030ed6c580040ca41c13d6b4967811807ef2a225983ea9f88d67faa42620f42a4f5bdbe03b", + # }); + # my $sig_hex = unpack("H*", $priv->sign_message('hello world!', 'SHA256', 'v1.5')); + + my $pub = Crypt::PK::RSA->new({ + e => "03", + N => "E932AC92252F585B3A80A4DD76A897C8B7652952FE788F6EC8DD640587A1EE5647670A8AD4C2BE0F9FA6E49C605ADF77B5174230". + "AF7BD50E5D6D6D6D28CCF0A886A514CC72E51D209CC772A52EF419F6A953F3135929588EBE9B351FCA61CED78F346FE00DBB6306". + "E5C2A4C6DFC3779AF85AB417371CF34D8387B9B30AE46D7A5FF5A655B8D8455F1B94AE736989D60A6F2FD5CADBFFBD504C5A756A". + "2E6BB5CECC13BCA7503F6DF8B52ACE5C410997E98809DB4DC30D943DE4E812A47553DCE54844A78E36401D13F77DC650619FED88". + "D8B3926E3D8E319C80C744779AC5D6ABE252896950917476ECE5E8FC27D5F053D6018D91B502C4787558A002B9283DA7", + }); + + my $sig1 = pack("H*", "8df69d774c6ac8b5f8aa16576ca37a4f948706c5daecb3c15cfd247a7657616b2bbb786b50158cac8c23e3". + "289d300d3fbb82380b8746d929df36bdaf43a5fc5d1d04c61c98d47c22de02d051be3ba9e42b1c47aa5192". + "66d4cae244e5ce99b24771a13a7c8c7b08868a3eccf70b4bc7570d5131a1ac8943d91b0151c39da2ad75cd". + "1b9a697d100eef6747217df581b272cfd1f549a901ff4951036a4eb28fd2ea1e9df3fa9fa457663f4259be". + "8e5f2f2fb84f831a0ca5320e2b79f04a17830f43062c4c8fc0d0b1ff90567f3342d524f682ca26661caadf". + "4272f2585e6013a92bfa68de72fe6174096890e4296aedd72da43aa508007df53fb852bd7162ab635b"); + + my $sig2 = pack("H*", "1ee08947536e6b11d8923c3b00061d26a6933b5345077ea0214fdcbcc1ad68395008ff709117047e6b01dd". + "2a371dfa032c0732abc86ab2e0273bbd0dfe6b1c769e21bb9079982801d8f72e01be3244959312ab09bb8f". + "88572dc23216719b9810c73edf826749604feb8da1345f83f0209271aca462c1235b4cb4ba538f85a9c03d". + "d1dde1856fe73fd86b95566df2dfe8b0895c34489b97e02c8e48dabad7067619edec6267a776fa416fbcac". + "0fcacf3efa7852ce33ed63a9149c685c303d98c3dc37ee87521bc5b130377345fc95c87aa48505470deaf6". + "fb1064df041e3f03322b1ec90d3608deb17bf77f47066ecc6c511bfba69eed6da42881dcce603fcb2a"); + + my $sig3 = pack("H*", "02364fdabb83d98118fe3d3bb86866038de4dc6e569f59fd6dc0360d3785e7fbded2f5a4c6d87052aeab25". + "c451a91f8dccbc0d6db3b59ddd57368180091183369221b67a399a96ca5d318a908575462fe42d1aabba27". + "7b7b5bb2aae43567ecd671dfc1d8b935c7dc06d0058a45dadabfc21b1cbae3cb719f3bca8b1365576e2eb9". + "54cba048beba174e515a919148ac4a9ae3505b3a8ad6326b63757d1dd59a9f83df60bb295b32d90053b016". + "b4cd2745eb29f12a2aad86c05f04ebd3cca3a8c63c752ccad07d7fd4e6e2adab4f353efbda04a6b5b7f4a6". + "d540c085e7ddc90f1665adb048dfc707eac2db28246e1bffe53f115a02f7c74defccafa7213cb22245"); + + is($pub->verify_message($sig1, 'hello world!', 'SHA256', 'v1.5'), 0, "github issue 69 - invalid signature/1"); + is($pub->verify_message($sig2, 'hello world!', 'SHA256', 'v1.5'), 0, "github issue 69 - invalid signature/2"); + is($pub->verify_message($sig3, 'hello world!', 'SHA256', 'v1.5'), 1, "github issue 69 - valid signature/3"); +} diff --git a/t/pk_x25519.t b/t/pk_x25519.t index fd762b14..24e0d55b 100644 --- a/t/pk_x25519.t +++ b/t/pk_x25519.t @@ -1,6 +1,10 @@ use strict; use warnings; -use Test::More tests => 69; + +use Test::More; + +plan skip_all => "JSON module not installed" unless eval { require JSON }; +plan tests => 69; use Crypt::PK::X25519; use Crypt::Misc qw(read_rawfile); |