gpt4 book ai didi

.net - 对强命名 .NET 程序集进行数字签名

转载 作者:行者123 更新时间:2023-12-04 12:26:23 25 4
gpt4 key购买 nike

我有一个我强烈命名的 .NET 程序集,将其放入 GAC。但是,同样的程序集也使用 .pfx 进行了数字签名。文件稍后,用于数字签名。
我注意到这个经过双重签名的程序集未能通过强名称验证,并且没有安装在目标机器的 GAC 中。

数字签名程序是否有可能删除 SN key 生成的强命名程序?

数字签名是必不可少的,如果两者不兼容,那么文件可以由.pfx签名吗?文件,就像 SN 命名过程一样容易?

此外,该程序集在 C++/CLI 中,不在 C# .

编辑:看着 MSDN Documentation ,它表示是否使用链接器选项进行强命名,以及是否使用后处理工具,如 mt.exe (我不确定 Signtool.exe 是否属于这些工具),程序集需要辞职。

另外,这个声明:

If you use the signing attributes when building in the development environment, you can successfully sign the assembly by explicitly calling sn.exe (Sn.exe (Strong Name Tool)) in a post-build event.



……有点困惑。它指的是哪些属性, CLR属性,或 Linker选项?

最佳答案

它们是兼​​容的,应按特定顺序应用:

  • 强名称 (sn.exe)
  • 验证码/代码签名/数字签名(signtool.exe)

  • 我经常这样做,C# 程序集没有任何问题。我不知道这对于 C++ 来说会有所不同。

    这是有效的,因为强名称哈希代码不包括 PE header 的某些部分,包括验证码哈希。如此处所述 here .

    关于.net - 对强命名 .NET 程序集进行数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30122304/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com