zoukankan      html  css  js  c++  java
  • 签名过程

    SN.exe

    1:sn –k MyCompany.snk 创建密钥

    2:sn -p E:....XXX.pfx  xxxx.snk 获取公钥

    3:sn.exe -Ra  XXX.dll XXX.pfx 重新签名

    加密过程

    程序集的文件FileDef manifest 包含了组成程序集的所有文件的清单,当每个文件的名称被添加金mainfest时,该文件内容的hash也一起被存放,当包含mainfest的PE文件被构建后,PE文件的整个内容(除了任何认证签名,程序集的强命名数据,和PE头的checksum)被hash,然后使用私钥对这个hash值进行签名,然后产生的RSA加密值被存放在PE文件预留的区块(hash计算不会记算改区块).然后在CLR头更新该数字签名在文件中的位置。

     发布者的公钥同样会被嵌入进PE文件的 AssemblyDef manifest 元数据表中 .

    认证过程:

    系统Hash包含manifest的文件,然后和嵌入的RSA数字签名进行对比(使用公钥解密后的),如果一直说明文件没有被修改过,另外系统hash程序集的其他文件,然后和定义在FileDef manifest里面的hash值进行对比,如果有任何一项hash值不匹配,说明程序集文件已经被损害了。

    安装强命名程序集

    GAC程序集:%SystemRoot%Microsoft.NETAssembly

    gacutil /i TestLib.dll 安装强命名程序集

  • 相关阅读:
    SpringMVC01_入门案例
    Spring10_AOP
    Spring09_动态代理
    VisualGC IDEA插件(原创)
    IDEA 项目文件图标渲染类 CompoundIconProvider
    Visual VM 垃圾回收性能监控开源插件, 支持Java 8和VisualVM 2.0
    VisualGC 3.0 独立运行增强版, 支持JDK 8
    SpringMVC总结
    SSM框架整合
    MySQL免安装版配置教程
  • 原文地址:https://www.cnblogs.com/grayguo/p/5327988.html
Copyright © 2011-2022 走看看