标签: applet

如何使用自签名证书在我签名的jar文件中设置发布者名称?

我编译了我的applet,创建了一个jar文件,用keytool生成了一个密钥库db,用jarsigner签署了jar,并用keytool导出了公钥证书.

现在,当我在浏览器中运行我的applet时它确实有效,在提示我之后我是否确定要运行它.

问题是它在框中说"发布者:未知".无论如何我可以将它设置为我的别名,因为我编写了applet?

java security applet certificate signed-applet

8
推荐指数
2
解决办法
7982
查看次数

关注mac osx上java7模式对话框的问题

我一直在验证在mac osx的applet上运行的swing应用程序.

在此验证期间,我发现模式对话框存在以下问题:

  1. 当一个对话框打开并且是setModal(true)时,它会阻止根窗口的内容,但如果你点击根窗口的某个地方,对话框会在它下面,但它应该保留在根窗口的顶部.
  2. 如果对话框有JTextInputField,即使单击它也不会获得焦点.

所以我创建了一个小程序来显示问题.你能帮我理解这里有什么问题吗?

package com.macosx.tests;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class DialogExample extends JApplet{

    private static final long serialVersionUID = 1L;
    private JPanel panel;
    private JButton openDialogBtn;

    private void doStart() {
        panel = new JPanel();
        panel.setPreferredSize(new Dimension(500,500));

        openDialogBtn = new JButton("open dialog");
        openDialogBtn.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent arg0) {
                ModalDialog dialog = new ModalDialog(panel, true);
                dialog.setVisible(true);
            }

        });
        panel.add(openDialogBtn);
        setContentPane(panel);
    }


    class ModalDialog extends JDialog {
        private static final long serialVersionUID = …
Run Code Online (Sandbox Code Playgroud)

java macos applet swing modal-dialog

8
推荐指数
2
解决办法
4855
查看次数

签署.Jar文件

我坐着有点问题.我正忙着为我们的支持团队创建一个php/html网站(内联网),以便在支持linux机器时让生活更轻松.

我有一个名为mindterm(免费版)的.jar应用程序,并希望将其作为网站中的applet运行.

但是根据他们的站点,你必须在将它作为applet加载之前签署.jar文件,否则它无法打开tcp连接.

所以我在我的时间里做了尽可能多的研究,并提出了JDK安装中提供的jarsigner.exe和keytool.exe文件.

但是,我不知道如何签署这个应用程序,以便我可以实际使用它.

有帮助吗?

谢谢

java applet certificate

8
推荐指数
1
解决办法
2万
查看次数

在Java网页中嵌入JavaFX应用程序

我想在网页上嵌入一个或多个JavaFX应用程序.你是怎样做的?

Oracle网站上有一些零碎的内容,但没有完整的例子.

浏览器中部署教程,包装基础知识教程等.有人提到Ant任务,有些没有.

所以在我阅读之后仍然有很多问题.我喜欢Ant吗?我需要创建一个applet吗?等等

所有我想看到的是一个最小和完整的"Hello World"示例,以便了解它是如何工作的.即使在StackOverflow这里也只是对同一个问题的答案的点点滴滴,所以这并没有真正帮助.

我昨天提出了这个问题,但删除了它,并认为我会尝试自己.事实证明,当你知道陷阱时,这很容易.因为这已经在这里被问到了,我想我会在答案中分享我的最小和完整的例子.

使用JavaFX示例只需几分钟即可为此html页面创建代码:

在此输入图像描述

html java applet javafx

8
推荐指数
1
解决办法
2万
查看次数

由Java 7中的java安全设置阻止的Applet

我正在尝试部署测试演示applet.applet的代码如下所示


import java.applet.Applet;
import java.awt.Graphics;

public class TestApplet extends Applet{

    public void paint(Graphics gh){
        gh.drawString("hello world", 300, 200);
    }
}
Run Code Online (Sandbox Code Playgroud)

我还使用了包含在包含以下行的jar中的清单文件

权限:沙箱

应用程序名称:Applet演示

然后我使用jarsigner签署了jar ,其中包含来自thawte的可信证书的密钥库.Jarsigner还可以使用适当的证书链验证已签名的jar.我还在系统中安装了.p12(密钥库)文件

之后我尝试通过Chrome浏览器从本地服务器加载applet.以下是我的HTML代码

<html>
<Title>Applet Testing</Title>
<hr>
<applet code="TestApplet.class"
    archive="SignedTestApplet.jar"
    width="480" height="320">
<param name="Permissions" value="sandbox"/>
<param name="Application-Name" value="Applet Demo"/>
</applet>
<hr>
<html>
Run Code Online (Sandbox Code Playgroud)

按照上述所有步骤后,我得到以下弹出响应


您的安全设置已阻止应用程序运行过期或过期的java版本


我正在使用java 7更新60,如果我从Java控制面板将安全级别设置为中等,它可以工作,但我必须保持级别高.

我的程序有什么缺陷或应该做什么?

请建议我.

java applet

8
推荐指数
1
解决办法
1131
查看次数

更改已签名的Java小程序的"名称"值

我自己签了一个java applet,所以当用户在浏览器中查看这个applet时,浏览器会显示一个无法验证数字签名确认对话框.这一切都没问题,但是这个确认对话框中"Name:"属性(在"Publisher:"属性上方看到)的值被设置为我不记得在进行签名时设置的内容.

所以我的问题是,这个价值来自哪里,我该如何改变呢?

java applet signing

7
推荐指数
1
解决办法
2425
查看次数

在Android平板电脑中运行applet

我已经准备好了一些小程序.我试着在Android平板电脑上运行它.它根本不起作用吗?我不确定?有谁知道这个?

或者是在android之后.Java不是平台独立的 - ;)

