Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функции сообщения CryptoAPI соответствуют стандарту синтаксиса криптографических сообщений (CMS) PKCS #7. Разработчикам необходимо ознакомиться с этой спецификацией, чтобы наиболее эффективно использовать функции сообщений низкого уровня. Здесь выделено несколько определений.
Стандарт PKCS #7 описывает общий синтаксис данных, к которым может быть применена криптография, например, цифровые подписи и цифровые обертки. Синтаксис допускает рекурсию, так что, например, один конверт может быть вложен внутри другого, или одна сторона может подписать цифровые данные, которые уже были помещены в конверт. Он также позволяет произвольным атрибутам, таким как время подписывания, проходить проверку подлинности вместе с содержимым сообщения. Кроме того, он предусматривает возможность ассоциации с сигнатурой других атрибутов, таких как контрасигнатуры.
Тип данных, содержащихся в сообщении PKCS #7, называется его типом контента. Существует два класса типов контента: Base и Enhanced.
- Базовые типы контента содержат только данные без усовершенствований шифрования. В настоящее время в этом классе существует только один тип контента, тип контента данных.
- Расширенные типы контента содержат данные определенного типа (возможно, зашифрованы) и другие усовершенствования шифрования (например, хэши или сигнатуры).
Содержимое в расширенном классе использует инкапсуляцию, создавая термины внешнего содержимого (один, содержащий улучшения) и внутреннее содержимое (то, что улучшается). Например, расширенный класс может содержать тип контента данных (базовый класс), содержащий сигнатуру, включенную в него. В этом случае тип контента данных — это внутреннее содержимое , сочетание типа контента данных и сигнатуры формирует внешнее содержимое.
Типы контента, определенные в стандарте PKCS #7, приведены ниже.
Тип контента | Описание |
---|---|
Данные | Строка октета (BYTE). |
Подписанные данные | Содержимое любого типа и зашифрованных хэшей сообщений (дайджестов) содержимого для нуля или нескольких подписчиков. |
Зашифрованные данные | Зашифрованное содержимое любого типа и зашифрованные ключи шифрования содержимого для одного или нескольких получателей. Сочетание зашифрованного содержимого и зашифрованного ключа шифрования содержимого для получателя является цифровым конвертом для этого получателя. |
Подписанные и охваченные данные | Зашифрованное содержимое любого типа, зашифрованные ключи шифрования содержимого для одного или нескольких получателей и дважды зашифрованные дайджесты сообщений для одного или нескольких подписантов. Двойное шифрование состоит из шифрования с закрытым ключом подписи, за которым следует шифрование с ключом шифрования содержимого. |
Обработанные данные | Содержимое любого типа и хэш содержимого (дайджест). |
Зашифрованные данные | Зашифрованное содержимое любого типа. В отличие от типа содержимого обернутых данных, тип содержимого зашифрованных данных не имеет ни получателей, ни ключей шифрования содержания. Предполагается, что ключи управляются другими средствами. |
Примечание.
В спецификации PKCS #7 термины дайджест и дайджест относятся к значению, полученному при применении алгоритма хэширования к данным. В этой документации используются термины хэш и хэшированные для той же цели. Например, тип данных, используемый с функциями сообщений низкого уровня, называется хэшированным, а не отсуммированным. В целях этой документации два набора терминов могут использоваться взаимозаменяемо.