java数字证书加解密.docxVIP

  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数字证书加解密

JAVA 使用数字证书加密解密文件总结目录1.编写目的32.JAVA生产数字证书42.1.1 keystore(JKS) 的生成42.1.2 导出公钥53.使用JKS私钥加密文件54.转换为PFX格式私钥65.使用PFX加密文件76 源代码96.1 用到的JAR包96.2 示例代码96.2.1 Test.java96.2.2 RsaUtil.java116.2.3 Base64.java207.结束语271.编写目的学习RSA算法,读取数字证书中的私钥对文件进行加密,使用数字证书的公钥解密,这种方式就是RSA算法. 自己对RSA算法的理解:私钥加密公钥解密:如果用私钥对文件加密,发给别人,别人用我公布的公钥进行解密,实现这个文件就是我本人制作的,不是别人做的.公钥加密私钥解密:如果别人用我的公钥加密文件,那么只能我一个人看,只有使用我的私钥进行解密,私钥一定是不能告诉其他人的.本文讲解如何用JKS私钥对文件进行加密,用对于CRT公钥进行解密,将JKS私钥转换为PFX格式私钥,并用PFX私钥对文件进行加密解密Jks:是JAVA的keytools证书工具支持的证书私钥格式pfx:是微软支持的私钥格式2.JAVA生产数字证书为了实现数字证书加密文件,我们首先要制作几个数字证书,如果你已经有了pfx格式的数字证书并且知道其密码,以及对应crt或者cer格式的公钥证书则跳过本章.2.1 keytool创建数字证书Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:?密钥实体(Key entity):密钥(secret key)又或者是私钥配对公钥(采用非对称加密)?:可信任的证书实体(trusted certificate entries),只包含公钥2.1.1 keystore(JKS) 的生成分阶段生成:命令格式:keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore e:\yushan.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码);示例:1)cmd下进入java/bin2)输入命令keytool -genkey -alias myalias -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystored: \myalias.keystore -storepass 123456一次性生成:keytool -genkey -alias yushan -keypass yushan -keyalg RSA -keysize 1024 -validity 365 -keystore e:\yushan.keystore -storepass 123456 -dname CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码);(中英文即可) 无例图2.1.2导出公钥命令:keytool -export -alias myalias -keystore d:\myalias.keystore -file d:\myalias.crt -storepass 123456创建结果:3.使用JKS私钥加密文件//工具类RSAUtil rsa = new RSAUtil();//从jks私钥中获取私钥加密串PrivateKey priKeyFromKs = rsa.getPriKeyFromKS(d:\\myalias.keystore,123456, myalias, 123456);//从jks私钥中获取公钥解密串PublicKey pubKeyFromKS = rsa.getPubKeyFromKS(d:\\myalias.keystore,123456, myalias);//从crt公钥中获取公钥解密串PublicKey pubKeyFromCrt = rsa.getPubKeyFromCRT(d:\\myalias.crt);//用私钥串加密rsa.encryptWithPrv(d:\\file.xml,priKeyFromKs,d:\\file_encWithKSPri.xml,true);//用jks公钥串解密rsa.decryptWithPub(d:\\file_encW

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档