Crypt-Format

 view release on metacpan or  search on metacpan

lib/Crypt/Format.pm  view on Meta::CPAN

    # Strip the first line:
    $pem =~ s<.+?[\x0d\x0a]+><>s;

    # Strip the last line and any trailing CRs and LFs:
    $pem =~ s<[\x0d\x0a]+ [^\x0d\x0a]+? [\x0d\x0a]*\z><>sx;

    return _do_base64('decode', $pem);
}

sub split_pem_chain {
    return split m[(?<=-)[\x0d\x0a]+(?=-)], shift();
}

sub _do_base64 {
    my $path = "$BASE64_MODULE.pm";
    $path =~ s<::></>g;

    _load_module($BASE64_MODULE) if !$INC{$path};

    my $cr = $BASE64_MODULE->can(shift);
    return $cr->(@_);

t/003_normalize.t  view on Meta::CPAN

-----BEGIN CERTIFICATE-----
MIIFTjCCBDagAwIBAgIRAJj88Oe9epkCKrF9pCHm0XkwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTYwNAYDVQQDEy1DT01PRE8gUlNBIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZX...
-----END CERTIFICATE-----
END

my $normalized = Crypt::Format::normalize_pem($weird);

my $max = 76;

ok(
    !(grep { length > $max } split m<\x0a>, $normalized),
    "no line longer than $max chars",
) or diag $normalized;



( run in 0.840 second using v1.01-cache-2.11-cpan-71847e10f99 )