如何签名一个Applet,时之可以访问本地的资源?

来源:互联网 发布:申万宏源官网软件下载 编辑:程序博客网 时间:2024/05/22 11:38

问题:

我在《Java常见问题集锦》中看到,产生一个简单的签名applet的过程如下:“  
  1。//产生密钥,密钥别名为joe,口令为sign12,存放在密钥库joestore中  
  2。//将SignedApplet.class及相关文件打包成jar文件  
  3。//利用keytool生成的自签名的证书产生签名applet(jar文件)  
  4。//将自签名证书从keystore中输出到文件(证书文件)  
  而对于签名applet的接受方Susan,需要通过如下步骤来安全地执行Joe编写的签名applet:  
  1。得到Joe的证书并将之读入到密钥库中susanstore中  
  2。运行policytool产生满足Susan要求的policy文件”  
   
  这样,在客户端可以得到一个证书,一个密钥库susanstore和一个policy文件,接下来该怎么做呢?如何使用这两个文件,使得Applet可以正常运行呢?  

解答:

一:  
  c:/zzz/SignedAppletDemo>jar   cvf   myapplet.jar   *.*  
  执行完此步后,在signedappletdemo文件夹下产生myapplet.jar文件,主要是.class文件  
   
  二:  
  c:/zzz/SignedAppletDemo>keytool   -genkey   -keystore   mystore.store   -alias   my.store  
  执行完此步后,目录下出现mystore.store文件,为密钥库,此密钥库别名为my.store。  
   
  三:  
  c:/zzz/SignedAppletDemo>keytool   -export   -keystore   mystore.store   -alias   my.store   -file   mycert.cer  
  执行完此步后,目录下出现mycert.cer文件,就是一张证书  
   
  四:  
  c:/zzz/SignedAppletDemo>jarsigner   -keystore   mystore.store   myapplet.jar   my.store  
   
  此步骤是对密钥库签名  
   
  然后把myapplet.jar,mystore.store,mycert.cer复制到用户目录下。  
   
  以上是服务器所做步骤  
  以下是客户机所做步骤  
   
  五:  
  c:/zzz/SignedAppletDemo>keytool   -import   -keystore   client.store   -alias   my.store   -file   mycert.cer  
  用户同意接收该证书,信任该证书颁发者的所有作品,也就是把收到的证书导入本地密钥库。  
   
  六:  
  修改用户的policy文件,文件名为.java.policy放在用户主目录下。  
   
  七:  
  对接收的文件进行验证  
  C:/zzz/SignedAppletDemo>jarsigner   -verify   -verbose   -keystore   mystore.store   myapplet.jar  
  jar   verified.  
   
  八:  
  打开接收文件  
  C:/zzzSignedAppletDemo>jar   -vxf   myapplet.jar  
  那么用户就得到所有被签名的文件。  
   
  九:  
  在用户端把生成的证书导入,即安装证书。  

 

原创粉丝点击