下载此文档

Java安全通信数字证书及数字证书应用实践.doc


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
摘要:在本文中,我用详细语言与大量图片及完整程序源码向你展示了在JAVA中如何实现通过消息摘要、消息验证码达到安全通信、以及用Java工具生成数字证书,与用程序给数字证书签名、以及用签名后数学证书签名applet突破applet访问权限过程,给出了全部例子详细代码。通过本文中你可以学到以下知识:• 程序间如何安全通信• 什么是及如何生成消息摘要• 什么是及如何生成消息验证码• 如何使用Java工具生成与维护数字证书库• 如何用程序给数字证书验证签名• 如何利用数字证书给applet签名突破applet访问权限关键字:消息摘要、消息验证码、指纹、加密、安全、Java、数字签名、applet、数字证书一、基础知识计算机安全通信过程中,常使用消息摘要与消息验证码来保证传输数据未曾被第三方修改。消息摘要是对原始数据按照一定算法进行计算得到结果,它主要检测原始数据是否被修改过。消息摘要与加密不同,加密是对原始数据进行变换,可以从变换后数据中获得原始数据,而消息摘要是从原始数据中获得一部分信息,它比原始数据少得多,因此消息摘要可以看作是原始数据指纹。例:.messagedigest;.*;lassDigestPass{publicstaticvoidmain(String[]args)throwsException{Stringstr="Hello,Isenttoyou80yuan.";MessageDigestmd=("MD5");//常用有MD5,(("UTF-8"));//传入原始字串byte[]re=();//计算消息摘要放入byte数组中//下面把消息摘要转换为字符串Stringresult="";for(inti=0;i<;i++){result+=((0x000000ff&re[i])|0xffffff00).substring(6);}(result);}}当我们有时需要对一个文件加密时,以上方式不再适用。又例:下面一段程序计算从输入(出)流中计算消息摘要。.messagedigest;.*;.*;lassDigestInput{publicstaticvoidmain(String[]args)throwsException{StringfileName="";MessageDigestmd=("MD5");FileInputStreamfin=newFileInputStream(fileName);DigestInputStreamdin=newDigestInputStream(fin,md);//构造输入流//DigestOutputStreamdout=newDigestOutputStream(fout,md);//使用输入(出)流可以自己控制何时开始与关闭计算摘要//也可以不控制,将全过程计算//初始时是从开始即开始计算,如我们可以开始时关闭,然后从某一部分开始,如下://(false);intb;while((b=())!=-1){//做一些对文件处理//if(b=='$')(true);//当遇到文件中符号$时才开始计算}byte[]re=();//获得消息摘要//下面把消息摘要转换为字符串Stringresult="";for(inti=0;i<;i++){result+=((0x000000ff&re[i])|0xffffff00).substring(6);}(result);}}当A与B通信时,A将数据传给B时,同时也将数据消息摘要传给B,B收到后可以用该消息摘要验证A传消息是否正确。这时会产生问题,即若传递过程中别人修改了数据时,同时也修改了消息摘要。B就无法确认数据是否正确。消息验证码可以解决这一问题。使用消息验证码前提是A与B双方有一个共同密钥,这样A可以将数据计算出来消息摘要加密后发给B,以防止消息摘要被改。由于使用了共同密钥,所以称为“验证码”。例、.mac;.*;.*;.*;.*;lassMyMac{publicsta

Java安全通信数字证书及数字证书应用实践 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
最近更新