java applet android tablet

7
推荐指数
1
解决办法
3万
查看次数

Java applet是否是新Web内容的不良选择?

我在一家政府科学机构工作,通过我们的网站提供大量技术信息.Web开发并不是我们的强项,但我们顺便说一下.我们当前的许多内容都是通过Java applet提供的.最近我们得到了用户的反馈,他们无法访问网站的各个部分,因为他们的浏览器(主要是Safari和Firefox)由于安全问题而禁用了Java.当然,这可以通过升级和/或改变偏好来解决,但仍然会给非精明用户带来过高的障碍.

所以我的问题是Java applets的可能未来是什么?这种方法可能会变得不那么常见,并且不能/不会运行它们的浏览器配置比例会增加吗?正如我所提到的,我的组织(和我自己)不是网络开发专家,因此我们对趋势没有很好的认识.新内容是否应该用Java applet以外的东西编写(我们最近开发的内容使用JavaScript代替).我们是否应该计划将applet转换为响应不断减少的支持?

applet

7
推荐指数
1
解决办法
1044
查看次数

Java 8升级后,Java applet将无法在IE中加载

我有一个Java小程序,用于从用户的PC读取SD卡数据.小程序位于您登录的网站上.要登录网站,您必须使用浏览器证书.登录后,您将进入SD卡下载页面,applet初始化,读取卡片数据,并将其发送到页面上的某些JavaScript.

我现在遇到的问题是,在我的浏览器上安装Java 8后,applet无法加载.具体来说,它不适用于任何版本的IE(测试8,9,10和11).它在Firefox中运行良好.我还没试过Chrome.

我没有找到任何有类似问题的人.可能是因为它相对较新.有谁知道为什么会这样,并知道如何解决它?

IE8中的Java控制台中有一个看起来相关的堆栈跟踪.这是一些有趣的部分:

javax.net.ssl.SSLHandshakeException: Error signing certificate verify
...
Caused by: java.security.InvalidKeyException: No installed provider supports this key: com.sun.deploy.security.MSCryptoRSAPrivateKey
...
com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp
Run Code Online (Sandbox Code Playgroud)

编辑:这是另外一条信息.applet可以在与OpenSSL 1.0.1i不同的服务器上正常运行.该applet不适用于具有OpenSSL 1.0.0m的原始服务器.

这是完整的日志.堆栈跟踪不会出现在Firefox的日志中.

Java Plug-in 11.25.2.18
Using JRE version 1.8.0_25-b18 Java HotSpot(TM) Client VM
User home directory = C:\Users\codyj
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q: …
Run Code Online (Sandbox Code Playgroud)

java applet certificate java-8

7
推荐指数
1
解决办法
3万
查看次数

如何在浏览器和Java Web Start applet之间进行通信

现在的情况

我们目前使用applet执行一些操作,然后重定向当前页面.在其核心中,您可以看到applet如下:

public class ExampleApplet extends Applet {
    @Override
    public void init() {
        Button redirect = new Button("Redirect");
        this.add(redirect);
        final String target = this.getParameter("targetPage");
        redirect.addActionListener((ActionEvent e) -> {
            try {
                getAppletContext().showDocument(new URL(target), "_parent");
            } catch (MalformedURLException ex) {}
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

以最简单的方式调用applet:

<applet code="com.example.applet.ExampleApplet.class" archive="${appletUrl}" width="100" height="30">
    <param name="targetPage" value="http://localhost:8080/applet/"/>
</applet><br/><br/>
Run Code Online (Sandbox Code Playgroud)

其中${appletUrl}返回applet JAR的位置.

所以applet只不过是一个调用getAppletContext().showDocument(new URL(target), "_parent");刷新当前页面的简单按钮.这已经很长时间正确地完成了它的工作.现在这是问题所在.

移民

众所周知,Chrome不支持Applets.从那时起搁置一段时间IEFireFox仍然支持他们.在2016年底,他们也将不再支持他们.所以我们决定使用JWS和迁移applet JNLP.

迁移此简单重定向按钮示例将提供以下html代码段和JNLP文件:

<a href="${jnlpUrl}">Launch JNLP</a> …
Run Code Online (Sandbox Code Playgroud)

java browser jnlp applet java-web-start

7
推荐指数
1
解决办法
6828
查看次数