Совместные хранилища сертификатов (приложения Магазина Windows)
В операционных системах Windows Server 2012 и Windows 8 введены новые модели изоляции, приложения и разработки.
- Новая модель изоляции позволяет приложению работать внутри низкоуровневого структурного элемента операционной системы, называемого контейнером приложения, который закрывает приложению доступ к ресурсам или файлам за своими пределами, если на это нет явного разрешения.
- Новая модель приложения определяет приложение Магазина Windows. Приложения Магазина Windows выполняются внутри собственного контейнера, имеют объявленный набор возможностей и могут легко устанавливаться, выполняться и удаляться, не влияя на систему в целом.
- Новая модель разработки включает пакет средств разработки программного обеспечения для Windows 8, созданный для упрощения доступа к возможностям Windows Server 2012 и Windows 8. Если вы создаете приложение Магазина Windows, можно использовать только те типы, которые доступны через Windows SDK для Windows 8.
Перечисленные новые модели, в особенности модель изоляции, отражаются на инфраструктуре открытых ключей (PKI), чему посвящены следующие разделы.
Хранение сертификатов для контейнера приложения
Сертификаты, предназначенные для использования в конкретном контейнере приложения, хранятся в хранилищах для каждого пользователя и контейнера. Приложение Магазина Windows, выполняемое в контейнере, имеет доступ на запись только к своему хранилищу сертификатов. Если приложение добавляет сертификаты в какое-либо из своих хранилищ, другие приложения Магазина Windows не могут читать эти сертификаты. Когда приложение Магазина Windows удаляется, вместе с ним удаляются и его сертификаты. Приложение Магазина Windows имеет также доступ на чтение ко всем хранилищам сертификатов локального компьютера, кроме хранилищ MY и REQUEST.
Кэш
У каждого контейнера приложения есть изолированный кэш, в котором могут сохраняться сертификаты поставщиков, необходимые для проверки, списки отзыва сертификатов (CRL) и ответы OCSP.
Общие сертификаты и ключи
Когда смарт-карта вставляется в устройство чтения смарт-карт, хранящиеся на карте сертификаты и ключи передаются в хранилище MY пользователя, где их может параллельно использовать любое приложение с полным доверием, которое запустил этот пользователь. Но по умолчанию контейнеры приложений не имеют доступа к хранилищу MY пользователя.
Поэтому, чтобы группы субъектов могли получать доступ к группам ресурсов, модель изоляции на основе контейнеров приложений поддерживает так называемые возможности. Возможность — это атрибут, который обеспечивает процессу контейнера приложения доступ к конкретному ресурсу. Например, возможность sharedUserCertificates предоставляет контейнеру приложения доступ на чтение к сертификатам и ключам, находящимся в хранилище MY и хранилище доверенных корневых сертификатов смарт-карты. При этом она не предоставляет доступа на чтение к хранилищу REQUEST пользователя.
Возможность sharedUserCertificates объявляется в манифесте, как показано в следующем примере.
<Capabilities>
<Capability Name="sharedUserCertificates" />
</Capabilities>
Связанные разделы
Схема создания приложений Магазина Windows на C# или Visual Basic