火龙果-JAVA_安全.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
火龙果-JAVA_安全

配置BouncyCastle 复制bcprov-jdk14-130.jar到[JAVA_HOME]\jre\lib\ext 修改[JAVA_HOME]\jre\lib\security下文件java.security 添加内容: vider.6=\ vider.BouncyCastleProvider 公钥密码术 DEMO PublicExample 数字签名 数字签名 是确定交换消息的通信方身份的第一个级别。 公钥消息交换的缺陷: Bob 怎么能够证实该消息确实是来自于 Alice 呢?Eve 可以用她的公钥替代 Alice 的公钥,然后 Bob 就会与 Eve 交换消息,并以为她就是 Alice。这被称为中间人(Man-in-the-Middle)攻击。 可以通过使用数字签名解决该问题 — 数字签名是证实消息来自特定通信方的位模式。 数字签名 实现数字签名的方法之一是逆用公钥过程。 不是用公钥加密和用私钥解密,而是由发送方用私钥来对消息签名,然后接收方用发送方的公钥来解密消息。因为只有发送方才知道私钥,所以接收方可以确保消息确实是来自接收方。 实际上,消息摘要是用私钥签名的位流。因此,如果 Alice 想发送一条签名的消息给 Bob,她就生成该消息的消息摘要,然后用私钥对它签名。她将消息(以明文形式)和签名的消息摘要发送给 Bob。Bob 用 Alice 的公钥解密签名的消息摘要,然后计算明文消息的消息摘要并检查两个摘要是否匹配。如果它们匹配,则 Bob 可以确认消息来自于 Alice。 注:数字签名不提供消息加密,所以如果您还需要机密性,则必须将加密技术与签名结合使用。 您可以将 RSA 算法用于数字签名和加密。名为 DSA(数字签名算法 (Digital Signature Algorithm))的美国标准可以用于数字签名,但不可以用于加密。 数字签名原理 数字签名的作用 如果接收方对发方数字签名验证成功,就可以说明以下三个实质性的问题: (1) 该电子文件确实是由签名者的发方所发出的,电子文件来源于该发送者。因为,签署时电子签名数据由电子签名人所控制。 (2) 被签名的电子文件确实是经发方签名后发送的,说明发方用了自己的私钥做的签名,并得到验证,达到不可否认的目的。 (3) 接收方收到的电子文件在传输中没有被篡改,保持了数据的完整性,因为,签署后对电子签名的任何改动都能够被发现。 算法 JDK 1.4 支持下列数字签名算法: MD2/RSA MD5/RSA SHA1/DSA SHA1/RSA 数字签名代码示例 Signature 类使用由 KeyPairGenerator 类产生的密钥来操作数字签名。下面的示例中使用了下列方法: KeyPairGenerator.getInstance(“RSA”)、.initialize(1024) 和 .generateKeyPair():生成密钥。 Cipher.getInstance(“MD5WithRSA”):创建 Signature 对象。 .initSign(key.getPrivate()):初始化 Signature 对象。 .update(plainText) 和 .sign():用明文字符串计算签名。 .initVerify(key.getPublic()) 和 .verify(signature):验证签名。 数字证书 数字签名方式有一个问题。 它证实消息是由特定的发送方发送的,但我们怎么才能知道发送方确实是她所说的那个人呢? 如果某人实际上是 Amanda,却自称 Alice,并对一条消息进行了签名,那会怎么样呢? 我们可以通过使用数字证书来改进安全性,它将一个身份标识连同公钥一起进行封装,并由称为认证中心或 CA 的第三方进行数字签名。 从实际意义上来说,认证中心是验证某个实体的身份并用 CA 私钥对该实体的公钥和身份进行签名的组织。消息接收方可以获取发送方的数字证书并用 CA 的公钥验证(或解密)该证书。这可以证实证书是否有效,并允许接收方抽取发送方的公钥来验证其签名或向他发送加密的消息。浏览器和 JDK 本身都带有内置的来自几个 CA 的证书及其公钥。 JDK 1.4 支持 X.509 数字证书标准。 认证机构CA 认证机构CA(Certificate Authority) 在业界通常把它称为认证中心。 它是一 种具有权威性、可信任性和公正性的第三方机构。 认证机构CA的建设要根据国家市场准入政策由国家主管部门批准,具有权威性; CA机构本身的建设应具备条 件、采用的密码算法及技术保障是高度安全的,具有可信任性; CA是不参与交易双方利益的第三方机构,具有公正性。CA认证机构在《电子签名法》中被称做“电子认证服务提供

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档