Создание файла PFX в решении C #

#c# #.net #visual-studio #strongname #pfx

#c# #.net #visual-studio #strongname #pfx

Вопрос:

Я случайно удалил файл PFX. Теперь я хотел бы знать, как снова создать файл PFX.

Ответ №1:

Файл PFX — это тот, который содержит зашифрованный закрытый ключ. Обычно он используется для подписи кода, что обеспечивает надежное выполнение сборки.

Если вы удалили его (и он по-прежнему не находится в корзине или недоступен с вашего сервера управления версиями), восстановить его или ключ, который в нем содержался, невозможно.

Вам нужно будет создать новый, который изменит открытый ключ вашей сборки. Сделайте это в свойствах вашего проекта, на вкладке «Подписание».

Комментарии:

1. В случае приложения UWP (нового и еще не опубликованного приложения) вы создаете сертификат через .appxmanifest editor > Packaging > Выберите сертификат … > Настройте сертификат … > Создайте тестовый сертификат…

Ответ №2:

Если ваш проект не находится под управлением версиями и у вас нет резервной копии, вам придется создать новый ключевой файл с другим строгим именем на вкладке Подпись страницы свойств проекта. Имейте в виду, что токен открытого ключа вашей сборки больше не будет прежним после того, как вы сделаете это!

Ответ №3:

Вы не сможете повторно создать файл PFX, если у вас нет исходных открытого и закрытого ключей, из которых он был сгенерирован.

Они могут храниться отдельно, обычно как .CER и .Файлы PVK соответственно, так что вы можете просмотреть, есть ли у вас их копии.

Комментарии:

1. в случае, если у меня действительно есть закрытый и открытый ключи в xml (я могу создать RSACryptoServiceProvider), как я могу сгенерировать из него файл pfx (C #)?

Ответ №4:

Перейдите в свойства вашего проекта, перейдите на вкладку подписи, включите «Подписывать манифесты ClickOnce», затем нажмите Создать тестовый сертификат. Если вы хотите сгенерировать snk-файл, вы можете сделать это с помощью выпадающего списка «Выбрать надежное имя ключевого файла» внизу.

Имейте в виду, что pfx, созданный Visual Studio, имеет довольно короткий срок службы (я думаю, один год), поэтому вам следует создать свой собственный.

Комментарии:

1. Я считаю, что это не работает на asp.net основные проекты