loading openssl EC keys works
Karel Miko
10 years ago
53 | 53 |
sub _pem_to_asn1 {
|
54 | 54 |
my ($data, $password) = @_;
|
55 | 55 |
|
56 | |
my ($begin, $object, $headers, $content, $end) = $data =~ m/(-----BEGIN ([^\n\-]+)-----)\n(.*?\n\n)?(.+)(-----END .*?-----)/s;
|
|
56 |
my ($begin, $object, $headers, $content, $end) = $data =~ m/(-----BEGIN ([^\n\-]+KEY)-----)\n(.*?\n\n)?(.+)(-----END .*?-----)/s;
|
57 | 57 |
return $content unless $content;
|
58 | 58 |
$content = decode_base64($content);
|
59 | 59 |
|
42 | 42 |
# ok(!$k->is_private, 'is_private cryptx_pub_ecc2.pem');
|
43 | 43 |
# $k = Crypt::PK::ECC->new('t/data/cryptx_pub_ecc2.pem');
|
44 | 44 |
|
45 | |
### XXX-TODO private key PEM/DER not finished yet
|
46 | |
#for (qw(openssl_ec1.key.pem openssl_ec1.pri.der openssl_ec1.pri.pem openssl_ec1.pric.der openssl_ec1.pric.pem)) {
|
47 | |
# $k = Crypt::PK::ECC->new("t/data/$_");
|
48 | |
# ok($k, "load $_");
|
49 | |
# ok($k->is_private, 'is_private $_');
|
50 | |
#}
|
51 | |
#for (qw(openssl_ec1.pub.pem openssl_ec1.pub.der openssl_ec1.pubc.der openssl_ec1.pubc.pem)) {
|
52 | |
# $k = Crypt::PK::ECC->new("t/data/$_");
|
53 | |
# ok($k, "load $_");
|
54 | |
# ok(!$k->is_private, 'is_private $_');
|
55 | |
#}
|
|
45 |
for (qw(openssl_ec1.pub.pem openssl_ec1.pub.der openssl_ec1.pubc.der openssl_ec1.pubc.pem)) {
|
|
46 |
$k = Crypt::PK::ECC->new("t/data/$_");
|
|
47 |
ok($k, "load $_");
|
|
48 |
ok(!$k->is_private, "is_private $_");
|
|
49 |
}
|
|
50 |
for (qw(openssl_ec1.pri.der openssl_ec1.pri.pem openssl_ec1.pric.der openssl_ec1.pric.pem openssl_ec1.key.pem)) {
|
|
51 |
$k = Crypt::PK::ECC->new("t/data/$_");
|
|
52 |
ok($k, "load $_");
|
|
53 |
ok($k->is_private, "is_private $_");
|
|
54 |
}
|
56 | 55 |
}
|
57 | 56 |
|
58 | 57 |
{
|