Я пытаюсь подписать манифест, используя mage.exe
с сертификатом, который хранится в Amazon CloudHSM.
У меня установлен клиент Amazon CloudHSM для Windows, который добавляет поставщиков Cavium Key Storage Provider
и Cavium CNG Provider
,Я могу подписаться signtool.exe
, используя свой сертификат в CloudHSM, но не могу заставить mage.exe
работать.У меня есть mage.exe
для NETFX 4.7.2, поэтому он имеет параметр -CryptoProvider
.
Я попытался указать обоих вышеуказанных провайдеров для -CryptoProvider
:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\mage.exe" -Sign myapp.exe.manifest -CertHash <thumbpring> -CryptoProvider "Cavium Key Storage Provider" -KeyContainer my
НоЯ получаю:
Внутренняя ошибка, пожалуйста, попробуйте еще раз.Указан неверный тип провайдера.
Каковы правильные параметры для вызова mage.exe
для подписания манифеста с поставщиком альтернативного хранилища ключей?
ПРИМЕЧАНИЕ. Сертификат must быть в HSM.Использование сертификата в другом хранилище не вариант.
ПРИМЕЧАНИЕ 2. Поскольку я могу подписать с помощью signtool.exe
, сертификат доступен, CloudHSM настроен правильно и т. Д. Эта проблема, по-видимому, связана сдоступ к этому сертификату с помощью mage.exe
.
ОБНОВЛЕНИЕ: Я использовал JetBrains dotPeek для дизассемблирования .NET Framework 4.7.2 mage.exe
, экспортировал его в проект, взломал проект, достаточный для его компиляции, иЯ могу подписать взломанный mage.exe
.Мне нужен был только параметр -CertHash
, а не -CryptoProvider
.Я не уверен, что это проблема с разрешениями, потому что некоторые из того, что я вынул для компиляции, были атрибутами сборки и делали его без знака.
Я не считаю, что это решено, потому что я бы предпочел не использоватьвзломанная версия mage.exe
для нашего производственного приложения.Кроме того, я даже не подтвердил, что могу подписать приложение и манифесты развертывания таким образом, чтобы приложение ClickOnce могло правильно развернуться.Это просто дополнительная информация для поиска решения с «авторизованным» mage.exe
.