gpt4 book ai didi

.net - .snk 是做什么用的?

转载 作者:行者123 更新时间:2023-12-02 14:14:10 24 4
gpt4 key购买 nike

.snk 文件有什么用?我知道它代表强命名 key ,但所有关于它是什么以及它如何工作的解释都超出了我的理解范围。

是否有关于如何使用强命名 key 及其工作原理的简单解释?

最佳答案

.snk 文件用于应用 strong name to a .NET assembly 。这样一个响亮的名字包括

a simple text name, version number,and culture information (ifprovided)—plus a public key and adigital signature.

SNK 包含唯一的 key 对 - 私钥和公钥,可用于确保程序集具有唯一的强名称。当程序集被强命名时,将从程序集的内容构造“散列”,并使用私钥对散列进行加密。然后,将此签名的哈希值与 .snk 中的公钥一起放置在程序集中。

稍后,当有人需要验证强名称程序集的完整性时,他们会构建程序集内容的哈希值,并使用程序集的公钥来解密来自的哈希值与程序集 - 如果两个哈希值匹配,则程序集验证通过。

能够以这种方式验证程序集非常重要,以确保没有人将程序集替换为会破坏整个应用程序的恶意程序集。这就是为什么非强名称程序集不像强名称程序集那样受到信任,因此不能将它们放入 GAC 中。此外,还存在一条信任链​​ - 您无法生成引用非强名称程序集的强名称程序集。

文章“The Secrets of Strong Naming (archived at the Wayback Machine)”。非常出色地更详细地解释了这些概念。有图片。

关于.net - .snk 是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/131181/

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