Расширение имени файла | .p7b , .p7s , .p7m , .p7c ,.p7r |
---|---|
Разработано | Безопасность RSA |
Последний релиз | 1.5 1 марта 1998 г. ( 1998-03-01 ) |
Тип формата | Формат файла архива |
Контейнер для | Сертификаты открытых ключей X.509 , списки отозванных сертификатов X.509 |
В криптографии PKCS #7 («PKCS #7: Cryptographic Message Syntax», «CMS») — это стандартный синтаксис для хранения подписанных и/или зашифрованных данных. PKCS #7 — один из семейства стандартов, называемых Public-Key Cryptography Standards ( PKCS ), созданных RSA Laboratories .
Последняя версия, 1.5, доступна как RFC 2315. [1]
Обновление PKCS #7 описано в RFC 2630, [2] который в свою очередь был заменен RFC 3369, [3] RFC 3852 [4] и затем RFC 5652. [5]
Файлы PKCS #7 могут храниться как в формате raw DER , так и в формате PEM . Формат PEM такой же, как формат DER, но упакован в кодировку Base64 и зажат между ними.‑‑‑‑‑НАЧАЛО PKCS7‑‑‑‑‑и‑‑‑‑‑КОНЕЦ PKCS7‑‑‑‑‑. Windows использует .p7b
расширение имени файла [6] для обеих этих кодировок.
Типичным применением файла PKCS #7 является хранение сертификатов и/или списков отзыва сертификатов (CRL).
Вот пример того, как сначала загрузить сертификат, затем упаковать его в архив PKCS #7, а затем прочитать его из этого архива:
$ echo '' | openssl s_client -connect example.org:443 -host example.org 2 >/dev/null | openssl x509 > example.org.cer 2 >/dev/null $ openssl crl2pkcs7 -nocrl -certfile пример.org.cer -out пример.org.cer.pem.p7b$ openssl pkcs7 -in example.org.cer.pem.p7b -noout -print_certs subject=C = США, ST = Калифорния, L = Лос-Анджелес, O = Корпорация по управлению именами и IP-адресами в Интернете, OU = Технология, CN = www.example.org issuer=C = США, O = DigiCert Inc, CN = Сервер сертификации с защищенным сертификатом DigiCert SHA2
.p7r
– ответ на CSR. Содержит недавно подписанный сертификат и собственный сертификат CA..p7s
- Цифровая подпись. Может содержать исходный подписанный файл или сообщение. Используется в S/MIME для подписи электронной почты. Определено в RFC 2311..p7m
- Сообщение (SignedData, EnvelopedData), например, зашифрованный («конвертированный») файл, сообщение или письмо электронной почты MIME. Определено в RFC 2311..p7c
- вырожденная структура SignedData "certs-only", без каких-либо данных для подписи. Определено в RFC 2311..p7b
- Структура SignedData без данных, только пакет сертификатов и/или CRL (редко), но не закрытый ключ. Использует форму DER или BER или PEM, которая начинается с -----BEGIN PKCS7-----
. Формат, используемый Windows для обмена сертификатами. Поддерживается Java, но часто имеет .keystore
расширение вместо этого. В отличие от .pem
сертификатов стиля, этот формат имеет определенный способ включения сертификатов пути сертификации.