Я пытаюсь подписать манифест с использованием 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
для подписания манифеста с альтернативным поставщиком хранилища ключей?
ПРИМЕЧАНИЕ. Сертификат должен находиться в 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
.