Сильное именование с PFX

Я пытаюсь присвоить сильное имя сборке с PFX файлом, который также используется для цифровой подписи. Сертификат PFX имеет опцию CodeSigning и был предоставлен CA.

Когда я пытаюсь использовать его, я получаю следующую ошибку:

ошибка MSB3325: Невозможно импортировать следующий ключевой файл: myCert.pfx. Ключевой файл может быть защищен паролем. Чтобы исправить это, попробуйте импортировать сертификат снова или вручную установить сертификат в CSP Strong Name со следующим именем ключевого контейнера: VS_KEY_B763CB2413AC1708

Я пытался удалить его и заново установить PFX с помощью

sn -d VS_KEY_B763CB2413AC1708
sn -i myCert.pfx VS_KEY_B763CB2413AC1708

Но это не сработало. Я попытался поместить сертификат в хранилище сертификатов - это также ничего не изменило. Я пробовал запустить Visual Studio от имени администратора, а также выполнить MSBuild из командной строки.

Я также попытался отложить подписание сборки локально сгенерированным сертификатом (это сработало) и затем переподписать ее с помощью

sn -R myAssembly.dll myCert.pfx

Затем я получаю следующую ошибку:

Failed to re-sign the assembly -- Keyset does not exist

Я нашел требования к сертификату подписи кода в ClickOnce Manifest Signing and Strong-Name Assembly Signing Using Visual Studio Project Designer's Signing Page, Signing Assemblies. Похоже, что все они соблюдены, но, возможно, я что-то упускаю. Как я могу решить эту проблему?

8
задан Peter Mortensen 30 August 2013 в 20:31
поделиться