有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

是否仍然可以使用自签名Java小程序安全访问智能卡?

我正在尝试使用javax与客户机的智能卡通信。smartcardio。 小程序仅适用于我们内部网内的用户。 当我在Eclipse中调试小程序时,它工作正常

当我用以下html代码在浏览器中打开它时(我尝试了IE9和Chrome):

<body>
<!-- ... -->
<script src="https://www.java.com/js/deployJava.js"></script>
<script> 
    var attributes = {
        code:'test.TestClass',  width:300, height:300, scriptable:true} ; 
    var parameters = {jnlp_href: 'TestJNLP.jnlp'} ; 
    deployJava.runApplet(attributes, parameters, '1.7'); 
</script>
<!-- ... -->
</body>

我得到以下例外情况: AccessControlException

Java控制台仅显示以下3行: 缺少:file:/C:/AppletTestSite/TestApplet的应用程序名称清单属性。罐子 主jar:file:/C:/AppletTestSite/TestApplet中缺少权限清单属性。罐子 CacheEntry[文件:/C:/AppletTestSite/TestApplet.jar]:updateAvailable=true,lastModified=Wed Jan 29 08:40:39 CET 2014,长度=6684

我已经尝试过的事情:

-使用双特权

public void init() {
    try {
        AccessController
                .doPrivileged(new PrivilegedExceptionAction<Integer>() {
                    public Integer run() {
                        ReaderInit(); //<------
                        return null;
                    }
                });
    } catch (PrivilegedActionException e) {
        // catch block
        e.printStackTrace();
    }

}

-向jnlp文件添加权限:

<security>
  <all-permissions/>
</security>

-将以下行添加到清单:

Permissions: all-permissions

-使用keytool&;自签名jar文件;贾西纳

C:\Program Files\Java\jdk1.7.0_51\bin>jarsigner -verify C:\AppletTestSite\TestApplet.jar
jar verified.

-在java控制面板中,将安全级别设置为“中等”,并将站点的URL添加到异常站点列表中

我是否错过了什么,或者(自1.7.0_51更新以来)再也不可能在没有公共可信CA的情况下访问智能卡了

我想避免为小程序的每个用户更改策略文件


共 (0) 个答案