Проблема в том, что процесс обслуживания не может получить доступ к вашему личному ключу, который хранится под вашей учетной записью.
Войдите в учетную запись, на которой запущен веб-сервис, и импортируйте закрытый ключ в контейнер ключей. Это можно сделать, например, с помощью инструмента для строгого имени (sn.exe) из .NET :
sn -i MyCertificate.pfx MyCodeSigningKey
Теперь измените сценарий сборки, чтобы использовать этот контейнер ключей:
signtool sign /sm /a /v /csp "Microsoft Strong Cryptographic Provider" /kc MyCodeSigningKey <other parameters...>
/kc
указывает контейнер ключа. /kc
требует, чтобы вы указали «CSP» (провайдер криптографических услуг) через переключатель /csp
. «Microsoft Strong Cryptographic Provider» - поставщик по умолчанию, используемый sn
.