Crypt-Perl
view release on metacpan or search on metacpan
t/Crypt-Perl-Ed25519-PrivateKey.t view on Meta::CPAN
my $pub_str = join q<.>, map { sprintf '%02x', $_ } @$pub_ar;
my $key = Crypt::Perl::Ed25519::PrivateKey->new( join q<>, map { chr } @$priv_ar );
is_deeply(
sprintf('%v.02x', $key->get_public() ),
$pub_str,
'correct public key determined',
);
my $msg = join q<>, map { chr hex } split m<\.>, $msg_vec;
my $sig = $key->sign($msg);
is(
sprintf('%v.02x', $sig),
$sig_vec,
'expected signature',
);
my $real_sig = join q<>, map { chr hex } split m<\.>, $sig_vec;
ok( $key->verify($msg, $real_sig), 'verify()' );
}
#----------------------------------------------------------------------
my $rng = Bytes::Random::Secure::Tiny->new();
for my $i ( 1 .. 8 ) {
my $key = Crypt::Perl::Ed25519::PrivateKey->new();
t/Crypt-Perl-Ed25519-PrivateKey.t view on Meta::CPAN
key => $key,
message => sprintf('%v.02x', $msg2),
signature => sprintf('%v.02x', $sig1),
} );
};
}
#----------------------------------------------------------------------
my $private = Crypt::Perl::Ed25519::PrivateKey->new(
join( q<>, map { chr hex } split m<\.>, '9d.61.b1.9d.ef.fd.5a.60.ba.84.4a.f4.92.ec.2c.c4.44.49.c5.69.7b.32.69.19.70.3b.ac.03.1c.ae.7f.60' ),
);
my $thumbprint = $private->get_jwk_thumbprint('sha256');
is(
$thumbprint,
'kPrK_qmxVWaYVA9wwBF6Iuo3vVzz7TxHCTwXBygrS4k',
'JWK thumbprint (SHA-256)',
);
done_testing();
( run in 2.051 seconds using v1.01-cache-2.11-cpan-71847e10f99 )