java – 签名小程序的问题

weixin_38071213 weixin_38071213 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我正在开发一个仅在客户端执行加密/解密的应用程序.我正在使用Spring,jdk 1.6和eclipse.我开发了一个包含加密代码的Applet,它看起来像: public void accessToken(){ try{ File tmpConfigFile = File.createTempFile("pkcs11", "conf"); tmpConfigFile.deleteOnExit(); PrintWriter configWriter = new PrintWriter(new FileOutputStream(tmpConfigFile), true); configWriter.println("name=eToken"); configWriter.println("library=" + "C:\\WINDOWS\\system32\\eTPKCS11.dll"); configWriter.println("slotListIndex=0"); configWriter.println("showInfo=true"); this.pkcs11Provider = new SunPKCS11(tmpConfigFile.getAbsolutePath()); Security.addProvider(this.pkcs11Provider); CallbackHandler cbh = new DialogCallbackHandler(); KeyStore.Builder ksBuilder = KeyStore.Builder.newInstance("PKCS11", null, new KeyStore.CallbackHandlerProtection(cbh)); KeyStore ks = ksBuilder.getKeyStore(); ks.load(null, null); }catch(Exception e){ e.printStackTrace(); } } 我已经创建了jar文件并对其进行了签名,当我在eclipse的本地机器上运行它作为“在Java Applet上运行”时它运行良好也很好并且在我打开包含此applet的html页面时提示输入页面密码但是当我点击调用此accessToken()applet方法的复选框,它在java控制台上给出错误,如: java.lang.SecurityException: Unable to create temporary file at java.io.File.checkAndCreate(Unknown Source) at java.io.File.createTempFile(Unknown Source) at java.io.File.createTempFile(Unknown Source) at message.MessageApplet.accessToken(MessageApplet.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.plugin.javascript.JSInvoke.invoke(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source) at sun.plugin2.liveconnect.JavaClass$MethodInfo.invoke(Unknown Source) at sun.plugin2.liveconnect.JavaClass$MemberBundle.invoke(Unknown Source) at sun.plugin2.liveconnect.JavaClass.invoke0(Unknown Source) at sun.plugin2.liveconnect.JavaClass.invoke(Unknown Source) at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$DefaultInvocationDelegate.invoke(Unknown Source) at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo.doObjectOp(Unknown Source) at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 我的html页面看起来像: <SCRIPT LANGUAGE="JavaScript"> function selectedCity() { var elem = document.getElementById('cityRb'); if(elem.checked) { document.messageApplet.accessToken(); } } </SCRIPT></HEAD> <BODY > <b>This is the Applet</b> <script src="http://www.java.com/js/deployJava.js"></script> <script> <!-- applet id can be used to get a reference to the applet object --> var attributes = { id:'messageApplet', code:'message.MessageApplet', width:1, height:1} ; var parameters = {jnlp_href: 'message-applet.jnlp'} ; deployJava.runApplet(attributes, parameters, '1.6'); </script> <FORM NAME="CityChoice"> <input type="radio" id="cityRb" name="City" value="Boston" onClick="selectedCity()"> Boston<br> </form> </BODY > 和我的JNLP文件看起来像: <jnlp spec="1.0+" codebase="" href=""> <information> <title>Message Applet</title> <vendor>Fountainhead</vendor> <offline-allowed/> </information> <update check="background"/> <security> <all-permissions/> </security> <resources> <!-- Application Resources --> <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> <jar href="message.jar" main="true" /> </resources> <applet-desc name="Message Applet" main-class="message.MessageApplet" width="300" height="300"> </applet-desc> <update check="background"/> </jnlp> 所有文件和jar都在同一个目录中,我的applet类在消息文件夹中请帮帮我,我被困在这里……
...全文

相关推荐

Java卡shell代码攻击新对策

本文提出一种新型逻辑攻击路径,可绕过Java卡中针对shell代码的边界检查防护,实现自修改代码执行。通过分离控制流与基本块,利用类型混淆和返回机制传递参数,成功在存在防护措施的情况下转储内存。研究还改进了跳转边界检查机制,增强了对返回指令的安全验证,提升了智能卡整体安全性。

t8u9v0

黑龙江省哈尔滨新区矢量面数据-02坐标-geojson格式.json

哈尔滨新区区划面数据,geojson格式,02坐标

samLi0620

输电线路绝缘子红外图像检测数据集VOC+YOLO格式203张1类别.md

亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: **本资源原本已设置为“0积分下载”**,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,**自动将部分资源的积分调整为非0数值**(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 **因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。** 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。**强烈建议:仅在页面显示为0积分时进行下载。** 另外,本资源描述中**并未直接提供具体的下载地址或外部链接**,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

fl176831

器具焊接缺陷检测数据集8种缺陷8520张(已增强YOLO+CVOC).zip

数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:8520 Annotations文件夹中xml文件总计:8520 labels文件夹中txt文件总计:8520 标签种类数:8 标签名称:["Burn-through","Crack","Excess Reinforcement","Good Welding","Overlap","Porosity","Spatters","Undercut"] 标签中文对照:[烧穿、裂纹、过度加固、良好、重叠、多孔、溅落物、咬边] 每个标签的框数(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准): Burn-through 框数 = 107 Crack 框数 = 2347 Excess Reinforcement 框数 = 10921 Good Welding 框数 = 2504 Overlap 框数 = 275 Porosity 框数 = 29593 Spatters 框数 = 75509 Undercut 框数 = 525 总框数:121781 图片清晰度(分辨率:像素):清晰 图片是否增强:是 标签形状:矩形框,用于目标检测识别 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

不会仰游的河马君

【多机器人路径规划】基于动态边权膨胀与节点预留历史机制的多智能体无冲突轨迹生成方法(Matlab代码实现)

内容概要:本文提出了一种基于动态边权膨胀与节点预留历史机制的多智能体无冲突轨迹生成方法,旨在解决多机器人路径规划中的碰撞与死锁问题。该方法通过动态调整路径搜索过程中图模型的边权重,结合历史节点占用信息进行路径优化,有效提升路径规划的安全性与全局效率。算法在保证各智能体从起始点到目标点可达的同时,避免时空冲突,适用于密集环境下的多机器人协同作业场景,并通过Matlab仿真验证了其有效性与鲁棒性。; 适合人群:具备一定算法基础和机器人路径规划背景,从事自动化、智能控制、移动机器人或人工智能方向研究的研发人员与研究生。; 使用场景及目标:① 解决多机器人系统中的路径冲突与死锁问题;② 实现复杂环境中多智能体的高效、安全轨迹规划;③ 为工业自动化、仓储物流、无人车队等多主体协同系统提供路径规划解决方案; 其他说明:该方法结合了图搜索优化与冲突消解策略,具有较强的工程应用潜力,建议使用者深入理解其动态权重机制与节点预留逻辑,并结合具体应用场景进行参数调优与算法扩展。

吃兔子的大脑腐
评论 1
收藏 已收藏
分享
返回顶部