The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

# exported via command: perl examples/x509_cert_details.pl -dump -pem t/data/testcert_extended.crt.pem > t/data/testcert_extended.crt.pem_dump
# hashref dumped via Data::Dump
{
  cdp              => ["http://serv1.com/crl1", "http://serv1.com/crl2"],
  certificate_type => 4145,
  digest_sha1      => {
                        pubkey => pack("H*","a27e9d29dd68e2f1f47c8c14eeaed72245622dff"),
                        x509   => pack("H*","c682b9055dde00ce08f61be9bc485597a1f54bb3"),
                      },
  extensions       => {
                        count   => 17,
                        entries => [
                                     {
                                       critical => 1,
                                       data => "CA:FALSE",
                                       ln => "X509v3 Basic Constraints",
                                       nid => 87,
                                       oid => "2.5.29.19",
                                       sn => "basicConstraints",
                                     },
                                     {
                                       critical => 0,
                                       data => "A2:7E:9D:29:DD:68:E2:F1:F4:7C:8C:14:EE:AE:D7:22:45:62:2D:FF",
                                       ln => "X509v3 Subject Key Identifier",
                                       nid => 82,
                                       oid => "2.5.29.14",
                                       sn => "subjectKeyIdentifier",
                                     },
                                     {
                                       critical => 0,
                                       data => "keyid:C8:1C:DA:92:0A:A9:48:08:3A:76:76:15:38:04:F1:34:D9:15:D0:20\nDirName:/C=US/O=Demo1/CN=CA1\nserial:12:34:56\n",
                                       ln => "X509v3 Authority Key Identifier",
                                       nid => 90,
                                       oid => "2.5.29.35",
                                       sn => "authorityKeyIdentifier",
                                     },
                                     {
                                       critical => 0,
                                       data => "Digital Signature, Non Repudiation, Key Encipherment, CRL Sign, Decipher Only",
                                       ln => "X509v3 Key Usage",
                                       nid => 83,
                                       oid => "2.5.29.15",
                                       sn => "keyUsage",
                                     },
                                     {
                                       critical => 1,
                                       data => "TLS Web Server Authentication, Code Signing, Microsoft Trust List Signing, IPSec End System, IPSec Tunnel, IPSec User, 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:alt1\@email.com, Registered ID:1.2.3.4.5, URI:http://name.dom.com/whatever, DNS:dns.name.com, IP Address:10.11.12.13, othername:<unsupported>, IP Address:2A00:1450:4001:C01:0:0:0:93",
                                       ln => "X509v3 Subject Alternative Name",
                                       nid => 85,
                                       oid => "2.5.29.17",
                                       sn => "subjectAltName",
                                     },
                                     {
                                       critical => 0,
                                       data => "email:issuer.altname\@email.com, Registered ID:1.2.0.0, URI:http://issuer.com/xyz, DNS:issuer.alt.name, IP Address:1.2.3.4",
                                       ln => "X509v3 Issuer Alternative Name",
                                       nid => 86,
                                       oid => "2.5.29.18",
                                       sn => "issuerAltName",
                                     },
                                     {
                                       critical => 0,
                                       data => "\nFull Name:\n  URI:http://serv1.com/crl1\n\nFull Name:\n  URI:http://serv1.com/crl2\n",
                                       ln => "X509v3 CRL Distribution Points",
                                       nid => 103,
                                       oid => "2.5.29.31",
                                       sn => "crlDistributionPoints",
                                     },
                                     {
                                       critical => 0,
                                       data => "OCSP - URI:http://ocsp/whatever\n",
                                       ln => "Authority Information Access",
                                       nid => 177,
                                       oid => "1.3.6.1.5.5.7.1.1",
                                       sn => "authorityInfoAccess",
                                     },
                                     {
                                       critical => 0,
                                       data => "SSL Server, Object Signing, Object Signing CA",
                                       ln => "Netscape Cert Type",
                                       nid => 71,
                                       oid => "2.16.840.1.113730.1.1",
                                       sn => "nsCertType",
                                     },
                                     {
                                       critical => 0,
                                       data => "http://netscape.base.url/xzy",
                                       ln => "Netscape Base Url",
                                       nid => 72,
                                       oid => "2.16.840.1.113730.1.2",
                                       sn => "nsBaseUrl",
                                     },
                                     {
                                       critical => 0,
                                       data => "http://netscape.revocation.url/xzy",
                                       ln => "Netscape Revocation Url",
                                       nid => 73,
                                       oid => "2.16.840.1.113730.1.3",
                                       sn => "nsRevocationUrl",
                                     },
                                     {
                                       critical => 0,
                                       data => "http://netscape.ca.revocation.url/xzy",
                                       ln => "Netscape CA Revocation Url",
                                       nid => 74,
                                       oid => "2.16.840.1.113730.1.4",
                                       sn => "nsCaRevocationUrl",
                                     },
                                     {
                                       critical => 0,
                                       data => "http://netscape.certificate.renewal.url/xzy",
                                       ln => "Netscape Renewal Url",
                                       nid => 75,
                                       oid => "2.16.840.1.113730.1.7",
                                       sn => "nsRenewalUrl",
                                     },
                                     {
                                       critical => 0,
                                       data => "http://netscape.ca.policy.url/xzy",
                                       ln => "Netscape CA Policy Url",
                                       nid => 76,
                                       oid => "2.16.840.1.113730.1.8",
                                       sn => "nsCaPolicyUrl",
                                     },
                                     {
                                       critical => 0,
                                       data => "ssl.server.name",
                                       ln => "Netscape SSL Server Name",
                                       nid => 77,
                                       oid => "2.16.840.1.113730.1.12",
                                       sn => "nsSslServerName",
                                     },
                                     {
                                       critical => 0,
                                       data => "netscape comment field",
                                       ln => "Netscape Comment",
                                       nid => 78,
                                       oid => "2.16.840.1.113730.1.13",
                                       sn => "nsComment",
                                     },
                                   ],
                      },
  extkeyusage      => {
                        ln  => [
                                 "TLS Web Server Authentication",
                                 "Code Signing",
                                 "Microsoft Trust List Signing",
                                 "IPSec End System",
                                 "IPSec Tunnel",
                                 "IPSec User",
                               ],
                        nid => [129, 131, 136, 294, 295, 296],
                        oid => [
                                 "1.3.6.1.5.5.7.3.1",
                                 "1.3.6.1.5.5.7.3.3",
                                 "1.3.6.1.4.1.311.10.3.1",
                                 "1.3.6.1.5.5.7.3.5",
                                 "1.3.6.1.5.5.7.3.6",
                                 "1.3.6.1.5.5.7.3.7",
                                 "1.3.6.1.5.5.7.3.13",
                                 "1.3.6.1.5.5.7.3.14",
                               ],
                        sn  => [
                                 "serverAuth",
                                 "codeSigning",
                                 "msCTLSign",
                                 "ipsecEndSystem",
                                 "ipsecTunnel",
                                 "ipsecUser",
                               ],
                      },
  fingerprint      => {
                        md5  => "D5:72:82:D5:85:06:4D:62:6F:17:1D:D7:77:BF:D6:11",
                        sha1 => "C6:82:B9:05:5D:DE:00:CE:08:F6:1B:E9:BC:48:55:97:A1:F5:4B:B3",
                      },
  hash             => {
                        issuer => { dec => 2914546923, hex => "ADB874EB" },
                        issuer_and_serial => { dec => 12265665, hex => "BB28C1" },
                        subject => { dec => 2258074781, hex => "86977C9D" },
                      },
  issuer           => {
                        count => 3,
                        entries => [
                          {
                            data => "US",
                            data_utf8_decoded => "US",
                            ln => "countryName",
                            nid => 14,
                            oid => "2.5.4.6",
                            sn => "C",
                          },
                          {
                            data => "Demo1",
                            data_utf8_decoded => "Demo1",
                            ln => "organizationName",
                            nid => 17,
                            oid => "2.5.4.10",
                            sn => "O",
                          },
                          {
                            data => "CA1",
                            data_utf8_decoded => "CA1",
                            ln => "commonName",
                            nid => 13,
                            oid => "2.5.4.3",
                            sn => "CN",
                          },
                        ],
                        oneline => "/C=US/O=Demo1/CN=CA1",
                        print_rfc2253 => "CN=CA1,O=Demo1,C=US",
                        print_rfc2253_utf8 => "CN=CA1,O=Demo1,C=US",
                        print_rfc2253_utf8_decoded => "CN=CA1,O=Demo1,C=US",
                      },
  keyusage         => [
                        "digitalSignature",
                        "nonRepudiation",
                        "keyEncipherment",
                        "cRLSign",
                        "decipherOnly",
                      ],
  not_after        => "2035-03-31T23:59:59Z",
  not_before       => "2012-02-01T00:00:00Z",
  ns_cert_type     => ["server", "objsign", "objCA"],
  pubkey_alg       => "rsaEncryption",
  pubkey_bits      => 1024,
  pubkey_id        => 6,
  pubkey_size      => 128,
  serial           => { dec => 1193048, hex => 123458, long => 1193048 },
  signature_alg    => "sha1WithRSAEncryption",
  subject          => {
                        altnames => [
                          1,
                          "alt1\@email.com",
                          6,
                          "http://name.dom.com/whatever",
                          2,
                          "dns.name.com",
                          7,
                          "\n\13\f\r",
                          0,
                          "othername",
                          7,
                          "*\0\24P\@\1\f\1\0\0\0\0\0\0\0\x93",
                        ],
                        count => 20,
                        entries => [
                          {
                            data => "US",
                            data_utf8_decoded => "US",
                            ln => "countryName",
                            nid => 14,
                            oid => "2.5.4.6",
                            sn => "C",
                          },
                          {
                            data => "State",
                            data_utf8_decoded => "State",
                            ln => "stateOrProvinceName",
                            nid => 16,
                            oid => "2.5.4.8",
                            sn => "ST",
                          },
                          {
                            data => "City",
                            data_utf8_decoded => "City",
                            ln => "localityName",
                            nid => 15,
                            oid => "2.5.4.7",
                            sn => "L",
                          },
                          {
                            data => "Company",
                            data_utf8_decoded => "Company",
                            ln => "organizationName",
                            nid => 17,
                            oid => "2.5.4.10",
                            sn => "O",
                          },
                          {
                            data => "Unit",
                            data_utf8_decoded => "Unit",
                            ln => "organizationalUnitName",
                            nid => 18,
                            oid => "2.5.4.11",
                            sn => "OU",
                          },
                          {
                            data => "extended.server.cert",
                            data_utf8_decoded => "extended.server.cert",
                            ln => "commonName",
                            nid => 13,
                            oid => "2.5.4.3",
                            sn => "CN",
                          },
                          {
                            data => "anyemail\@extended.server.cert",
                            data_utf8_decoded => "anyemail\@extended.server.cert",
                            ln => "emailAddress",
                            nid => 48,
                            oid => "1.2.840.113549.1.9.1",
                            sn => "emailAddress",
                          },
                          {
                            data => "Another Unit",
                            data_utf8_decoded => "Another Unit",
                            ln => "organizationalUnitName",
                            nid => 18,
                            oid => "2.5.4.11",
                            sn => "OU",
                          },
                          {
                            data => "Yet Another Unit",
                            data_utf8_decoded => "Yet Another Unit",
                            ln => "organizationalUnitName",
                            nid => 18,
                            oid => "2.5.4.11",
                            sn => "OU",
                          },
                          {
                            data => "Surname text",
                            data_utf8_decoded => "Surname text",
                            ln => "surname",
                            nid => 100,
                            oid => "2.5.4.4",
                            sn => "SN",
                          },
                          {
                            data => "Title text",
                            data_utf8_decoded => "Title text",
                            ln => "title",
                            nid => 106,
                            oid => "2.5.4.12",
                            sn => "title",
                          },
                          {
                            data => "Description text",
                            data_utf8_decoded => "Description text",
                            ln => "description",
                            nid => 107,
                            oid => "2.5.4.13",
                            sn => "description",
                          },
                          {
                            data => "Name text",
                            data_utf8_decoded => "Name text",
                            ln => "name",
                            nid => 173,
                            oid => "2.5.4.41",
                            sn => "name",
                          },
                          {
                            data => "GivenName text",
                            data_utf8_decoded => "GivenName text",
                            ln => "givenName",
                            nid => 99,
                            oid => "2.5.4.42",
                            sn => "GN",
                          },
                          {
                            data => "Initials text",
                            data_utf8_decoded => "Initials text",
                            ln => "initials",
                            nid => 101,
                            oid => "2.5.4.43",
                            sn => "initials",
                          },
                          {
                            data => "dn.qualifier",
                            data_utf8_decoded => "dn.qualifier",
                            ln => "dnQualifier",
                            nid => 174,
                            oid => "2.5.4.46",
                            sn => "dnQualifier",
                          },
                          {
                            data => "Role",
                            data_utf8_decoded => "Role",
                            ln => "role",
                            nid => 400,
                            oid => "2.5.4.72",
                            sn => "role",
                          },
                          {
                            data => "generation_qualifier",
                            data_utf8_decoded => "generation_qualifier",
                            ln => "generationQualifier",
                            nid => 509,
                            oid => "2.5.4.44",
                            sn => "generationQualifier",
                          },
                          {
                            data => "Pseudonym text",
                            data_utf8_decoded => "Pseudonym text",
                            ln => "pseudonym",
                            nid => 510,
                            oid => "2.5.4.65",
                            sn => "pseudonym",
                          },
                          {
                            data => "x500_uniq_identifier",
                            data_utf8_decoded => "x500_uniq_identifier",
                            ln => "x500UniqueIdentifier",
                            nid => 503,
                            oid => "2.5.4.45",
                            sn => "x500UniqueIdentifier",
                          },
                        ],
                        oneline => "/C=US/ST=State/L=City/O=Company/OU=Unit/CN=extended.server.cert/emailAddress=anyemail\@extended.server.cert/OU=Another Unit/OU=Yet Another Unit/SN=Surname text/title=Title text/description=Description text/name=Name text/GN=GivenName text/initials=Initials text/dnQualifier=dn.qualifier/role=Role/generationQualifier=generation_qualifier/pseudonym=Pseudonym text/x500UniqueIdentifier=x500_uniq_identifier",
                        print_rfc2253 => "x500UniqueIdentifier=x500_uniq_identifier,pseudonym=Pseudonym text,generationQualifier=generation_qualifier,role=Role,dnQualifier=dn.qualifier,initials=Initials text,GN=GivenName text,name=Name text,description=Description text,title=Title text,SN=Surname text,OU=Yet Another Unit,OU=Another Unit,emailAddress=anyemail\@extended.server.cert,CN=extended.server.cert,OU=Unit,O=Company,L=City,ST=State,C=US",
                        print_rfc2253_utf8 => "x500UniqueIdentifier=x500_uniq_identifier,pseudonym=Pseudonym text,generationQualifier=generation_qualifier,role=Role,dnQualifier=dn.qualifier,initials=Initials text,GN=GivenName text,name=Name text,description=Description text,title=Title text,SN=Surname text,OU=Yet Another Unit,OU=Another Unit,emailAddress=anyemail\@extended.server.cert,CN=extended.server.cert,OU=Unit,O=Company,L=City,ST=State,C=US",
                        print_rfc2253_utf8_decoded => "x500UniqueIdentifier=x500_uniq_identifier,pseudonym=Pseudonym text,generationQualifier=generation_qualifier,role=Role,dnQualifier=dn.qualifier,initials=Initials text,GN=GivenName text,name=Name text,description=Description text,title=Title text,SN=Surname text,OU=Yet Another Unit,OU=Another Unit,emailAddress=anyemail\@extended.server.cert,CN=extended.server.cert,OU=Unit,O=Company,L=City,ST=State,C=US",
                      },
  version          => 2,
}