如何判断 .net程序集是否签名

after_ 2009-03-09 12:03:58
如何判断 .net程序集是否签名
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppfaq 2009-03-09
  • 打赏
  • 举报
回复
单独文件属性不行。
/// <summary>
/// 判断目标文件是否签名过
/// </summary>
/// <param name="assemblyFile">文件路径</param>
/// <returns></returns>
public bool IsSigned(string assemblyFile) {
Assembly assembly = Assembly.LoadFile(assemblyFile);
AssemblyName assemblyNamembly = assembly.GetName();
byte[] key = assemblyNamembly.GetPublicKey();
return key.Length > 0;
}
after_ 2009-03-09
  • 打赏
  • 举报
回复
谢谢,好有什么好办法吗?比如在文件属性的什么的能判断吗?
cppfaq 2009-03-09
  • 打赏
  • 举报
回复
楼主说的是强命名?
Assembly asm = Assembly.GetAssembly( typeof( TheType) );
if (asm != null)
{
AssemblyName assembly = asm.GetName();
byte[] key = assembly.GetPublicKey();
bool isSigned = key.Length > 0;
Console.WriteLine(“Is signed: {0}”, isSigned);
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