Перенос существующего контейнера ключей для надежного именования - PullRequest
0 голосов
/ 08 февраля 2019

Как я могу перенести контейнер ключей с одного компьютера на другой?

У меня есть контейнер ключей на старой машине, который используется для сборок с сильными именами.
В настоящее время я нахожусь в процессе миграции.проект на более новую машину.
К сожалению, контейнер ключа на старой машине помечен как неэкспортируемый, но мне удалось экспортировать его, используя mimikatz .
В результате получился файл PVK (закрытый ключ), который я преобразовал в файл XML (RSAKeyValue) с помощью библиотеки Chilkat .
Затем этот файл XML можно импортировать в контейнер ключей на новой машине с помощью aspnet_regiis.
Однако, при создании проекта на новой машине я получаю эту ошибку компоновщика:

LINK: фатальная ошибка LNK1256: сбой операции ALINK (80040405): имя контейнера ключа '...' не существует

Я заметил, что есть разница между ключевыми контейнерами, которые создаются с помощью aspnet_regiis и sn.exe.
Ключевые контейнеры, созданные с помощью sn.exОн может быть найден компоновщиком, но контейнеры ключей, сгенерированные с помощью aspnet_regiis, не найдены (ошибка LNK1256, описанная выше).
Но для установки того же контейнера ключей с помощью sn.exe это должен быть файл .snk,который мне пока не удалось преобразовать.
Если я могу преобразовать его в файл .snk, его не обязательно импортировать в контейнер ключей, потому что я мог бы использовать файл ключа строгого имени для подписи какЧто ж.

...