公钥 私钥 数字签名 数字证书

    经常会听到公钥和私钥的概念,今天来讨论一下我对公钥和私钥的理解。
    公钥和私钥是非对称加密的一种,有别于对称加密中,双方都持有相同的密钥,非对称加密,加解密双方持有不同的密钥,公开给对方的密钥被称为公钥,自己保留的密钥
被称为私钥。由公钥加密的内容只有私钥能解开,反之,由私钥加密的内容只能被公钥解开。
    那么,公钥和私钥的用处在哪里呢。首先来了解一下对称加密,对称加密双方都持有相同的密钥,只要得不到密钥就解不开密文,但这是建立在双方都互相信任的基础上,
如果两边都可能存在不信任,那么随便把密钥交给对方,就非常不安全,任何一个人都可以与你建立连接,骗得密钥,然后交换内容,那就不存在安全一说了。设想,大家都有密钥,那么都可以解密内容。
此时非对称加密就比较安全了。
    公钥,私钥:
    假设 A 与 B 两人,A 要想给 B 发信息,A 就需要知道 B 的公钥,把自己想发的内容用 B 的公钥加密,然后发给 B,B 用自己的私钥解密,得到内容,任何中途得到密文的人,因为没有 B 的密钥,
所以都没法解开密文。这样 A 发给 B 的内容就安全了,反之,B 想给 A 发信息,就需要用 A 的密钥进行加密。总结就是,你想要给谁发信息,就需要知道对方的公钥就行了。
    数字签名:
    这看起来似乎很美好,但试想,万一中间来了个第三者 C, C 想冒充 A 去给 B 发信息,去骗取信息,那么 C 只需要有 B 的公钥就行了,由于 B 的公钥是公开的,这个很容易得到,那么 B 就很容易
被 C 欺骗了,世界又黑暗了,要是有个标记让 B 知道,这内容是 A 的亲笔信就好了,自古签名就可以看出来,这里类同,A 只需要在写完信后,把信用 MD5 取个信息摘要,然后对 MD5 用自己 (A) 的
私钥进行加密,生成一个自己的签名,连同信一起发给 B。 此时 B 收到了从 A 寄来的信时,虽然信上说自己是 A ,但可能被仿冒,B 只需要用 A 的公钥去把签名解密,得到信的 MD5,然后校验一下
信的内容就行了。由于其它人没有 A 的私钥,所以他们发的内容,如果 B 用 A 的公钥去解时,肯定会失败,因为不配对。这个好像解决了问题,很美好。
    数字证书:
    但是万能的黑客是无处不在的,万一,有人偷偷在 B 的电脑上,把 A 的公钥换成自己的,你没猜错,这里的黑客就是 C,此时 B 机器上 A 的公钥其实是 C 的公钥,那么这个时候,C 再假冒
A 去给 B 发信息,B 就会一直以为和他联系的是 A ,一切都正常加解密,无解啊。此时要是有个权威机构对这些公钥进行统一管理就好了,这里 CA (certificate authority) 证书中心横空出世,
公钥不再保存在 B 的电脑上。 CA 会把 A 的公钥等信息,用 CA 自己的私钥进行加密,生成一个数字证书,A 在给 B 写信时,写上签名,然后把 CA 颁发的数据证书也带上,一起发给 B,B 收到信后,
用 CA 的公钥,解开数字证书,得到 A 的公钥,然后用 A 的公钥,解开数字签名,如果能解开,那么肯定就是 A 写来的,此时得到信的内容的校验,然后比对一下信的内容是否被更改,如果没被更改,
说明这次交流是安全的。一切天衣无缝!
    总结一下,A 给 B 写信,就用 B 的公钥,因为大家都有公钥,所以可能被冒充,此时为了证明是 A 写的信,A 把摘要等信息用自己的私钥加密,这样就可以证实是自己的了,这个时候又担心 B 保存的
