2016-02-03 8 views
1

В настоящее время мы подписываем наши сборки с использованием сильного ключевого файла SHA1 в Visual Studio с использованием среды .NET 4.0. Основная причина, по которой мы используем сильное именование, - это возможность использовать «InternalsVisibleTo» в наших сборках. Поскольку SHA1 теперь устарел, я считаю, что мы должны переключиться на SHA256.. Подпись под ключ с сильным файлом ключевых слов и SHA256

Я попытался сгенерировать SHA256 и использовать SHA256 в качестве ключевого файла с сильным именем в Visual Studio в .NET 4.0, но он не может его создать, хотя я могу создать SHA256 через .Net 4.5, а затем назначить его для моего .Net 4.0 проект, и он, кажется, принимает его, когда я использую функцию «Подписать сборку» в Visual Studio.

Мой вопрос: есть .Net 4.0 есть возможность правильно использовать файл сильного имени SHA256, сгенерированный в .Net 4.5?

Благодарим за помощь.

+0

.NET 4.5+ - это двоичная замена для 4.0. Если вы установите 4.5 на машине с 4.0, она будет заменена. Учитывая это, вы действительно хотите сохранить таргетинг 4.0 в своих проектах? В любом случае, как вы поете сборку, это не так важно. TLS 1.1/1.2, хотя только в 4.5.2. * Это * является критическим различием, особенно сейчас, когда многие сайты и поставщики отказываются от поддержки чего-либо менее 1.2. –

+0

На данный момент не удается выполнить миграцию до 4.5, поскольку у нас все еще есть пользователи, которые находятся на XP. Но хорошая мысль. – TKL

+0

Тогда не экспериментируйте. XP в любом случае более не рекомендуется, чем SHA1. Даже если подписанная сборка работает на тестовом компьютере (поскольку среда выполнения .NET 4.5 заменила среду выполнения 4.0), она может не работать на компьютере XP, где 4.5 невозможно установить. В любом случае документы показывают, что [Enhanced Strong Naming] (https://msdn.microsoft.com/en-us/library/hh415055 (v = vs.110) .aspx) делает больше, чем просто использовать SHA-2 –

ответ

1

Есть 2 варианта для создания персонального обмена файл (* .pfx),

  1. Использование MakeCert

    "Makecert.exe" -n "CN = Local" - г -pe -a sha256 -len 2048 -CY органа -E 03/03/2017 -sv Local.pvk Local.cer

    "pvk2pfx.exe" -pvk Local.pvk -spc Local.cer -pfx Local.pfx -PO MyPassword -sy 24

  2. Использование OpenSSL

    openssl.exe REQ -x509 -nodes -sha256 -days 3650 -subj "/ CN = Локальный" -newkey RSA: 2048 -keyout Local.key отъезда Local.crt

    OpenSSL .exe PKCS12 -export -в Local.crt -inkey Local.key -CSP "Microsoft Enhanced RSA и AES Cryptographic Provider" -out Local.pfx

The OpenSSL более надежный способ сделать это.

 Смежные вопросы

  • Нет связанных вопросов^_^