]>
Commit | Line | Data |
---|---|---|
61f0b7ed LS |
1 | use strict; |
2 | ||
3 | use Crypt::OpenSSL::RSA; | |
4 | use Crypt::OpenSSL::Bignum; | |
5 | use JSON; | |
6 | use File::Slurp; | |
7 | use MIME::Base64; | |
8 | ||
9 | my $json_file = "private_key.json"; | |
10 | my $json_content = read_file($json_file); | |
11 | $json_content =~ tr/-/+/; | |
12 | $json_content =~ tr/_/\//; | |
13 | ||
14 | my $json = decode_json($json_content); | |
15 | ||
16 | my $n = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{n})); | |
17 | my $e = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{e})); | |
18 | my $d = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{d})); | |
19 | my $p = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{p})); | |
20 | my $q = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{q})); | |
21 | ||
22 | my $rsa = Crypt::OpenSSL::RSA->new_key_from_parameters($n, $e, $d, $p, $q); | |
23 | ||
24 | print($rsa->get_private_key_string()); |