# exported via command: perl examples/x509_cert_details.pl -dump -pem t/data/extended-cert.cert.pem > t/data/extended-cert.cert.pem_dump
# hashref dumped via Data::Dump
{
  cdp              => [
                        "http://intermediate-ca.net-ssleay.example/crl1.crl",
                        "http://intermediate-ca.net-ssleay.example/crl2.crl",
                      ],
  certificate_type => 305,
  digest_sha1      => {
                        pubkey => pack("H*","db74943bae1b9a5a4749fee47bc40dd18ca9f6bd"),
                        x509   => pack("H*","0e54235bc35990a1c68c5960a964ef3836082cc9"),
                      },
  extensions       => {
                        count   => 10,
                        entries => [
                                     {
                                       critical => 0,
                                       data => "OCSP - URI:http://ocsp.intermediate-ca.net-ssleay.example\nCA Issuers - URI:http://issuers.intermediate-ca.net-ssleay.example",
                                       ln => "Authority Information Access",
                                       nid => 177,
                                       oid => "1.3.6.1.5.5.7.1.1",
                                       sn => "authorityInfoAccess",
                                     },
                                     {
                                       critical => 0,
                                       data => "D5:D3:4D:E4:59:B9:5C:75:F6:D9:72:F3:9B:DC:FB:EE:80:26:91:6F",
                                       ln => "X509v3 Authority Key Identifier",
                                       nid => 90,
                                       oid => "2.5.29.35",
                                       sn => "authorityKeyIdentifier",
                                     },
                                     {
                                       critical => 1,
                                       data => "CA:FALSE",
                                       ln => "X509v3 Basic Constraints",
                                       nid => 87,
                                       oid => "2.5.29.19",
                                       sn => "basicConstraints",
                                     },
                                     {
                                       critical => 0,
                                       data => "Policy: 1.2.3.4.5\nPolicy: 2.3.4.5.6",
                                       ln => "X509v3 Certificate Policies",
                                       nid => 89,
                                       oid => "2.5.29.32",
                                       sn => "certificatePolicies",
                                     },
                                     {
                                       critical => 0,
                                       data => "Full Name:\n  URI:http://intermediate-ca.net-ssleay.example/crl1.crl\nFull Name:\n  URI:http://intermediate-ca.net-ssleay.example/crl2.crl",
                                       ln => "X509v3 CRL Distribution Points",
                                       nid => 103,
                                       oid => "2.5.29.31",
                                       sn => "crlDistributionPoints",
                                     },
                                     {
                                       critical => 1,
                                       data => "TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping, OCSP Signing, ipsec Internet Key Exchange, Microsoft Individual Code Signing, Microsoft Commercial Code Signing, Microsoft Trust List Signing, Microsoft Encrypted File System, 1.3.6.1.5.5.7.3.13, 1.3.6.1.5.5.7.3.14",
                                       ln => "X509v3 Extended Key Usage",
                                       nid => 126,
                                       oid => "2.5.29.37",
                                       sn => "extendedKeyUsage",
                                     },
                                     {
                                       critical => 0,
                                       data => "email:intermediate-ca\@net-ssleay.example, URI:http://intermediate-ca.net-ssleay.example, DNS:intermediate-ca.net-ssleay.example, Registered ID:1.2.0.0, IP Address:192.168.0.1, IP Address:FD25:F814:AFB5:9873:0:0:0:1, othername: emailAddress::ica\@net-ssleay.example",
                                       ln => "X509v3 Issuer Alternative Name",
                                       nid => 86,
                                       oid => "2.5.29.18",
                                       sn => "issuerAltName",
                                     },
                                     {
                                       critical => 0,
                                       data => "Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign, Decipher Only",
                                       ln => "X509v3 Key Usage",
                                       nid => 83,
                                       oid => "2.5.29.15",
                                       sn => "keyUsage",
                                     },
                                     {
                                       critical => 0,
                                       data => "email:john.doe\@net-ssleay.example, URI:http://johndoe.net-ssleay.example, DNS:johndoe.net-ssleay.example, Registered ID:1.2.3.4, IP Address:192.168.0.2, IP Address:FD25:F814:AFB5:9873:0:0:0:2, othername: emailAddress::jd\@net-ssleay.example",
                                       ln => "X509v3 Subject Alternative Name",
                                       nid => 85,
                                       oid => "2.5.29.17",
                                       sn => "subjectAltName",
                                     },
                                     {
                                       critical => 0,
                                       data => "DB:74:94:3B:AE:1B:9A:5A:47:49:FE:E4:7B:C4:0D:D1:8C:A9:F6:BD",
                                       ln => "X509v3 Subject Key Identifier",
                                       nid => 82,
                                       oid => "2.5.29.14",
                                       sn => "subjectKeyIdentifier",
                                     },
                                   ],
                      },
  extkeyusage      => {
                        ln  => [
                                 "TLS Web Server Authentication",
                                 "TLS Web Client Authentication",
                                 "Code Signing",
                                 "E-mail Protection",
                                 "Time Stamping",
                                 "OCSP Signing",
                                 "ipsec Internet Key Exchange",
                                 "Microsoft Individual Code Signing",
                                 "Microsoft Commercial Code Signing",
                                 "Microsoft Trust List Signing",
                                 "Microsoft Encrypted File System",
                               ],
                        nid => [129 .. 133, 180, 1022, 134, 135, 136, 138],
                        oid => [
                                 "1.3.6.1.5.5.7.3.1",
                                 "1.3.6.1.5.5.7.3.2",
                                 "1.3.6.1.5.5.7.3.3",
                                 "1.3.6.1.5.5.7.3.4",
                                 "1.3.6.1.5.5.7.3.8",
                                 "1.3.6.1.5.5.7.3.9",
                                 "1.3.6.1.5.5.7.3.17",
                                 "1.3.6.1.4.1.311.2.1.21",
                                 "1.3.6.1.4.1.311.2.1.22",
                                 "1.3.6.1.4.1.311.10.3.1",
                                 "1.3.6.1.4.1.311.10.3.4",
                                 "1.3.6.1.5.5.7.3.13",
                                 "1.3.6.1.5.5.7.3.14",
                               ],
                        sn  => [
                                 "serverAuth",
                                 "clientAuth",
                                 "codeSigning",
                                 "emailProtection",
                                 "timeStamping",
                                 "OCSPSigning",
                                 "ipsecIKE",
                                 "msCodeInd",
                                 "msCodeCom",
                                 "msCTLSign",
                                 "msEFS",
                               ],
                      },
  fingerprint      => {
                        md5  => "D8:B8:96:CB:80:3B:B1:59:E6:D8:D7:DF:82:9F:B9:4A",
                        sha1 => "0E:54:23:5B:C3:59:90:A1:C6:8C:59:60:A9:64:EF:38:36:08:2C:C9",
                      },
  hash             => {
                        issuer => { dec => 2397076613, hex => "8EE07C85" },
                        issuer_and_serial => { dec => 2318623373, hex => "8A33628D" },
                        subject => { dec => 1333988679, hex => "4F830D47" },
                      },
  issuer           => {
                        count => 4,
                        entries => [
                          {
                            data => "PL",
                            data_utf8_decoded => "PL",
                            ln => "countryName",
                            nid => 14,
                            oid => "2.5.4.6",
                            sn => "C",
                          },
                          {
                            data => "Net-SSLeay",
                            data_utf8_decoded => "Net-SSLeay",
                            ln => "organizationName",
                            nid => 17,
                            oid => "2.5.4.10",
                            sn => "O",
                          },
                          {
                            data => "Test Suite",
                            data_utf8_decoded => "Test Suite",
                            ln => "organizationalUnitName",
                            nid => 18,
                            oid => "2.5.4.11",
                            sn => "OU",
                          },
                          {
                            data => "Intermediate CA",
                            data_utf8_decoded => "Intermediate CA",
                            ln => "commonName",
                            nid => 13,
                            oid => "2.5.4.3",
                            sn => "CN",
                          },
                        ],
                        oneline => "/C=PL/O=Net-SSLeay/OU=Test Suite/CN=Intermediate CA",
                        print_rfc2253 => "CN=Intermediate CA,OU=Test Suite,O=Net-SSLeay,C=PL",
                        print_rfc2253_utf8 => "CN=Intermediate CA,OU=Test Suite,O=Net-SSLeay,C=PL",
                        print_rfc2253_utf8_decoded => "CN=Intermediate CA,OU=Test Suite,O=Net-SSLeay,C=PL",
                      },
  keyusage         => [
                        "digitalSignature",
                        "nonRepudiation",
                        "keyEncipherment",
                        "dataEncipherment",
                        "keyAgreement",
                        "keyCertSign",
                        "cRLSign",
                        "decipherOnly",
                      ],
  not_after        => "2038-01-01T00:00:00Z",
  not_before       => "2020-01-01T00:00:00Z",
  ns_cert_type     => [],
  pubkey_alg       => "rsaEncryption",
  pubkey_bits      => 2048,
  pubkey_security_bits => 112,
  pubkey_id        => 6,
  pubkey_size      => 256,
  serial           => { dec => 2, hex => "02", long => 2 },
  signature_alg    => "sha256WithRSAEncryption",
  subject          => {
                        altnames => [
                          1,
                          "john.doe\@net-ssleay.example",
                          6,
                          "http://johndoe.net-ssleay.example",
                          2,
                          "johndoe.net-ssleay.example",
                          8,
                          "1.2.3.4",
                          7,
                          "\xC0\xA8\0\2",
                          7,
                          pack("H*","fd25f814afb598730000000000000002"),
                          0,
                          "jd\@net-ssleay.example",
                        ],
                        count => 14,
                        entries => [
                          {
                            data => "PL",
                            data_utf8_decoded => "PL",
                            ln => "countryName",
                            nid => 14,
                            oid => "2.5.4.6",
                            sn => "C",
                          },
                          {
                            data => "Net-SSLeay",
                            data_utf8_decoded => "Net-SSLeay",
                            ln => "organizationName",
                            nid => 17,
                            oid => "2.5.4.10",
                            sn => "O",
                          },
                          {
                            data => "Test Suite",
                            data_utf8_decoded => "Test Suite",
                            ln => "organizationalUnitName",
                            nid => 18,
                            oid => "2.5.4.11",
                            sn => "OU",
                          },
                          {
                            data => "net-ssleay.example",
                            data_utf8_decoded => "net-ssleay.example",
                            ln => "dnQualifier",
                            nid => 174,
                            oid => "2.5.4.46",
                            sn => "dnQualifier",
                          },
                          {
                            data => "State",
                            data_utf8_decoded => "State",
                            ln => "stateOrProvinceName",
                            nid => 16,
                            oid => "2.5.4.8",
                            sn => "ST",
                          },
                          {
                            data => "John Doe",
                            data_utf8_decoded => "John Doe",
                            ln => "commonName",
                            nid => 13,
                            oid => "2.5.4.3",
                            sn => "CN",
                          },
                          {
                            data => 1234,
                            data_utf8_decoded => 1234,
                            ln => "serialNumber",
                            nid => 105,
                            oid => "2.5.4.5",
                            sn => "serialNumber",
                          },
                          {
                            data => "Locality",
                            data_utf8_decoded => "Locality",
                            ln => "localityName",
                            nid => 15,
                            oid => "2.5.4.7",
                            sn => "L",
                          },
                          {
                            data => "Mr.",
                            data_utf8_decoded => "Mr.",
                            ln => "title",
                            nid => 106,
                            oid => "2.5.4.12",
                            sn => "title",
                          },
                          {
                            data => "John",
                            data_utf8_decoded => "John",
                            ln => "givenName",
                            nid => 99,
                            oid => "2.5.4.42",
                            sn => "GN",
                          },
                          {
                            data => "JD",
                            data_utf8_decoded => "JD",
                            ln => "initials",
                            nid => 101,
                            oid => "2.5.4.43",
                            sn => "initials",
                          },
                          {
                            data => "John Q. Public",
                            data_utf8_decoded => "John Q. Public",
                            ln => "pseudonym",
                            nid => 510,
                            oid => "2.5.4.65",
                            sn => "pseudonym",
                          },
                          {
                            data => "Sr.",
                            data_utf8_decoded => "Sr.",
                            ln => "generationQualifier",
                            nid => 509,
                            oid => "2.5.4.44",
                            sn => "generationQualifier",
                          },
                          {
                            data => "john.doe\@net-ssleay.example",
                            data_utf8_decoded => "john.doe\@net-ssleay.example",
                            ln => "emailAddress",
                            nid => 48,
                            oid => "1.2.840.113549.1.9.1",
                            sn => "emailAddress",
                          },
                        ],
                        oneline => "/C=PL/O=Net-SSLeay/OU=Test Suite/dnQualifier=net-ssleay.example/ST=State/CN=John Doe/serialNumber=1234/L=Locality/title=Mr./GN=John/initials=JD/pseudonym=John Q. Public/generationQualifier=Sr./emailAddress=john.doe\@net-ssleay.example",
                        print_rfc2253 => "emailAddress=john.doe\@net-ssleay.example,generationQualifier=Sr.,pseudonym=John Q. Public,initials=JD,GN=John,title=Mr.,L=Locality,serialNumber=1234,CN=John Doe,ST=State,dnQualifier=net-ssleay.example,OU=Test Suite,O=Net-SSLeay,C=PL",
                        print_rfc2253_utf8 => "emailAddress=john.doe\@net-ssleay.example,generationQualifier=Sr.,pseudonym=John Q. Public,initials=JD,GN=John,title=Mr.,L=Locality,serialNumber=1234,CN=John Doe,ST=State,dnQualifier=net-ssleay.example,OU=Test Suite,O=Net-SSLeay,C=PL",
                        print_rfc2253_utf8_decoded => "emailAddress=john.doe\@net-ssleay.example,generationQualifier=Sr.,pseudonym=John Q. Public,initials=JD,GN=John,title=Mr.,L=Locality,serialNumber=1234,CN=John Doe,ST=State,dnQualifier=net-ssleay.example,OU=Test Suite,O=Net-SSLeay,C=PL",
                      },
  version          => 2,
}