通过 http 实现证书验证,和把他存在客户端实在没有什么区别。对称不对称加密并不在这一点,证书本身就是通过 sha1+dsa 加密方法实现的,sha1 是消息摘要算法,dsa不就是非对称加密吗?

解决方案 »

  1.   

    有没有java想研究的透一点的,欢迎联系!
    尤其使上海的朋友,我的联系方式:[email protected]
      

  2.   


    其实你想在服务器端认证的想法没错,但是如果在服务器端认证也用证书,就多余了。你应该这样:在客户端,修改 c:\program files\javasoft\jre\1.3.1\lib\security\java.security文件,加入:
    policy.url.3=http://www.my.com/policy/nice.policy再编写策略文件如下:(nice.policy)  <------!!!!!!!注意以下不同//Keystore "http://www.my.com/store/nice.store","JKS"  不要了
    //grant signedBy "nice"grant codeBase "http://http://www.my.com/myapplet.jar"    //这样
    {
      permission java.io.FilePermission "<<ALL FILES>>","read";
    };
    存与 $apache\htdocs\policy\下。----------------------------以上的意思就是通过改policy文件给予你的jar文件足够的权限,但是这样policy在服务器上。
      

  3.   

    sharetop(天生不笨):
    是否要做数字签名
      

  4.   

    to blackfox_jl(彬彬):
    不需要了,这与数字签名是等同的另一种方法。
      

  5.   

    sharetop(天生不笨):
    但是我用这种方法就不能调用本地资源,必须得加上数字签名
      

  6.   


    是吗?你能说说你的步骤吗?这种方法我也试过,可以的,但我不能肯定是不是有其它因素在起作用,我的系统很乱的,为了调试给applet足够的权限,我把系统弄得自己都不明白哪在哪了:)讨论一下吧。
      

  7.   

    我要用APPLET调用本地打印机,所以先后用keytool工具生成密匙对和证书,再用jarsinger工具把密匙对指定给APPLET,又做了一个policy文件把打印机权限打开,修改java.sercity指定它。这样就可以了,当我在客户端调用的时候,虽然能调用出来,但是出现很多错误。
      

  8.   

    请问怎么才能找到ie所使用的jre
      

  9.   


    修改policy文件后,不需要再为applet加入签名了。我不知道你的程序具体是什么问题,但你说能调用,但出现错误,也许不是权限的问题?另你的applet还是用了jarsinger签名了呀?我是说不用签名的。找到ie所用的jre,如果是默认,它在C:\program files\javasoft下的,除非你在控制面板的Java Pulgin控制台中重新设置了新的位置。