ECC - export_key_jwk_thumbprint (incomplete)
Karel Miko
7 years ago
9 | 9 | |
10 | 10 | use Carp; |
11 | 11 | use CryptX qw(_encode_json _decode_json); |
12 | use Crypt::Digest 'digest_data'; | |
12 | use Crypt::Digest qw(digest_data digest_data_b64u); | |
13 | 13 | use Crypt::Misc qw(read_rawfile encode_b64u decode_b64u encode_b64 decode_b64 pem_to_der der_to_pem); |
14 | 14 | use Crypt::PK; |
15 | 15 | |
473 | 473 | }; |
474 | 474 | return $wanthash ? $hash : _encode_json($hash); |
475 | 475 | } |
476 | } | |
477 | ||
478 | sub export_key_jwk_thumbprint { | |
479 | my $self = shift; | |
480 | my $h = $self->export_key_jwk('public', 1); | |
481 | my $json = _encode_json({crv=>$h->{crv}, kty=>$h->{kty}, x=>$h->{x}, y=>$h->{y}}); | |
482 | return digest_data_b64u('SHA256', $json); | |
476 | 483 | } |
477 | 484 | |
478 | 485 | sub import_key { |