toddr / Crypt-OpenSSL-RSA

Release history of Crypt-OpenSSL-RSA
https://metacpan.org/pod/Crypt::OpenSSL::RSA
Other
8 stars 25 forks source link

Unrecognized key format #28

Closed philiprbrenan closed 2 years ago

philiprbrenan commented 3 years ago

I am trying to use the following pem key but I get the error message: unrecognized key format. I believe the key is valid. Please tell me how to load it into Crypt::OpenSSL::RSA ? Thanks!

use warnings FATAL => qw(all);
use strict;
use Crypt::OpenSSL::RSA;

my $pub = Crypt::OpenSSL::RSA->new_public_key(&pub);                # unrecognized key format.

sub pub{<<END}
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIJVUA+C4kFeX1SMA0GCSqGSIb3DQEBCwUAMCAxHjAcBgNV
BAMTFWFwcGFhcHBzLnVzLmF1dGgwLmNvbTAeFw0yMDExMTgxODMxMDBaFw0zNDA3
MjgxODMxMDBaMCAxHjAcBgNVBAMTFWFwcGFhcHBzLnVzLmF1dGgwLmNvbTCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMca4+tiTHOTYXieazgmqth3Llx/
07uLDvu2cYy37EKI5aR++Hajgqrxi9aMC7DeI2dGvaBuL7TdVokMoIlB1VYu98uD
O4NYjMdQXuhWFTb21uL5p7nCywTadeBNc5TjS3yNUvKWfjhjXhMQRA1shIWozFei
FUMcDdX9Pj6FdUlE7LYlTTBngGyrT/fceOw28sO+eSQTQkX9bxRjbY+mdmdIJgAm
scURy9U874nP7QOf2n6HN6SslbqbkErKI3DrssdurXssyXHDRehF7l/SSDq7C4v7
r6W7ZzBlh35/XbJa8a6qY0yLt8makm77Vqw1HLFpjidj2EqgIZC0GpqsuvUCAwEA
AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWMPdJRDcmkEQI3rAo34O
C9ULv4EwDgYDVR0PAQH/BAQDAgKEMA0GCSqGSIb3DQEBCwUAA4IBAQAy596RGv/P
wUZ5kc1vWidWS5znNhl95crFHCusKsIVcwqOJTwQLMOmW7JPqt139Fi73tyiBwGp
FIWbdyNqdGOxVo8FtBUrQ2ymGNXg57SRVfO4NqSQfjbmM+JniVeAyemFzMblHhMV
GBH+X37ATtdmpewlW+xjIxXpENvPmLvfxmEKhlKsjUMCqCDFIcuiMbO0g3STz4dS
X9HcQLdAZMbOKsrTaWznLVb95jFmkaCMuENU9h8HQcvMHDUcaFAcDcM7DHp5pYGF
lOIuop1AMQQRzkqtqXqDtaLciUUo4DP31PqlTblJaobcR4uRujaN9F0zam+cFkS6
6TpUzMupcHT2
-----END CERTIFICATE-----
END
dur-randir commented 3 years ago

You have a full certificate here, not just a key. So, you have to parse the whole cert structure first:

my $pub = Crypt::OpenSSL::RSA->new_public_key(Crypt::OpenSSL::X509->new_from_string(pub())->pubkey());
philiprbrenan commented 2 years ago

Thanks for your help!