Поделиться через


Цепочки сертификатов

Чтобы использовать сертификаты для безопасности, необходимо проверить подлинность и допустимость каждого полученного сертификата. Эта проверка зависит от концепции доверия и делегирования доверия; Дополнительные сведения см. в разделе иерархии доверия.

Каждый сертификат содержит поле субъекта, определяющее личность или группу, к которой был выдан сертификат. Каждый сертификат также содержит поле издателя, определяющее центр сертификации (ЦС), который может сертифицировать удостоверение субъекта.

Цепочка сертификатов состоит из всех сертификатов, необходимых для сертификации субъекта, определяемого конечным сертификатом. На практике это включает в себя конечный сертификат, сертификаты промежуточных ЦС и сертификат корневого ЦС, доверенный всеми сторонами в цепочке. Каждый промежуточный ЦС в цепочке содержит сертификат, выданный ЦС одного уровня над ним в иерархии доверия. Корневой ЦС выдает сертификат для себя.

Процесс проверки подлинности и допустимости только что полученного сертификата включает проверку всех сертификатов в цепочке сертификатов из исходного, универсально доверенного ЦС через все промежуточные ЦС до только что полученного сертификата, который называется конечным сертификатом. Новый сертификат можно доверять только в том случае, если каждый сертификат в цепочке сертификатов правильно выдан и действителен.

Отслеживание всех сертификатов, которые возвращают новый конечный сертификат, может стать громоздким. Таким образом, технология CryptoAPI 2.0 предоставляет функции, автоматизирующие создание цепочки сертификатов, которые поддерживают любой заданный конечный сертификат. Эти функции также проверяют и сообщают о действительности каждого сертификата в цепочке.

Функции создания цепочки и проверки функций CryptoAPI 2.0 используют механизм цепочки для создания и проверки цепочек сертификатов. Подсистема цепочки определяет пространство имен хранилища и секционирование кэша для инфраструктуры цепочки сертификатов. CryptoAPI 2.0 предоставляет механизм цепочки по умолчанию для любого процесса приложения, использующего только системные хранилища по умолчанию (например, MY, Root, CA и Trust) для создания и кэширования цепочки. Приложение может определять собственное пространство имен хранилища или иметь собственный секционированные кэш, создав собственный механизм цепочки. Чтобы достичь оптимального поведения кэширования, рекомендуется создать один механизм цепочки при запуске приложения и использовать этот механизм цепочки в течение всего времени существования приложения.

Список функций см. в разделе Функции проверки цепочки сертификатов. Сведения о программе, которая создает цепочки сертификатов и проверяет сертификаты, см. в разделе Пример программы C: создание цепочки сертификатов.