VS给程序集生成强签名

在SharePoint项目中用命令行来部署程序集到GAC时程序集必须有强签名,此时打开VS的话操作是很简单的,首先单击项目——工程属性,如图(1),选择“签名”选项,勾选为程序集签名,在“选择强名称密钥文件”下拉框中选择新建,弹出界面如图(2),填写一个密钥文件名称即可。

图(1)

图(2)

转载于:https://www.cnblogs.com/GreenGrass/archive/2012/08/28/2660437.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中使用数字签名认证需要以下步骤: 1. 生成数字证书:可以使用第三方证书商申请数字证书,也可以使用Microsoft提供的自签名工具MakeCert.exe生成数字证书。 2. 为程序集签名:在Visual Studio中打开项目属性,选择“签名”选项卡,勾选“签名程序集”并选择生成的数字证书。 3. 验证数字签名:在程序中调用System.Security.Cryptography命名空间中的方法进行数字签名验证,如果数字签名验证失败,说明程序集被篡改或者不是原始的程序集。 下面是一个简单的示例代码,演示如何进行数字签名认证: ```csharp using System; using System.Reflection; using System.Security.Cryptography; class Program { static void Main(string[] args) { Assembly assembly = Assembly.LoadFile("MyAssembly.dll"); RSACryptoServiceProvider publicKey = (RSACryptoServiceProvider)assembly.ManifestModule.Assembly.PublicKey.Key; bool signatureVerified = VerifySignature(assembly.Location, publicKey); Console.WriteLine("Signature verified: " + signatureVerified); } static bool VerifySignature(string assemblyPath, RSACryptoServiceProvider publicKey) { using (var sha1 = new SHA1CryptoServiceProvider()) using (var stream = System.IO.File.OpenRead(assemblyPath)) { byte[] hash = sha1.ComputeHash(stream); byte[] signature = publicKey.SignHash(hash, "SHA1"); return publicKey.VerifyHash(hash, "SHA1", signature); } } } ``` 以上代码中,我们使用Assembly.LoadFile方法加载程序集,并获取程序集的公钥,然后调用VerifySignature方法进行数字签名验证,最终输出验证结果。在VerifySignature方法中,我们使用SHA1算法计算程序集的哈希值,然后使用公钥对哈希值进行签名,最后使用公钥验证签名。如果验证成功,说明程序集是原始的程序集,否则说明程序集被篡改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值