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