我确实想将自签名证书导入Java,因此任何尝试建立SSL连接的Java应用程序都会信任此证书.
到目前为止,我设法将其导入
keytool -import -trustcacerts -noprompt -storepass changeit -alias $REMHOST -file $REMHOST.pem
keytool -import -trustcacerts -noprompt -keystore cacerts -storepass changeit -alias $REMHOST -file $REMHOST.pem
Run Code Online (Sandbox Code Playgroud)
不过,当我尝试跑步时,HTTPSClient.class我仍然得到:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我正在尝试从我的浏览器(Chrome)运行这个用Java编写的简单HelloWorld代码:
public class HelloWorld extends JApplet {
public void init() {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
JLabel lbl = new JLabel("Hello World");
add(lbl);
}
});
}
catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
Run Code Online (Sandbox Code Playgroud)
我用NetBeans编译它,然后创建了一个WebApplication项目.运行applet 的HTML代码是:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><applet code="HelloWorld" archive="applet_HelloWorld.jar" width="590" height="530"></applet></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果从NetBeans运行applet,它可以工作.但是当我通过双击运行HTML代码时,会从浏览器弹出以下消息:
您的安全设置已阻止本地应用程序运行.
我尝试使用Internet Explorer和Firefox,但没有尝试.
在最后一次更新Java之后,此消息开始出现.问题出在哪儿?