Ошибка SignTool: указанный алгоритм нельзя использовать или он недействителен.

Я пытаюсь использовать Visual Studio 2012 Express для подписи моего файла appx для приложения магазина Windows, но получаю следующую ошибку:

SignTool Error: The specified algorithm cannot be used or is invalid

Я запускаю процесс через меню STORE-> Create App Packages, поэтому у меня нет прямого доступа к параметрам SignTool.

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

Есть идеи, что могло вызвать это и как это исправить?

РЕДАКТИРОВАТЬ: подозревалось, что проблема заключалась в том, что наш обычный сертификат не поддерживал SHA-256, поэтому я создал новый тестовый сертификат в Visual Studio, но получил тот же результат.

EDIT2: проверено, что алгоритм хеширования в моем пакете appx - SHA256, попытался запустить SignTool вручную с помощью следующей команды:

SignTool sign /a /f My_TemporaryKey.pfx /fd SHA256 /v /debug MyAppPackage.appx

Та же ошибка, в сообщениях консоли нет полезной информации.


person WildCrustacean    schedule 02.09.2014    source источник
comment
Вы столкнулись с той же проблемой ... нашли ли вы какое-либо решение или обходной путь?   -  person saurav    schedule 21.04.2015


Ответы (2)


Это происходит, когда сертификат не установлен на ПК, на котором вы пытаетесь подписать приложение.

Установите .pfx файл на ПК и попробуйте снова подписать приложение. Чтобы установить его, щелкните сертификат правой кнопкой мыши и выберите «Установить». Затем следуйте инструкциям по установке на локальный компьютер.

person Sharafat Ahmed Sabir    schedule 08.07.2019

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

Чтобы преодолеть это, мне пришлось изменить свой обычный сервер временных меток, который является необязательным параметром SignTool / t или / tr, как предложено Даниэлем Георгиевым. В этом случае я выбрал http://timestamp.comodoca.com.

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

(*) После импорта сертификата больше не нужно указывать .pfx в процессе подписания.

Signtool.exe sign /t http://timestamp.comodoca.com /a /n "FileToBeSigned.exe" /v "MyExeFullPath" 

В случае, если это все равно не удается, я предлагаю вам проверить эти компрометирующие альтернативные серверы временных меток

person Julio Nobre    schedule 09.05.2020