Найти имя контейнера безопасного имени (sn.exe) для Visual Studio - PullRequest
1 голос
/ 30 января 2020

У меня есть программное обеспечение, которое должно быть подписано сертификатом pfx во время сборки. Машина, на которой я собираю решение, является новой sh новой машиной, и мы пытаемся не выполнять какую-либо настройку вручную, а только посредством сценариев во время процесса сборки.

Когда я запускаю сборку, я получаю это ошибка из msbuild

[ошибка] C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets ( 3214,5):

Ошибка MSB3325: невозможно импортировать следующий файл ключа: Key.pfx. Файл ключа может быть защищен паролем. Чтобы исправить это, попробуйте снова импортировать сертификат или вручную установить сертификат в CSP со строгим именем со следующим именем контейнера ключей: VS_KEY_07C5CCD85188D111

Обычно я решаю это, выполняя в консоли разработчика Visual Studio на компьютере сборки:

sn -i VS_KEY_07C5CCD85188D111 path\to\Key.pfx

Но, как уже говорилось, я хотел бы, чтобы сборка автоматически извлекала имя контейнера и импортировала сертификат как шаг до msbuild команда. У меня проблема в том, что я не знаю, как получить имя контейнера, которое Visual Studio хочет использовать, потому что оно меняется в зависимости от машины, на которой я запускаю сборку.

Знаете ли вы, как Visual Studio вычисляет это? имя контейнера? Или как его вообще получить?

1 Ответ

1 голос
/ 31 января 2020

Вы можете использовать SnInstallPfx.exe . Он определит имя контейнера и импортирует файл pfx. Он не является стандартным, но использует стандартные методы для определения имени контейнера

Для получения дополнительной информации см. Следующую статью блога .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...