2016-06-25 4 views
0

Я пытаюсь подписать один из моих WIX EXE с помощью значка. Когда я создаю сертификат и устанавливаю его в хранилище сертификатов Windows, я могу легко проверить EXE с помощью инструмента значка. Но когда я пытаюсь создать файл PFX и подписать его, он успешно подписан. Но когда я пытаюсь проверить его, он выдает следующую ошибку.Использование файла pfx для подписи и проверки с помощью signtool.exe

SignTool Error: WinVerifyTrust returned error: 0x800B010A 
    A certificate chain could not be built to a trusted root authority. 

Number of errors: 1 

Я попытался с помощью цепочки сертификатов и подписи с помощью команд, указанных в ответе https://social.msdn.microsoft.com/Forums/sqlserver/en-US/da5d1aef-5dbc-4400-8972-fef4d7139d99/where-windows-sdk-tools-like-cert2spcexe-and-pvk2pfxexe-go?forum=windowssdk. Но это приводит к той же ошибке. Мое требование - подписывать и проверять с помощью файла PFX с помощью signtool. Я не могу использовать Windows Store. Любая помощь приветствуется.

+0

Как вы создали файл PFX? Когда вы говорите «подписать это», «это» относится к WIX EXE? – bradfordrg

+0

Я создал PFX, следуя пошаговым инструкциям в https://msdn.microsoft.com/en-us/library/ff699202.aspx, и да, 'it' относится к WIX EXE. Когда я подписываю exe, используя мой PFX, EXE подписывается. Но когда я пытаюсь проверить его с помощью инструмента знака, используя команду «SignTool verify/pa MyControl.exe», она выдает ошибку, указанную в вопросе. – mayooran

ответ

1

Метод, описанный в http://msdn.microsoft.com/en-us/library/ff699202.aspx, создает самоподписанный сертификат испытания. Самозаверяющий тестовый сертификат не подписан доверенным сторонним лицом, поэтому вы получаете сообщение об ошибке «Цепочка сертификатов не может быть создана для доверенного корневого центра». при попытке проверить файл, подписанный сертификатом.

Если вы хотите исправить ошибку, вам нужно будет получить сертификат подписи кода от центра сертификации. Обычно за отдельную плату.

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