我在下面的代码中得到安全证书错误(源代码)。例外情况是:
javax.net.ssl.sslHandShakeException:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径
如何禁用安全证书检查?
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.DomNode;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlFileInput;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
public class WebRobot {
public static void login(String username, String password) {
String loginUrl = "http://example.com";
int loginFormNum = 1;
String usernameInputName = "nameinput";
String passwordInputName = "passinput";
String submitLoginButtonValue = "Sign In";
// create the HTMLUnit WebClient instance
WebClient wclient = new WebClient();
// configure WebClient based on your desired
wclient.getOptions().setPrintContentOnFailingStatusCode(false);
wclient.getOptions().setCssEnabled(false);
wclient.getOptions().setThrowExceptionOnFailingStatusCode(false);
wclient.getOptions().setThrowExceptionOnScriptError(false);
try {
// get the login page by connect to the URL
final HtmlPage loginPage = (HtmlPage)wclient.getPage(loginUrl);
// get the login form by its form number. mine is 1 (form[1])
final HtmlForm loginForm = loginPage.getForms().get(loginFormNum);
// get the text input field by the name and set the value
final HtmlTextInput txtUser = loginForm.getInputByName(usernameInputName);
txtUser.setValueAttribute(username);
// get the password input field by the name and set the value
final HtmlPasswordInput txtpass = loginForm.getInputByName(passwordInputName);
txtpass.setValueAttribute(password);
// get the submit button by the text value
final HtmlSubmitInput submitLogin = loginForm.getInputByValue(submitLoginButtonValue);
// after we set the name & password then we click the submit button
// it will return a page (redirect or message alert or somethin, different sites different behaviour)
// or it could throws an exception
final HtmlPage returnPage = submitLogin.click();
// we can analyze the return page based on the body
// ex: mine is check if its body contains less than 5 elements
final HtmlElement returnBody = returnPage.getBody();
if (returnBody==null || returnBody.getChildElementCount()<5) {
// bla.. bla.. bla..
}
} catch(FailingHttpStatusCodeException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
在执行此操作之前,必须添加以下代码:
System.setProperty("jsse.enableSNIExtension", "false");
行前:
// get the login page by connect to the URL
final HtmlPage loginPage = (HtmlPage) wclient.getPage(loginUrl);
如果不这样做,就会得到一个错误:
javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
wclient.setUseInsecureSSL(true);
wclient.getOptions().setUseInsecureSSL(true);
注-禁用安全性是非常危险的。所以不要在生产代码中这样做。
在JSP页面中使用EL表达式可以完成一些基本的功能,并且会使JSP页面变得更加整洁。但在某些时候,开发人员总爱在JSP页面中编写一些Java代码。虽然Java代码功能强大,但在JSP页面中加入大量的Java代码会使用页面更加混乱。因此,良好的编程习惯是在JSP页面中只使用EL表达式或标签。为了更有效地规范这个习惯,在web.xml中提供了一个<scripting-invalid>元素可以关闭JSP
为了节省电池,我想在给定时间(比如晚上11点)关闭所有连接(蓝牙、wifi、移动网络)和其他耗电功能。 最好的方法是什么?我考虑的是在引导后启动的服务,因此我不必手动重新启动该服务。一开始,我甚至不需要一个UI应用程序——我可以硬编码关闭的时间。也许以后可以通过GUI更改时间会更好,但这并不是真的必要。 因此,服务需要做一些事情的唯一时间是在我想要的时间,但是为了检测它需要在后台连续运行的时间而不
我尝试使用REST-assured来执行一些需要SSL身份验证的API调用。我收到: . p12文件 密码 .cert.pem文件 .key.pem文件 当我把这一切放在例如。邮递员,它只是工作。现在我想在我的Java代码中使用这个...这就是我被困的地方。我看到人们使用单独的工具来导入密钥等,但我想在代码中做任何事情:) 我发现有人在使用: 其中KEY_STORE_*是P12文件密码(?),信任
问题内容: 我正在尝试使用pyserial将数据发送到arduino。但是,当我打开COM端口时,它会将DTR设置为低电平并重置板。但是,我已经设置了arduino代码,因此必须按住两个按钮1秒钟,使其进入串行接收模式。如果可能的话,我宁愿不必在arduino引导时进行串行输入。 显然,您可以修改serialWin32.py文件,更改以下内容: 至: 但是,有什么方法可以直接在我的python脚本
我已经搜索了,但没有找到任何关于如何在Visual Studio代码中禁用引用(或完全禁用codelens)的信息,它们对我来说非常无用和烦人。
我正在研究MQTT协议。我配置了它的服务器,并使用端口1883上的Mosquito库用java进行了通信。现在,我想让这种通信更加安全。据我所知,8883端口是为其基于tls的安全通信保留的。它需要X.509证书。为此,我找到了以下教程。 http://www.embedded101.com/Blogs/PaoloPatierno/entryid/366/mqtt-over-ssl-tls-wit