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 0.635 second using v1.01-cache-2.11-cpan-71847e10f99 )