从 IBM JDK 6.0SR9 更新到 6.0SR10 后,我不断得到(在服务器端):
java.io.IOException: javax.net.ssl.SSLHandshakeException: Client requested protocol SSLv3 not enabled or not supported
at com.ibm.jsse2.kb.z(kb.java:107)
at com.ibm.jsse2.SSLEngineImpl.b(SSLEngineImpl.java:4)
at com.ibm.jsse2.SSLEngineImpl.c(SSLEngineImpl.java:224)
at com.ibm.jsse2.SSLEngineImpl.wrap(SSLEngineImpl.java:377)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:6)
没有修改任何安全设置。知道如何(重新)启用SSLv3吗?
谢谢。
SSLEngine.setEnabledProtocols(),但是SSLv3当然应该默认启用。我会仔细检查你的断言,它没有被禁用。
当客户端和服务器SSL协议设置不匹配时发生异常。
以下客户端示例代码适用于配置为支持TLSv1.2协议的服务器端:
String response = "";
URL url = new URL("https://localhost:9043/myservlet);
final SSLContext ctx = SSLContext.getInstance("TLSv1.2");
ctx.init(null, null, null);
// final String protoccol = ctx.getProtocol();
HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
final HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
final OutputStream os = conn.getOutputStream();
final BufferedWriter writer =
new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(......);
writer.flush();
writer.close();
os.close();
final int responseCode = conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
String line;
final BufferedReader br =
new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = br.readLine()) != null) {
response += line;
}
}
System.out.println("response: " + response);
在以后的版本中,出于安全原因,默认禁用SSLv3。
以下技术说明应详细说明如何启用此功能。
http://www-01.ibm.com/support/docview.wss?uid=swg21318567
问题内容: 执行JDBC程序时,连接到数据库时出现以下错误: 在研究此问题时,我知道以下错误是因为我需要向用户授予特权,所以请按照以下步骤操作 然后输入密码 然后我跑了 我也用过 但是我正在错误以下 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的’IDENTIFIED BY’mypassword’附近使用 问题答案: 发生
问题内容: 由于某种原因,我无法与服务器建立简单连接。我使用默认设置安装了最新的MySQL Community 8.0数据库以及Node.JS。 这是我的node.js代码 以下是在命令提示符中发现的错误: 我已经阅读了一些内容,例如: https //dev.mysql.com/doc/refman/5.5/en/old-client.html https://github.com/mysqlj
在执行JDBC程序时,我在连接数据库时遇到以下错误: 当我研究这个问题时,我知道下面的错误是因为我需要授予用户特权,所以请遵循 > 然后输入密码 然后我跑了 我还用了 但我得到了低于误差 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以了解第1行“Identified BY'myPassword''”附近使用的正确语法
我阅读了一些内容,例如:https://dev.mysql.com/doc/refman/5.5/en/old-client.htmlhttps://github.com/mysqljs/mysql/issues/1507 但我仍然不确定如何解决我的问题。如有任何帮助,将不胜感激:
我正在docker容器中运行我的应用程序,其中flyway迁移工具在连接到MySQL DB(8.0.11)时出错:下面是完整的错误: 这是我的docker-compose.yml: 有谁能帮我一下。谢谢
对于大多数应用程序来说,轻客户端是完整的区块链系统的重要组成部分。Tendermint 为轻客户端应用程序提供了独特的速度和安全性。 请见我们的 lite package。 概述 轻客户端协议的目标是为最近的块哈希获取提交,其中提交包含来自最后一个已知验证者集的大部分签名。从那里,所有的应用状态都可以用默克尔证明进行验证。 属性 你得到了 Tendermint 的全部担保安全优势;不需要等待确认。