是否仍然可以使用自签名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) 个答案