mirror of
https://github.com/dehydrated-io/dehydrated.git
synced 2026-03-17 23:03:47 +01:00
25 lines
766 B
Perl
25 lines
766 B
Perl
use strict;
|
|
|
|
use Crypt::OpenSSL::RSA;
|
|
use Crypt::OpenSSL::Bignum;
|
|
use JSON;
|
|
use File::Slurp;
|
|
use MIME::Base64;
|
|
|
|
my $json_file = "private_key.json";
|
|
my $json_content = read_file($json_file);
|
|
$json_content =~ tr/-/+/;
|
|
$json_content =~ tr/_/\//;
|
|
|
|
my $json = decode_json($json_content);
|
|
|
|
my $n = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{n}));
|
|
my $e = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{e}));
|
|
my $d = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{d}));
|
|
my $p = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{p}));
|
|
my $q = Crypt::OpenSSL::Bignum->new_from_bin(decode_base64($json->{q}));
|
|
|
|
my $rsa = Crypt::OpenSSL::RSA->new_key_from_parameters($n, $e, $d, $p, $q);
|
|
|
|
print($rsa->get_private_key_string());
|