无法运行JApplet - 无法加载库以解决安全问题

时间:2014-06-19 15:59:01

标签: java applet digital-signature

从我试图推出that project的日子开始。

是一个用于创建文件数字签名的java项目。

我从centos发行版(64位)所做的是:

  1. 使用

    创建证书

    keytool -genkey -keyalg RSA -alias ALIAS -keystore sign_javafirma.keystore -storepass PASSWORD -validity 365 -keysize 2048

  2. 编辑buildjar.xml,将ALIAS和PASSWORD改为第1点选择的那个。

  3. 安装icedtea-web(yum install icedtea-web)

  4. make //它将启动ant以生成jar。

  5. 在正确生成并签名jar后,我尝试使用此html:

    <applet code="it.treviso.provincia.freesigner.applet.FreeSignerSignApplet" type="application/x-java-applet" width="500" height="200">
            <param name="archive" value="freesignerapplet.jar" />
            <!-- file to sign. Result will be on the same directory -->
            <param name="filename" value="test.pdf" />
            <!-- path of the library of the card reader -->
            <param name="devlib" value="x64/libbit4ipki.so" />
            <!-- url called after the completion of the sign, passing the hash of the document as GET parameter -->
            <param name="callback" value="http://pratiche.prov.tv.local/callback.php?key=blablabla" />
          <strong>
        This browser does not have a Java Plug-in.
          </strong>
          <br />
          <a href="http://java.sun.com/products/plugin/downloads/index.html">
            Get the latest Java Plug-in here.
          </a>
    </applet>
    </body>
    </html>
    

    其中x64 / libbit4ipki.so是从this website下载的库。

    当我尝试转到必须加载applet的页面时,在启动修复小程序的请求之后,我有消息:&#34;无法加载库以解决安全问题&#34;在控制台我什么都没有。

    我如何才能启动该项目?

    感谢!!!

1 个答案:

答案 0 :(得分:1)

可能存在问题:

  

使用

创建证书      

keytool -genkey -keyalg RSA -alias ALIAS -keystore sign_javafirma.keystore -storepass PASSWORD -validity 365 -keysize 2048

ant build buildjar.xml使用此证书对jar进行签名:

<signjar destDir="signed" alias="ALIAS" storepass="PASSWORD" keystore="sign_javafirma.keystore">
  <path>
    <fileset dir="." includes="freesignerapplet.jar" />
  </path>
    <flattenmapper />
</signjar>

这是一个自签名证书,自签名证书不再适用于签名小程序。您需要从受信任的来源(即verisign,Thawte,Entrust等)获取代码签名证书。