A 的公钥造假,就由第三方受信机构,对 A 的公钥进行加密生成数字证书,一起都传给 B,这样由于受信机构的公钥是内定的,不会被更改,就使整个过程安全了。
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: dsigntool代码签名数字证书含有私钥数字证书是一种用于验证和保护代码的安全工具。它通常由一个颁发机构颁发,其中包含了代码签名所需的信息。在数字证书中,私钥是一种加密密钥,只有持有者拥有。私钥用于生成和验证数字签名,以确保代码的身份和完整性。 使用dsigntool工具进行代码签名时,我们需要提供含有私钥数字证书。这个私钥只有我们能够访问,它不会公开或泄露给他人。在进行代码签名时,dsigntool工具使用私钥对代码进行加密,生成数字签名数字签名是一种用于证明代码真实性和完整性的数学认证,类似于一个独特的指纹。 使用数字证书含有私钥的好处是多方面的。首先,私钥的保护确保了代码签名的安全性。只有持有者能够使用私钥进行签名,因此可以防止未经授权的个人或组织对代码进行篡改。其次,私钥的存在使得代码签名可以进行验证。通过验证数字签名,我们可以确定代码是否来自可信的源,并且在传输过程中是否被篡改。 总之,dsigntool代码签名数字证书含有私钥,这使得我们可以进行安全的代码签名操作,并且能够对签名的代码进行验证,以确保其来源和完整性。 ### 回答2: dsigntool代码签名数字证书是一种用于保护软件的安全性和完整性的数字证书。它不仅包含了公钥,还包含了私钥私钥证书所有者独有的,并且被严格保密。它是签名和解密文件的关键元素。私钥用于创建数字签名,以证明文件的真实性和完整性。只有拥有私钥的人才能够生成有效的数字签名。 dsigntool代码签名数字证书私钥是通过密钥对生成的。密钥对由公钥私钥组成,这两个密钥是成对生成的,彼此之间是相关联的。公钥可以与其他人共享,以验证数字签名的有效性,而私钥则必须仅由证书所有者掌握。 当使用dsigntool代码签名数字证书进行代码签名时,私钥被用于生成数字签名,并将其与代码文件绑定在一起。在安装或执行已签名代码时,操作系统或应用程序会使用证书公钥验证数字签名的有效性,以保证代码的来源可靠和完整。 因为私钥非常重要且敏感,所以必须采取严格的安全措施来保护它。私钥通常存储在安全的密钥库中,只有授权的人员才能访问。此外,定期更换私钥也是一个安全最佳实践,以减少私钥泄露和滥用的风险。 总而言之,dsigntool代码签名数字证书含有私钥私钥是用于生成数字签名和保护代码完整性的关键元素,因此必须严格保护和管理私钥的安全。 ### 回答3: dsigntool代码签名数字证书是一种包含私钥证书,用于对代码进行数字签名数字签名是一种加密技术,通过将代码与私钥相结合,生成一个唯一的标识符,以证明代码的真实性和完整性。 代码签名的过程是将代码文件与私钥进行哈希运算,生成一个摘要,然后使用私钥对摘要进行加密,生成数字签名。这个数字签名与代码文件一起发布或分发给用户。当用户运行这个代码时,系统将自动验证数字签名的有效性。 私钥的存在使得数字签名具有不可伪造性和可信度。私钥只有证书持有者拥有,因此不能被他人篡改或伪造。这样,用户可以根据数字签名验证代码的来源和完整性,确保代码未被篡改或植入恶意软件。 dsigntool代码签名数字证书私钥,提供了方便和安全的代码签名解决方案。代码开发者可以使用dsigntool将代码与私钥结合,生成数字签名,证明代码的真实性与完整性。用户可以根据数字签名来验证代码的来源和完整性,避免运行未经验证的不安全代码。 总之,dsigntool代码签名数字证书私钥是一种保证代码真实性和完整性的安全解决方案,为代码的发布和分发提供了可靠的保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值