Известные проблемы и устранение неполадок средства SignToolKnown issues and troubleshooting for SignTool

Наиболее распространенные типы ошибок при использовании SignTool являются внутренними и обычно выглядят примерно так:The most common types of errors when using SignTool are internal and typically look something like this:

SignTool Error: An unexpected internal error has occurred.
Error information: "Error: SignerSign() failed." (-2147024885 / 0x8007000B) 

Если код ошибки начинается с 0x8008, например 0x80080206 (APPX_E_CORRUPT_CONTENT), подписываемый пакет не является допустимым.If the error code starts with 0x8008, such as 0x80080206 (APPX_E_CORRUPT_CONTENT), the package being signed is invalid. При появлении такого типа ошибки, необходимо перестроить пакет и запустить SignTool еще раз.If you get this type of error you must rebuild the package and run SignTool again.

В инструменте SignTool есть параметр отладки для показа ошибок с сертификатом и их фильтрации.SignTool has a debug option available to show certificate errors and filtering. Чтобы использовать функцию отладки, поместите параметр /debug сразу после sign, а затем полную команду SignTool.To use the debugging feature, place the /debug option directly after sign, followed by the full SignTool command.

SignTool sign /debug [options]

Наиболее распространенная ошибка — 0x8007000B.A more common error is 0x8007000B. О подобном типе ошибки можно найти дополнительные сведения в журнале событий.For this type of error, you can find more information in the event log.

Для получения дополнительных сведений в журнале событий:To find more information in the event log:

  • Запустите Eventvwr.mscRun Eventvwr.msc
  • Откройте журнал событий: Просмотр событий (локальных) -> Приложения и журналы служб -> Microsoft -> Windows -> AppxPackagingOM -> Microsoft-Windows-AppxPackaging/OperationalOpen the event log: Event Viewer (Local) -> Applications and Services Logs -> Microsoft -> Windows -> AppxPackagingOM -> Microsoft-Windows-AppxPackaging/Operational
  • Поиск последнего события об ошибкеFind the most recent error event

Внутренняя ошибка 0x8007000B обычно соответствует одному из следующих значений:The internal error 0x8007000B usually corresponds to one of these values:

ИД событияEvent ID Пример строки событияExample event string ПредложенSuggestion
150150 ошибка 0x8007000B: имя издателя манифеста приложения (CN=Contoso) должно соответствовать имени субъекта сертификата подписи (CN=Contoso, C=US).error 0x8007000B: The app manifest publisher name (CN=Contoso) must match the subject name of the signing certificate (CN=Contoso, C=US). Имя издателя манифеста приложения должно точно соответствовать имени субъекта подписи.The app manifest publisher name must exactly match the subject name of the signing.
151151 ошибка 0x8007000B: указанный хэш-метод подписи (SHA512) должен соответствовать хэш-методу, использованному в схеме блоков пакета приложения (SHA256).error 0x8007000B: The signature hash method specified (SHA512) must match the hash method used in the app package block map (SHA256). В параметре /fd указан неправильный HashAlgorithm.The hashAlgorithm specified in the /fd parameter is incorrect. Повторно запустите SignTool, указав hashAlgorithm, совпадающий со схемой блоков пакета приложения (который использовался при создании пакета приложения)Rerun SignTool using hashAlgorithm that matches the app package block map (used to create the app package)
152152 Ошибка 0x8007000B: содержимого пакета приложения должно подходить под схему блоков.error 0x8007000B: The app package contents must validate against its block map. Пакет приложения поврежден и его необходимо перестроить для формирования новой схемы блока.The app package is corrupt and needs to be rebuilt to generate a new block map. Подробнее о ручном создании пакета приложения, см. Создания пакета приложения с помощью средства MakeAppx.exe.For more about creating an app package, see Create an app package with the MakeAppx.exe tool