我们目前使用.Net 4.0框架在Visual Studio中使用SHA1强名称密钥文件对程序集进行签名。我们使用强命名的主要原因是能够使用" InternalsVisibleTo"在我们的集会中。由于SHA1现已弃用,我相信我们应该切换到SHA256。
我曾尝试在.Net 4.0中生成并使用SHA256作为Visual Studio中的强名称密钥文件,但它无法生成一个,尽管我可以通过.Net 4.5创建一个SHA256,然后将其分配给我的.Net 4.0项目当我使用"签署组件"它似乎接受它Visual Studio中的功能。
我的问题是.Net 4.0是否能够正确使用.Net 4.5中生成的SHA256强名称文件?
感谢您的帮助。
答案 0 :(得分:1)
创建个人交换文件(* .pfx)有两个选项,
使用Makecert
“makecert.exe”-n“CN = Local” - r -pe -a sha256 -len 2048 -cy authority -e 03/03/2017 -sv Local.pvk Local.cer
“pvk2pfx.exe”-pvk Local.pvk -spc Local.cer -pfx Local.pfx -po MyPassword -sy 24
使用OpenSSL
openssl.exe req -x509 -nodes -sha256 -days 3650 -subj“/ CN = Local”-newkey rsa:2048 -keyout Local.key -out Local.crt
openssl.exe pkcs12 -export -in Local.crt -inkey Local.key -CSP“Microsoft 增强型RSA和AES加密提供程序“-out Local.pfx
OpenSSL是更可靠的方法。