为什么要对DLL进行签名
目录
本文链接: link. 曾经在一个项目中,要求您为DLL创建一个强名称,并且为一个项目创建一个强名称,然后编译项目解决方案开始出现奇怪的编译错误。我去过很多次。面对这些问题时,我有些疑问浮出水面。 基础了解让我们仔细阅读以下基础知识。我们将调查以下内容
Assembly: 由于使用了一对称为私钥和公钥的密钥,非对称密码技术为加密和解密数据提供了一种非常安全的机制。 **私钥绝不应传递给另一个实体。与公钥相反,它应该被传递。** 私钥由一个实体持有并被安全锁定。永远不要将其传递给另一个实体。公钥是相反的;您可以将公开密钥提供给任何要求它的人。 让我们考虑一个类比,盖茨和史蒂夫希望彼此交流。他们选择非对称方式。盖茨发送带有自动数字挂锁的打开盒子。该数字挂锁可以自动关闭,但需要打开钥匙。 **开箱=公钥 数字挂锁键=私钥** 打开框被认为是每个人都可以意识到的公钥。史蒂夫放置消息并关闭自动打开的数字挂锁框。在这里,用于打开包装盒的钥匙是私钥。 散列: 数字签名: **非对称加密和哈希的结合** 这是本主题已涵盖的两个主题的必要组合:使用私钥的非对称加密和哈希。通过计算数据哈希值,然后使用专用非对称加密密钥对哈希值进行加密,可以创建数字签名。 什么是强名?强名是用于唯一标识装配的技术。它由名称,版本号,文化,公钥令牌和数字签名组成。 强名的意义是什么?强名解决了两个目的。1. 版本控制 2. 身份验证。 为什么需要强名?是否所有DLL都需要强名称才能创建?正如我们所讨论的,强名称解决了版本控制和身份验证的目的,使用强名称签名的共享或公共程序集可以在GAC(全局程序集缓存)中发布。任何使用我们程序集的人都可以确保他们使用的是正确的版本和程序集,而外部版本未对此进行修改。 在实时情况下如何使用强名称编译器将签名程序集的全名存储到它正在创建的程序集中 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |