pkcs7 — PKCS#7 utility
opensslpkcs7 [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-out filename] [-print_certs] [-text] [-noout] [-engine id]
The pkcs7 command processes PKCS#7 files in DER or PEM format.
- -inform DER|PEM
- This specifies the input format. DER format is DER encoded PKCS#7 v1.5 structure.PEM (the default) is a base64 encoded version of the DER form with header and footer lines.
- -outform DER|PEM
- This specifies the output format, the options have the same meaning as the -inform option.
- -in filename
- This specifies the input filename to read from or standard input if this option is not specified.
- -out filename
- specifies the output filename to write to or standard output by default.
- prints out any certificates or CRLs contained in the file. They are preceded by their subject and issuer names in one line format.
- prints out certificates details in full rather than just subject and issuer names.
- don't output the encoded version of the PKCS#7 structure (or certificates is -print_certs is set).
- -engine id
- specifying an engine (by its unique id string) will cause pkcs7 to attempt to obtain a functional reference to the specified engine, thus initialising it if needed. The engine will then be set as the default for all available algorithms.
Convert a PKCS#7 file from PEM to DER:
openssl pkcs7 -in file.pem -outform DER -out file.der
Output all certificates in a file:
openssl pkcs7 -in file.pem -print_certs -out certs.pem
The PEM PKCS#7 format uses the header and footer lines:
-----BEGIN PKCS7----- -----END PKCS7-----
For compatibility with some CAs it will also accept:
-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
There is no option to print out all the fields of a PKCS#7 file.
This PKCS#7 routines only understand PKCS#7 v 1.5 as specified in RFC2315 they cannot currently parse, for example, the new CMS as described in RFC2630.