问题标签 [jsse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6024 浏览

java - 如何在 Java6 中禁用约束检查(Netscape 证书类型)?

我正在尝试使用内置类 com.sun.net.httpserver.HttpsServer 在 Java (6) 中构建自定义 HTTPS 服务器。在我需要客户端身份验证之前它工作正常。此时,它在服务器上的 SSL 调试中失败并出现以下异常。

sun.security.validator.ValidatorException:Netscape 证书类型不允许用于 SSL 客户端

我正在使用我们内部 CA 颁发的证书,该证书用于我们内部的所有应用程序。我检查了证书详细信息,发现类型是“SSL 服务器”(下面引用了详细信息)。由于我们的政策是对所有内部应用程序使用“SSL 服务器”类型,因此很难更改证书。由于我想为客户端使用服务器证书,我不认为这是一个安全问题。

我正在寻找的是一种在 Java 中禁用此约束检查的方法。有没有人遇到过这个并解决了这个?非常感谢任何帮助。

最好的问候,阿伦

0 投票
1 回答
1817 浏览

java - 如何让我的 java 代码接受使用自签名或弱 sslv2 协议完成握手

我有一个尝试与网站创建 ssl 握手的 java 代码。当网站的 ssl 证书是自签名或使用不安全选项时,我收到错误并且代码无法提取证书。

例如,我收到以下错误:

如何让我的 java 代码接受使用自签名和弱 ssl 配置完成握手?

0 投票
1 回答
26577 浏览

java - 如何在eclipse中将服务器证书添加到java应用程序中

我有一个服务器应用程序,它使用:

这是一个 java 应用程序,它本身就是一个服务器 - 我没有使用任何虚拟服务器,它不是一个 Web 应用程序。它应该从客户端应用程序接收连接并处理它们的请求。客户端应用程序和数据库之间的中间层。

在启动时它会运行,但会不断发送垃圾邮件(因为 while (true) {})这个错误:

因此,我查阅了一些 SSL 证书创建指南并使用以下命令制作了证书:

并将其导入到我的本地证书存储中,因此我可以使用我的客户端应用程序对其进行测试:

所有这些都是在我的 $JAVA_HOME\bin 目录中完成的。我还更新了我的 eclipse.ini 文件

所以eclipse将使用我的jdk7虚拟机来运行应用程序。

同时,我尝试将文件复制到 $ECLIPSE_HOME 和应用程序主目录中server.cerservestore

结果是:同样的错误信息。它不会阻止应用程序运行,但它仍然存在。

非常感谢这里的一些帮助。我究竟做错了什么?也许有一个很酷、详细、对新手友好的关于使用 SSL 创建应用程序的指南,但我找不到?

0 投票
1 回答
9159 浏览

java - 如何使用 SSLv2 启动 ssl 连接

我想使用 SSLv2 启动与远程服务器的 SSL 连接。我正在使用 Java。我尝试使用以下方法在我的套接字中获取支持的协议:

我在输出中得到了这个:

现在,我读到 Java 不支持 SSLv2,而 SSLv2Hello 只使用 SSLv2 发送 hello 消息。我无法理解这是什么意思?和客户端支持 SSLv2 不一样吗?如何使用 SSLv2 建立 SSL 连接。

0 投票
2 回答
3348 浏览

java - Java JSSE TLS - 此连接是否双向安全加密?

在 Java 中使用 JSSE 和 TLS。我在服务器和客户端之间创建了一个安全套接字。在最终让套接字安全连接之后,我仍然对现有代码的安全性有一个基本问题。我按照教程中的说明进行操作,有时 JavaDoc 中的文档非常精确,但有点含糊,除非您说行话的斯瓦赫里语方言......

我在 C++ 中从事网络编程已经有一段时间了。向 Java 的过渡很容易。然而,最近,我发现确保流量安全是谨慎的做法。话虽如此:

我想以与 Web 浏览器创建安全套接字相同的方式创建安全套接字,因此双向流量都被加密。客户端可以看到从服务器发送的他们的个人帐户信息(如果被拦截很糟糕),客户端可以安全地将他们的用户名和密码发送到服务器(如果被拦截也很糟糕)。

我完全了解公钥密码术的工作原理,但仅公钥密码术就有副作用。您将公钥发送给客户端,客户端使用公钥加密,然后将数据发送到服务器,只有服务器可以解密。现在据我了解,服务器使用私钥加密发送给客户端的消息,并且需要添加另一层安全性以防止任何拥有公钥的人能够解密它。

  1. 我有一个公钥/私钥对存储在文件 public.key 和 private.key 中(我使用 JSSE 的 keytool 实用程序制作了这些
  2. 我在客户端中包含了 public.key
  3. 我在服务器中包含了 private.key

客户端类:

服务器类:

/ * ** * ** *问题* ** * ** * * /

一切正常!我将套接字附加到 BufferedReader 和 BufferedWriter 并在 accept(); 之后开始来回漂亮地交谈;从客户端连接并启动我的客户端和服务器发送/接收循环。

现在我知道此时客户端到服务器的通信是安全的。只有服务器密钥可以解密来自客户端的流量。但是服务器到客户端的通信呢?客户端的密钥可以解密来自服务器的消息,但在公钥加密 101 中,您了解到客户端现在应该向服务器发送公钥。这是在这段代码的幕后发生的吗?SSLContext 是否解决了这个问题?或者现在我有一个从客户端到服务器的加密连接,我现在是否也希望为客户端生成一个私钥/公钥对?

让我知道上述代码中发送和接收的流量是否在两个方向上实际上都是安全的。

0 投票
3 回答
1564 浏览

java - Why does iOS 5 fail to connect to a server running JDK 1.6, but not JDK 1.5

We have a Java Socket Server listening on an SSLSocket (port 443) and an iOS application that connects with it. When running on iOS 5.1, the application stopped working when we upgraded the Java version of the server from JDK 1.5 to 1.6 (or 1.7). The app connects just fine to JDK 5 and 6 when running on iOS 6.

The iOS app is reporting an error: -9809 = errSSLCrypto. On the Java side, we get javax.net.ssl.SSLException: Received fatal alert: close_notify.

On the Java server side, we have enabled all the available cipher suites. On the client side we have tested enabling several different suites, although we have yet to complete a test involving each one individually enabled. Right now, it is failing when we use TLS_DH_anon_WITH_AES_128_CBC_SHA although it has failed with others and we are starting to think it's not the suite.

Here is the debug output. It makes it all the way to ServerHelloDone and then fails shortly thereafter:

FYI, this works in iOS 6.0

0 投票
0 回答
604 浏览

java - 尝试连接 gmail 并从 JAVA 的服务器获取收件箱?

我正在尝试连接 gmail 并从服务器获取收件箱。我可以连接到 gmail 并登录我的帐户。当我将它们发送到套接字时

我可以从套接字得到响应。但是当我发送新东西时:

并尝试像这样从套接字获得响应:

它不显示任何消息对话框并等待近 5 分钟。5 分钟后,它显示空消息对话框(不显示最后一条消息)。我找不到任何解决方案。有谁知道问题是什么?

0 投票
1 回答
1141 浏览

java - SSL上下文。我应该重新加载它吗?

我有兴趣动态更新信任库。
什么是最好的选择?
重新加载SSLContext还是可以重新创建TrustManagers

0 投票
1 回答
7092 浏览

ssl - JMeter SSL 管理器不起作用

我试图在 JMeter 中使用客户端 ssl 证书在网站上进行身份验证。问题是当我尝试在 SSL 管理器中导入它时,我没有收到任何关于密码的消息,任何东西。在配置中我写过:

我已经添加了user.classpath,因为 jsse.jar 站在那里,但我认为它没有必要。我究竟做错了什么?

0 投票
3 回答
49126 浏览

java - 使用 SSLSocket Java 创建应用程序

我想创建一个应用程序使用SSLSocket:客户端向String服务器发送一个,服务器将其大写String并发送回客户端进行显示。

SSL服务器

SSL客户端

运行时SSLServer。它显示此错误:

我已经搜索并做了一些方法,但是..你能帮帮我吗?