问题标签 [sslengine]

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 投票
5 回答
75500 浏览

apache - Apache:无效命令“SSLEngine”,可能拼写错误或由服务器配置中未包含的模块定义

当为 ssl/https 连接配置 apache2 虚拟主机时,在添加配置并使用此命令“a2ensite pm.university.com.conf”启用配置后,我收到此错误“无效命令 'SSLEngine',可能拼写错误或由模块定义包含在服务器配置中”。我会回答我自己的问题。

0 投票
1 回答
890 浏览

java - SSL 握手失败 Java

我正在学习 SSL 通信,我遇到了这个问题。我正在编写一个简单的客户端,它试图与本地 apache 服务器握手。服务器已启用 https。我将服务器证书添加到所有可能的信任库(jdk 中的一个和程序使用的那个)。但是握手状态永远不会达到 FINISHED。它一直停留在 NEED_TASK 状态我在第一次进入循环时得到一个 sun.security.ssl.Handshaker$DelegatedTask 。此后状态为 NEED_TASK 并且任务为空。. 我对以下代码的理解在哪里错误\缺陷?

注意:我从以下教程中获取代码:

http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#KRB

卡在 NEED_TASK 状态的握手代码如下:

任何帮助,将不胜感激。

0 投票
0 回答
43 浏览

java - Android SSLEngine 恢复 ssl 会话

我正在使用 SSLEngine 在 Android 中加密数据,第一次握手没问题,我有我的加密数据,我有我的会话 ID。

我想恢复我以前的会话以避免创建新会话,但是在 SSLEngine 中,我们无法将 sessionId 配置为在 ClientHello 中设置。

任何人都知道如何在 Android 中使用 SSLEngine 恢复会话?

0 投票
1 回答
132 浏览

java - HTTPS 协议服务器请求升级 Java socketchannels

所以我试图在不使用 SocketChannels 和 SSLEngine 的情况下在 java 中构建一个 HTTPS 服务器。我的主要原因是当我使用 com.sun 包装构建并对其进行测试时,很多请求超时,如果他们确实响应,他们大约需要 2 分钟(在调试器处理程序中甚至需要 2 分钟才能被调用)我构建了一个 HTTP 服务器并且请求下降到 200 毫秒,但我需要 HTTPS,当我添加 SSLEngine 并打开请求时,它看起来像 HTTP 的普通标头,请求看起来像这样:

基于此,该请求似乎未使用 HTTPS(Chrome 也表示网站不安全)并且未请求升级。我如何告诉客户升级?我读过的所有页面都说客户端应该请求升级,如果我尝试发送 426 代码标头(需要升级),服务器只会关闭连接并显示我发送的消息。

0 投票
1 回答
98 浏览

java - TLS 将 SSLEngine 下载中间证书

我有下一个案例:客户端在其信任存储中只有根证书在 TLS 握手期间,服务器将使用中间证书签名的自己的证书发送给客户端。

客户端的 SLLEngine 是否会下载中间证书以验证服务器证书,直到引擎丰富它已经在信任库中拥有的根证书,从而建立信任链并验证服务器身份?

请澄清 SSLEngine 在 Java 中的行为。

0 投票
1 回答
1743 浏览

java - 如何将 SSLEngine 限制为 TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 CipherSuite?

我有以下代码:

谢谢。

编辑:我发现我应该使用BouncyCastleJsseProviderwhich require 一个SecureRandom对象,如下所示:

使用新的提供程序后,我的代码库中出现了以下堆栈跟踪,据我所知,它应该像以前一样工作:

0 投票
1 回答
105 浏览

java - Java nio socketchannel 使用 TLS1.2 在 safari 和 IOS 中读取早期 eos

我有一个非常奇怪的问题,我最近几天正在解决这个问题。

我在服务器端编写了一个代理应用程序。代理所做的只是管理来自不同应用程序(WebApplications、IOSApps、Android 应用程序等)的 TLS/非 TLS 请求和响应,并将流量代理到服务器上的应用程序。

我遇到的问题是,当我通过 Safari 和 https(TLSv1.2) 访问使用我的代理的 WebApplication 时,我随机没有收到来自代理的响应。我调试了很多,这个问题是在我的连接读取功能中引起的。超时是非常随机的,在我的测试中,我在 10 个请求中平均有 8 个超时。

这是代码:

此代码适用于 Chrome、Opera 和 Android。但在 Safari 和 IOS 上,SocketChannel 的第二次读取随机返回 -1。这导致连接关闭。这就解释了为什么我在 safari/IOS 端超时。

我有一段工作代码,但我不能使用它,因为这不允许我代理文件上传等数据流。这不能正确处理 SSLEngineResult。

我真的不知道为什么这段代码只会在 safari 浏览器或任何 IOS 设备的请求下失败。

你们中有人遇到过同样的问题吗?

在此先感谢,如果我错过了什么,请告诉我!

0 投票
2 回答
5338 浏览

java - 发送 SSL 关闭消息失败

我有一个线程偶尔会列出消息中心上的主题。但有时,我会收到一条 :Failed to send SSL Close 消息。

有任何想法吗?

我收到了来自consumer.close的警告。

消费者的配置:

  • sasl.mechanism = PLAIN
  • security.protocol = SASL_SSL
  • group.id = 消费者1
  • ssl.enabled.protocol = TLSv1.2
  • ssl.endpoint.identification.algorithm = HTTPS
  • ssl.protocol = TLSv1.2
  • sasl.jaas.config = org.apache.kafka.common.security.plain.PlainLoginModule 需要用户名=“用户名”密码=“密码”;

[警告] 2018-01-25 20:12:23.204 [ClusterChannelMonitorTaskThread] org.apache.kafka.common.network.SslTransportLayer {} - 无法发送 SSL 关闭消息 java.io.IOException:SSLEngine.wrap 返回的意外状态,预计关闭,收到OK。不会向对等方发送关闭消息。在 org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:158) [kafka-clients-0.11.0.0.jar:?] 在 org.apache.kafka.common.utils.Utils.closeAll(Utils .java:663) [kafka-clients-0.11.0.0.jar:?] 在 org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59) [kafka-clients-0.11.0.0.jar: ?] at org.apache.kafka.common.network.Selector.doClose(Selector.java:582) [kafka-clients-0.11.0.0.jar:?] at org.apache.kafka.common.network.Selector.close (Selector.java:573) [kafka-clients-0.11.0.0.jar:

0 投票
0 回答
1570 浏览

apache - 无效的命令“SSLEngine”,可能拼写错误或由未包含在服务器配置中的模块定义。即使安装了 mod_ssl

我想在 apache 服务器上启用 SSL。我在httpd.confhttpd-ssl.conf中进行了正确的配置。但是当我启动 apache 服务器时,出现以下错误:** 无效命令“SSLEngine”,可能拼写错误或由服务器配置中未包含的模块定义**。

注意:-我已经使用root用户通过yum安装了mod_ssl。现在我以非root用户登录并启动apche服务器,导致上述错误。

0 投票
1 回答
3045 浏览

java - SSLEngine 在解开服务器问候完成后给出 NEED_UNWRAP

我使用DTLS1.0的是 java 9 提供的。它成功生成Client Hello并返回服务器响应

然后 SSLEngine 给出NEED_UNWRAP. 在打开包含它的数据包后,Server Hello Done它再次给出NEED_UNWRAP。展开下一次重新传输后Server Hello Done,它再次给出NEED_UNWRAP。它一次又一次地发生。但我认为它应该通过给产生下一个握手信号NEED_WRAP

如果我错了,请纠正我。否则为什么会这样?

信托经理:

SSL引擎:

握手: