Alt-Crypt-OpenSSL-PKCS12-Broadbean

 view release on metacpan or  search on metacpan

t/pkcs12-info-arbitrary-bag-attributes.t  view on Meta::CPAN

use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version find_openssl_prefix find_openssl_exec/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 100000
MAC length: 20, salt length: 20
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 10000, PRF hmacWithSHA256
Bag Attributes
    friendlyName: wile e coyote
    localKeyID: 54 69 6D 65 20 31 36 35 39 38 30 32 39 34 31 36 33 32 
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCP18SdkO7OL1I3
heudIrke5tCctdgEJkODSMK60aiM6XGKzRBGNrvc50zp1vXxgM7MJsewQSLmlu9Q
EtEugoiZshAoFm5/UX/TzVa1cxndF6GqKXTgeSbWUuJsG4dyvc8cvWS+qZbqkBKr
H/TkzQ6X1HMrVh5ccKqpJTr8orovJO0H/mZn2f05hjVaUyHVoECqsSPYuP9qznTh
9/+LQUN/QG5uhoUze10A8DWQeq8zferTrUm3YkXsRWhBpJ74tXHiqOjwBjSR9nsX

t/pkcs12-info-arbitrary-bag-attributes.t  view on Meta::CPAN

ONYhX5tCEwKBgBORHQm4OpXVHVzsHfdzlL8kBfvmOHNlEB/HCX8SHd2Dur+vCdGi
kg8TzB0qY8DpRe6q010MAEU7a+cHn4VwxQ6TUp3cF4xyiRYC8fHkl7h2Cv0SiAJs
G7FcDCww3X4SK9a6epvC2e7nfRlZKCYJafBqsES/XFIECjPxDsZgOmBFAoGAXFFV
YCOmZv9yiDFR0bXVqx8YqmVEIy9pYBtJbEzB73efOXQDmNOb1+hpD5LBiOPE3jf2
AUgzUwsJ9f3uXqTDQc7suhHOrUNNcQxW2OsJuo3FnsipfJ//Uty1PNExwf/3w7yT
Ueg7KSbfS3UQVJITCHQuTS2vjZWsNOMHQ7RxfJUCgYEAjyu2b6Lzae8ZDUSHbeBP
faZHOjkkUK2W8Ee3xGNBAmArnJp+yx0BLa6ZD2xWX3NAeGtRJK/l/lgYsb7/kAvi
iS81NOQKkH8bC2SfqRkrlUjgGnYz2DVhQrbHw/BuiaIffqeY19WPSjyH1f9GPgog
NnkSzXchhFTmhMqqxQ1wlPc=
-----END PRIVATE KEY-----
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 10000, PRF hmacWithSHA256
Certificate bag
Bag Attributes
    friendlyName: ssl.com ev root certification authority rsa r2
    2.16.840.1.113894.746875.1.1: <Unsupported tag 6>
subject=C = US, ST = Texas, L = Houston, O = SSL Corporation, CN = SSL.com EV Root Certification Authority RSA R2
issuer=C = US, ST = Texas, L = Houston, O = SSL Corporation, CN = SSL.com EV Root Certification Authority RSA R2
-----BEGIN CERTIFICATE-----
MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV
BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE
CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy

t/pkcs12-info-key-bag.t  view on Meta::CPAN

use warnings;
use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha256, Iteration 2048
MAC length: 32, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
Bag Attributes
    localKeyID: B2 36 02 16 22 C6 18 EF B1 5B D0 69 DB CD 25 B9 89 62 5D 94 
subject=C = CA, ST = New Brunswick, L = Moncton, O = Crypt::OpenSSL::PKCS12, CN = Crypt::OpenSSL::PKCS12
issuer=C = CA, ST = New Brunswick, L = Moncton, O = Crypt::OpenSSL::PKCS12, CN = Crypt::OpenSSL::PKCS12
-----BEGIN CERTIFICATE-----
MIIF0zCCA7ugAwIBAgIUNRGGesA4c//y3afo9bFyNDSNF18wDQYJKoZIhvcNAQEL
BQAweTELMAkGA1UEBhMCQ0ExFjAUBgNVBAgMDU5ldyBCcnVuc3dpY2sxEDAOBgNV
BAcMB01vbmN0b24xHzAdBgNVBAoMFkNyeXB0OjpPcGVuU1NMOjpQS0NTMTIxHzAd
BgNVBAMMFkNyeXB0OjpPcGVuU1NMOjpQS0NTMTIwHhcNMjQwNjI4MTU0MjQ3WhcN

t/pkcs12-info-le_1.1.t  view on Meta::CPAN

use warnings;
use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
    localKeyID: CD 93 42 14 8F 01 1B D4 CB C7 11 42 E7 32 15 DE 17 DE 39 07 
    friendlyName: Test PKCS12
subject=C = US, ST = California, O = ElectricRain, CN = test.electricrain.com
issuer=C = US, ST = California, L = Daly City, O = ElectricRain, CN = test.electricrain.com
-----BEGIN CERTIFICATE-----
MIICuTCCAiKgAwIBAgIDEAABMA0GCSqGSIb3DQEBBQUAMG0xCzAJBgNVBAYTAlVT
MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQHEwlEYWx5IENpdHkxFTATBgNV
BAoTDEVsZWN0cmljUmFpbjEeMBwGA1UEAxMVdGVzdC5lbGVjdHJpY3JhaW4uY29t

t/pkcs12-info-le_1.1.t  view on Meta::CPAN

SiKoNa6LjhDwaYjC4wU54NflAgMBAAGjgdIwgc8wHQYDVR0OBBYEFH2OlnQ68JFL
2XgvB9SDBhQK+N7wMIGfBgNVHSMEgZcwgZSAFH2OlnQ68JFL2XgvB9SDBhQK+N7w
oXGkbzBtMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UE
BxMJRGFseSBDaXR5MRUwEwYDVQQKEwxFbGVjdHJpY1JhaW4xHjAcBgNVBAMTFXRl
c3QuZWxlY3RyaWNyYWluLmNvbYIJANl4vnVWcooUMAwGA1UdEwQFMAMBAf8wDQYJ
KoZIhvcNAQEFBQADgYEAVDpsT0lKnMG+49Y8owI+G7RoHRt/dp0oc2VPba1GEOt/
T7/i5cqOfVEVMS9LThSKmzWtBJYhePXo8XPHvpeDKqVgOIxauZS6bztr91pszQui
R5mk1sAPWWaKOTCDkrwQ0lKBEZjyLSGSPlB+GEPlxtwwfyisu6Nw8OJ7LjrOLN4=
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
    localKeyID: CD 93 42 14 8F 01 1B D4 CB C7 11 42 E7 32 15 DE 17 DE 39 07 
    friendlyName: Test PKCS12
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKlIpB/P3kmhlpNS
ungTC73/0PaH6qXUSNCI7lhX0wp/JtQiiV6OEfplZxXX6eL6oDaxqujWphPE+6ZC
MlGAYh9e5HVoYJ8jl6ZPc+UC2ISkSZmd8qXIjOIw16q/O0MEeIHpgaWpF1UIayrm
WRdvb4qNcIEWXjukuhQHque4TP53AgMBAAECgYEAiWwQ4EpM95UXuY0FFwjPFXSg
XCHGGMyWN8ORSWIyTmkeSkOnJH1MlurOnmri0YIHoZ7lUZM+yvm0GCnQ01zXSbHz

t/pkcs12-info-le_1.1.t  view on Meta::CPAN

  is(keys %$bag_attributes, 2, "Two bag attributes in pkcs7_data bag");

  foreach my $attribute (keys %$bag_attributes) {
        like($bag_attributes->{localKeyID}, qr/CD 93 42 14 8F 01 1B D4 CB C7 11 42 E7 32 15 DE 17 DE 39 07/, "localKeyID matches") if $attribute eq "localKeyID";
        like($bag_attributes->{friendlyName}, qr/Test PKCS12/, "friendlyName matches") if $attribute eq "friendlyName";
  }

  like(@$bags[0]->{key}, qr/PRIVATE KEY/, "pkcs7_data found private key");
  like(@$bags[0]->{key}, qr/LtNKMHYyvEUK5Q/, "pkcs7_data key matches");
  like(@$bags[0]->{parameters}->{iteration}, qr/2048/, "pkcs7_data parameters iteration matches");
  like(@$bags[0]->{parameters}->{nid_long_name}, qr/pbeWithSHA1And3-KeyTripleDES-CBC/, "pkcs7_data parameters nid_long_name matches");
  like(@$bags[0]->{parameters}->{nid_short_name}, qr/PBE-SHA1-3DES/, "pkcs7_bag parameters nid_short_name matches");
  like(@$bags[0]->{type}, qr/shrouded_keybag/, "pkcs7_data bag type matches");
}

my $pkcs7_enc_cnt = scalar @{$info_hash->{pkcs7_encrypted_data}};

ok($info_hash->{pkcs7_encrypted_data}, "pkcs7_encrypted_data key exists");
for (my $i = 0; $i < $pkcs7_enc_cnt; $i++) {
  my $bags = $info_hash->{pkcs7_encrypted_data}[$i]->{bags};

t/pkcs12-info-le_1.1.t  view on Meta::CPAN


  is(keys %$bag_attributes, 2, "Two bag attributes in bag");

  foreach my $attribute (keys %$bag_attributes) {
        like($bag_attributes->{localKeyID}, qr/CD 93 42 14 8F 01 1B D4 CB C7 11 42 E7 32 15 DE 17 DE 39 07/, "localKeyID matches") if $attribute eq "localKeyID";
        like($bag_attributes->{friendlyName}, qr/Test PKCS12/, "friendlyName matches") if $attribute eq "friendlyName";
 }

  my $parameters = $info_hash->{pkcs7_encrypted_data}[$i]->{parameters};
  like($parameters->{iteration}, qr/2048/, "pkcs7_data parameters iteration matches");
  like($parameters->{nid_long_name}, qr/pbeWithSHA1And40BitRC2-CBC/, "pkcs7_data parameters nid_long_name matches");
  like($parameters->{nid_short_name}, qr/PBE-SHA1-RC2-40/, "pkcs7_bag parameters nid_short_name matches");

  like(@$bags[0]->{cert}, qr/CERTIFICATE/, "pkcs7_encrypted_data found certificate");
  like(@$bags[0]->{cert}, qr/ZaTUrp4Ewu9\/9D2h+/, "pkcs7_encrypted_data key matches");
  like(@$bags[0]->{type}, qr/certificate_bag/, "pkcs7_encrypted_data bag type matches");

  like(@$bags[0]->{issuer}, qr/C = US, ST = California, L = Daly City, O = ElectricRain, CN = test.electricrain.com/, "pkcs7_encrypted_data issuer matches");
  like(@$bags[0]->{subject}, qr/C = US, ST = California, O = ElectricRain, CN = test.electricrain.com/, "pkcs7_encrypted_data subject matches");

  like(@$bags[1]->{cert}, qr/CERTIFICATE/, "pkcs7_encrypted_data found certificate");

t/pkcs12-info-multiple-pkcs7-sections.t  view on Meta::CPAN

use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version find_openssl_prefix find_openssl_exec/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 2000
MAC length: 20, salt length: 20
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes
    localKeyID: 01 00 00 00 
    friendlyName: 3f71af65-1687-444a-9f46-c8be194c3e8e
    Microsoft CSP Name: Microsoft Enhanced Cryptographic Provider v1.0
Key Attributes
    X509v3 Key Usage: 10 
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8trBCTBjXXA4O
gSO5nRTOU5T86ObCgc71J2oCuUigSddcTDzebaD0wcyAgf101hAdwMKQ9DvrK0nG
vm7FAMnnUuVeATafKgshLuUTUUfKjx4Xif4LoS0/ev4BiOI5a1MlIRZ7T5Cyjg8b

t/pkcs12-info-multiple-pkcs7-sections.t  view on Meta::CPAN

    }

    my $key_attributes = @$bags[0]->{key_attributes};
    foreach my $attribute (keys %$key_attributes) {
      like($key_attributes->{'X509v3 Key Usage'}, qr/10/, "X509v3 Key Usage key_attributes matches") if $attribute eq 'X509v3 Key Usage';
    }

    like(@$bags[0]->{key}, qr/PRIVATE KEY/, "pkcs7_data found private key");
    like(@$bags[0]->{key}, qr/MOLoGVzhuryCcL7dIc5YVgfNOy71eK1Z/, "pkcs7_data key matches");
    like(@$bags[0]->{parameters}->{iteration}, qr/2000/, "pkcs7_data parameters iteration matches");
    like(@$bags[0]->{parameters}->{nid_long_name}, qr/pbeWithSHA1And3-KeyTripleDES-CBC/, "pkcs7_data parameters nid_long_name matches");
    like(@$bags[0]->{parameters}->{nid_short_name}, qr/PBE-SHA1-3DES/, "pkcs7_bag parameters nid_short_name matches");
    like(@$bags[0]->{type}, qr/shrouded_keybag/, "pkcs7_data bag type matches");
  }

  if ($info_hash->{pkcs7_data}[$i]{bags}[0]{type} eq 'certificate_bag')
  {
    my $bag_attributes = @$bags[0]->{bag_attributes};
    is(keys %$bag_attributes, 1, "One bag attributes in pkcs7_data bag");
    foreach my $attribute (keys %$bag_attributes) {
      like($bag_attributes->{localKeyID}, qr/01 00 00 00/, "localKeyID bag_attributes matches") if $attribute eq "localKeyID";

t/pkcs12-info-openssl-81-test_cmp_cli.t  view on Meta::CPAN

use warnings;
use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
Bag Attributes
    localKeyID: CF 6B 1F EF D7 B4 D2 96 04 94 60 F6 29 16 75 3A E3 C8 5D 9F 
subject=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = leaf
issuer=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = subinterCA
-----BEGIN CERTIFICATE-----
MIIDfjCCAmagAwIBAgIJAKRNsDKacUqNMA0GCSqGSIb3DQEBCwUAMFoxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQxEzARBgNVBAMTCnN1YmludGVyQ0EwHhcNMTUwNzAyMTMx
OTQ5WhcNMzUwNzAyMTMxOTQ5WjBUMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29t

t/pkcs12-info-openssl-81-test_cmp_cli.t  view on Meta::CPAN

QU0mIxy4ArMCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUhVaJNeKf
ABrhhgMLS692Emszbf0wHwYDVR0jBBgwFoAUhVaJNeKfABrhhgMLS692Emszbf0w
DQYJKoZIhvcNAQELBQADggEBADIKvyoK4rtPQ86I2lo5EDeAuzctXi2I3SZpnOe0
mCCxJeZhWW0S7JuHvlfhEgXFBPEXzhS4HJLUlZUsWyiJ+3KcINMygaiF7MgIe6hZ
WzpsMatS4mbNFElc89M+YryRFrQc9d1Uqjxhl3ms5MhDNcMP/PNwHa/wnIoqkpNI
qtDoR741wcZ7bdr6XVdF8+pBjzbBPPRSf24x3bqavHBWcTjcSVcM/ZEXxeqH5SN0
GbK2mQxrogX4UWjtl+DfYvl+ejpEcYNXKEmIabUUHtpG42544cuPtZizLW5bt/aT
JBQfpPZpvf9MUlACxUONFOLQdZ8SXpSJ0e93iX2J2Z52mSQ=
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Bag Attributes
    localKeyID: CF 6B 1F EF D7 B4 D2 96 04 94 60 F6 29 16 75 3A E3 C8 5D 9F 
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/RCj1YL8EoDvQ
u1Al3BUZJeqv1263dxCaIXNNv9JpaV2M5PWxE0MXFLN1MmNT/xwgMRm9pMjBHE/9
21VAuNz7iPOtTDP3c25liWwRZQRSDguud+zQ3PnTIeTismFXFaNvwiL/BEFWJYcU
TE/sLBOReJNyULVsKpO5aSPEXe2FN9Oy21HJjuo2TPYmk3HSC4Py/ii1ChiMDkAR
m8rghcvA7DGiXnEFMy8iu+99/aSSH5zs4LZBVtROjD+immOogoLHaZo0cK0sVMkQ
t/d/C1EksmzLh8oY/T/qSllzxKnzxYrgHgVq4X0hXUKagAlQLW8nGFqAcgp9W0WN

t/pkcs12-info-secret-bag.t  view on Meta::CPAN

use warnings;
use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version find_openssl_prefix find_openssl_exec/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 1000
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1000
Secret bag
Bag Attributes
    localKeyID: 31 32 33 34 35 36 37 38 39 30 
    1.2.3.4.5: MyCustomAttribute
    friendlyName: george
Bag Type: 1.3.5.7.9
Bag Value: 56 65 72 79 53 65 63 72 65 74 4D 65 73 73 61 67 65 
OPENSSL_END

if ($major eq '1.0') {

t/pkcs12-info-v3-certs-RC2.t  view on Meta::CPAN


SKIP: {

skip ("PKCS12 files has a certificate date that cannot be parsed in some LibreSSL versions", 24) unless $ENV{AUTHOR_TESTING};

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes: <No Attributes>
subject=C = US, O = National Aeronautics and Space Administration, serialNumber = 16 + CN = Steve Schoch
issuer=C = US, O = National Aeronautics and Space Administration
-----BEGIN CERTIFICATE-----
MIICjTCCAfigAwIBAgIEMaYgRzALBgkqhkiG9w0BAQQwRTELMAkGA1UEBhMCVVMx
NjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFuZCBTcGFjZSBBZG1pbmlz
dHJhdGlvbjAmFxE5NjA1MjgxMzQ5MDUrMDgwMBcROTgwNTI4MTM0OTA1KzA4MDAw
ZzELMAkGA1UEBhMCVVMxNjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFu
ZCBTcGFjZSBBZG1pbmlzdHJhdGlvbjEgMAkGA1UEBRMCMTYwEwYDVQQDEwxTdGV2

t/pkcs12-info-v3-certs-RC2.t  view on Meta::CPAN


  is(scalar @$bags, 2, "Two bags in pkcs7_encrypted_data");
  ok($info_hash->{pkcs7_encrypted_data}, "pkcs7_encrypted_data key exists");

  my $bag_attributes = @$bags[0]->{bag_attributes};

  is(keys %$bag_attributes, 0, "No bag attributes in bag");

  my $parameters = $info_hash->{pkcs7_encrypted_data}[$i]->{parameters};
  like($parameters->{iteration}, qr/2048/, "pkcs7_data parameters iteration matches");
  like($parameters->{nid_long_name}, qr/pbeWithSHA1And40BitRC2-CBC/, "pkcs7_data parameters nid_long_name matches");
  like($parameters->{nid_short_name}, qr/PBE-SHA1-RC2-40/, "pkcs7_bag parameters nid_short_name matches");

  like(@$bags[0]->{cert}, qr/CERTIFICATE/, "pkcs7_encrypted_data found certificate 0");
  like(@$bags[0]->{cert}, qr/NjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYX/, "pkcs7_encrypted_data key matches");
  like(@$bags[0]->{type}, qr/certificate_bag/, "pkcs7_encrypted_data bag type matches");

  like(@$bags[0]->{issuer}, qr/C = US, O = National Aeronautics and Space Administration/, "pkcs7_encrypted_data issuer matches");
  like(@$bags[0]->{subject}, qr/C = US, O = National Aeronautics and Space Administration, serialNumber = 16 \+ CN = Steve Schoch/, "pkcs7_encrypted_data subject matches");

  like(@$bags[1]->{cert}, qr/CERTIFICATE/, "pkcs7_encrypted_data found certificate 1");

t/pkcs12-info-v3-certs-TDES.t  view on Meta::CPAN

use warnings;
use Test::More;
use Digest::SHA qw/sha256_hex/;
use Crypt::OpenSSL::Guess qw/openssl_version find_openssl_prefix find_openssl_exec/;

my ($major, $minor, $patch) = openssl_version();
BEGIN { use_ok('Crypt::OpenSSL::PKCS12') };
my $openssl_output =<< 'OPENSSL_END';
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Certificate bag
Bag Attributes: <No Attributes>
subject=C = US, O = National Aeronautics and Space Administration, serialNumber = 16 + CN = Steve Schoch
issuer=C = US, O = National Aeronautics and Space Administration
-----BEGIN CERTIFICATE-----
MIICjTCCAfigAwIBAgIEMaYgRzALBgkqhkiG9w0BAQQwRTELMAkGA1UEBhMCVVMx
NjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFuZCBTcGFjZSBBZG1pbmlz
dHJhdGlvbjAmFxE5NjA1MjgxMzQ5MDUrMDgwMBcROTgwNTI4MTM0OTA1KzA4MDAw
ZzELMAkGA1UEBhMCVVMxNjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYXV0aWNzIGFu
ZCBTcGFjZSBBZG1pbmlzdHJhdGlvbjEgMAkGA1UEBRMCMTYwEwYDVQQDEwxTdGV2

t/pkcs12-info-v3-certs-TDES.t  view on Meta::CPAN

  my $bags = $info_hash->{pkcs7_encrypted_data}[$i]->{bags};

  is(scalar @$bags, 2, "Two bags in pkcs7_encrypted_data");

  my $bag_attributes = @$bags[0]->{bag_attributes};

  is(keys %$bag_attributes, 0, "No bag attributes in bag");

  my $parameters = $info_hash->{pkcs7_encrypted_data}[$i]->{parameters};
  like($parameters->{iteration}, qr/2048/, "pkcs7_data parameters iteration matches");
  like($parameters->{nid_long_name}, qr/pbeWithSHA1And3-KeyTripleDES-CBC/, "pkcs7_data parameters nid_long_name matches");
  like($parameters->{nid_short_name}, qr/PBE-SHA1-3DES/, "pkcs7_bag parameters nid_short_name matches");

  like(@$bags[0]->{cert}, qr/CERTIFICATE/, "pkcs7_encrypted_data found certificate 0");
  like(@$bags[0]->{cert}, qr/NjA0BgNVBAoTLU5hdGlvbmFsIEFlcm9uYX/, "pkcs7_encrypted_data key matches");
  like(@$bags[0]->{type}, qr/certificate_bag/, "pkcs7_encrypted_data bag type matches");

  like(@$bags[0]->{issuer}, qr/C = US, O = National Aeronautics and Space Administration/, "pkcs7_encrypted_data issuer matches");
  like(@$bags[0]->{subject}, qr/C = US, O = National Aeronautics and Space Administration, serialNumber = 16 \+ CN = Steve Schoch/, "pkcs7_encrypted_data subject matches");

  like(@$bags[1]->{cert}, qr/CERTIFICATE/, "pkcs7_encrypted_data found certificate 1");



( run in 0.593 second using v1.01-cache-2.11-cpan-39bf76dae61 )