Files
certigo/tests/dump-pkcs12-chain-to-pem-first-only.t
Isaac Semaya 328db64fa0 Add --leaf flag to view the first cert only, including for json and pem
added dump-pkcs12-chain-to-pem.t to contrast with dump-pkcs12-chain-to-pem-first-only and show that multiple pem blocks are dumped without the --first flag.t
2022-02-23 16:44:05 -08:00

118 lines
7.3 KiB
Perl

Set up test data.
$ base64 --decode > example.p12 <<EOF
> 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
> TlfIjZvesIFwoYNabyLXBAiheBe+L56f7AICCAA=
> EOF
Dump PEM blocks from a PKCS12 keystore. Only the first pem block should be shown
(note that the private key is not printed as a result)
$ certigo --verbose dump --first --pem --password password example.p12
-----BEGIN CERTIFICATE-----
MIIEHzCCAgegAwIBAgIRAMNYYdrU6LgeLMBAy2UeGDowDQYJKoZIhvcNAQELBQAw
EzERMA8GA1UEAxMIQ2VydEF1dGgwHhcNMjIwMjIzMDI0MTIxWhcNMjMwODIzMDI0
MzE2WjAQMQ4wDAYDVQQDEwVBbGljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALx3haTR1grI1eO38F75leR6SnaD6puo9VJX1BScl8ZsWNCqE6XV6Fj+
Q5LWWYjui9qZW+uLdFCsYfyshzjvJ7+2xOwTAbAHP6GJjJqqLuaA1chFgFHepZVT
e0zf96PA1TDkcCILeeEw6qgoi8pafQxE3eLlLIPYYQMC0Y7QMk0B/5UFToTA1PCM
jstBe+QRjgzADGCbmn0mZulvZ9/aVCuLGuY8mhSEyJw6qxGwBrkbObZhVj4+fbfC
0i0HoMBPHGIa5K2xJSCBliVynXCtdGzpFjH64uLn+ShzQPUir1lpRCFt4UPgpP1l
W4uSWg3WiF+XHokVjmlGpLjQWZZtIs0CAwEAAaNxMG8wDgYDVR0PAQH/BAQDAgO4
MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUrSU3Jr/d
3TccQDrYn+0Z8vNRSAMwHwYDVR0jBBgwFoAU5GRfJoIow7TFwMIn8/QYzRf8U+gw
DQYJKoZIhvcNAQELBQADggIBAAz2a8UWg4qay3s8iOUiMH55l+O6KpBUlEDEvunJ
Q8EwueXWr5P4gfDuKorK7dg9fql5Q9N3Yj3c4a6+0HEN26jmPZb0xKQlqoQ72K6H
GbGEqXvcZ3Ai/EBH09e5DcM0lqEtre5ftBFespelQ423uDWTbWKZONOiaWEUkyUL
LBtPXVW514bctIwrusc7ReSJ3PW3f9rP4pIyjcA8ikUi2bc7m+Ti1qQQtbVRwJV2
wJLCHqszIOhyZpq4Ni92auK9Gqvx3W3wSQQ74od0odkeCuHmsTOHOy5ug+0TTDf/
ss+mmo8BFsOeAxVmVQoM0B3rbJeDiMiLX2BLFMHIqGKlTwLV3DtAotJhrRWpM3Ej
+iUHrAgh64P3m1x0t/yYy6HH3FuARLI8S9m7vCQPTOM67gF8A0sQfTVbrbM9VJ9Z
WrOL/ffwbkIakDXi4gEr1ednMyIyNwvbh9K+aLoHAzO1ZXGBqTZnb2eyjv6C/3zd
tHOWSHtgiH0VFeckpZc4UzOXzbcsDZk9xKWIxhFSqPcOZxhZLLBSXB9VZfkFAOcE
h01onBl0rqaFtkwb7gyz7h2+V04E3+YWS75I8GfiUi5EDgtEErY5AN6RgmP+nNoS
26M7EEhpxkSJvoxyzyor2T+7SlIdoerMi4A0zHZ2M3tQP0nOoSbeJiz5QK72hcC5
4zi0
-----END CERTIFICATE-----