Установил сертификат .pfx через wix, выдает ошибку набора ключей, но ручная установка не выполняется - PullRequest
2 голосов
/ 24 мая 2011

Я посмотрел на этот ответ: Установка сертификата pfx в хранилище пользователей в Windows с помощью WiX чтобы установить сертификат через wix, и он, кажется, работает нормально, сертификаты (мне нужно два) были установлены в правильных хранилищах местоположений и имели правильные значения для проблем, выданных и выданных.

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

Когда я вручную устанавливаю файл pfx, используя MMC-> import из точно определенного места в wix, он отлично работает.

Разрешения немного отличаются в том смысле, что wix добавил права владельца и разрешения msiserver и удаляет временное разрешение чтения S-1-5-5-0-XXXXX, которое я не могу добавить вручную.

Кто-нибудь знает, что может вызвать эту проблему?

1 Ответ

1 голос
/ 08 июля 2011

Это не проблема с разрешениями, а проблема с установкой msi.

Чтобы получить необходимые разрешения для установки сертификата, это действие должно быть запущено как отложенное действие, которое выполняется подсистемная учетная запись.

Системная учетная запись не имеет профиля, который, по моему мнению, необходим для установки сертификата с закрытым ключом (я считаю, что закрытый ключ временно записывается в профиль перед перемещением в хранилище MachineKey).

Мне удалось заставить MSI установить сертификат с закрытым ключом, но это было чем-то вроде миссии ...

  1. Я создал консольное приложение, которое генерирует и импортирует сертификат.
  2. Удалите этот exe-файл в папку установки как часть установки.
  3. Используя олицетворение CustomAction, создайте команду PowerShell с повышенными правами (-Verb RunAs).
  4. Запуститескрипт, который выполняет exe.

Как я уже сказал, немного миссии, но в настоящее время работает отлично!:)

...