问题标签 [sslsocketfactory]
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.
java - getLocalCertificates() 返回 null
我正在尝试编写一个简单的 ssl 服务器套接字和客户端套接字程序。首先我得到一些真正的证书,然后我使用第一个代码为其生成密钥库。然后我编写了服务器和客户端代码,因此我的服务器使用该密钥库作为服务器证书,但在连接期间没有发送证书,并且 session.getLocalCertificates() 只返回 null 我的密钥库生成代码:
我的服务器代码:
我的客户代码:
我的服务器代码来自这里,在服务器端和客户端我都从 getLocalCertificates 得到空值。我的所有代码也有可能是错误的。
java - 在 Weblogic 12c 上将 SSLSocketFactory 设置为 JAX-WS Web 服务调用
我需要使用 SSL 证书通过 HTTPS 调用外部 Web 服务端点。正确的方法应该是使用 BindingProvider 设置自定义 SSLSocketFactory,但我无法让它工作。为了让连接正常工作,我必须设置一个默认的 SSLSocketFactory:
如果我删除这一行:
该代码仍然有效(因为我使用的是 HttpsURLConnection.setDefaultSSLSocketFactory 方法)。但是如果在那一行我放了一个错误的 SSLSocketFactory,它就会失败,所以这意味着放工厂属性会做一些事情。
我没有得到的是没有设置默认 SSLSocketFactory 的调用:
仅供参考:我已经尝试过:
但它什么也没做。
java - SSLSocket 接收和发送请求而不阻塞线程
我正在尝试从 SSLSocket 服务器读取数据,我需要客户端 24/7 开放,注意我只是在制作客户端,服务器已经设置好,我正在尝试从服务器读取数据并发送数据,但是当我尝试读取数据时,它会阻塞我当前的线程,并且在那之后我似乎无法做任何其他事情,因为循环永远不会结束,如果我创建一个结束程序的循环返回。我希望它始终打开并不断收到传入请求,然后根据我收到的内容发送请求,这就是我目前拥有的。
这些是我定义的全局变量,这就是我将数据写入服务器的方式
最后这就是我收到回复的方式,这就是我遇到问题的地方。
循环永远不会结束,导致线程被卡住,即使循环结束,程序也会在这之后返回,导致程序结束。我需要知道如何将其设置为 24/7 接收数据,然后在收到响应后发回数据。
java - OkHttp3 中的 SSLSocketFactory 和 TrustManager 冗余
在 OkHttp3 中,不推荐使用以下[A]:
它被[B]取代:
以下是我的问题:
[B]中的X509TrustManager有什么用?
当创建SSLSocketFactory对象时已经可以指定 TrustManager 时,使用[B]而不是[A]有什么优势?
在https://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.Builder.html#sslSocketFactory-javax.net.ssl.SSLSocketFactory- 他们谈到在使用[B]时避免反射,有人可以解释?
更多信息:
在创建SSLSocketFactory对象时,已经可以在
例如,我通过执行以下操作获得一个SSLSocketFactory对象:
使用getTrustManager ()方法返回一个TrustManager[],其中包含客户端应该信任的服务器证书。
现在,自从
期望我提供一个X509TrustManager对象,我通过以下方式处理:
但是,我觉得这不是他们期望我们使用它的方式。因此,欢迎任何意见。
谢谢。
java - 为什么 Java 中的 SSL 服务器套接字连接会阻塞,而非 SSL 服务器套接字却不会?
考虑以下代码,用于非 SSL 套接字服务器和客户端都在一个线程上:
这会产生以下输出:
这个过程打开了一个服务器套接字 - 与一个客户端套接字连接。将数据传递到套接字然后关闭。传递数据没有问题。
考虑一个版本来证明 SSL 套接字:
这给出了以下输出:
即它在服务器套接字启动时阻塞。
我的问题是:为什么 Java 中的 SSL 服务器套接字连接会阻塞,而非 SSL 服务器套接字却不会?
java - 服务器上的 Exchange 信任库,无需停止服务器
我正在使用我的客户端-服务器套接字实现的双向身份验证。我正在加载密钥库和信任库的服务器的代码如下所示:
和函数在 Thread 中运行:
但是我有时想在服务器上更改我的信任,但是当我这样做时我不会停止服务器。我怎样才能做到这一点?trustore.jks
在服务器期间交换?
java - 如何在 Heroku 应用程序上设置自定义 SSLSocketFactory?
我想控制我的应用可以连接到哪些公共 IP 地址,以便我可以将一小组 IP 列入黑名单,以用于整个应用的传出连接。
将 Tomcat Java 应用程序部署到 Heroku,我通过覆盖“java.security.properties”指定了自定义 Java 安全配置
在该配置中,我给出了一个自定义 SSLSocketFactory 类
这允许 MyCustomSocketFactory 在一个小型示例应用程序中检查每个 IP 地址和主机的传出连接。但是,在我部署到 Heroku 后,它不适用于我的完整应用程序。找不到该类,即使它已打包到 .war 文件中。
我想我必须指定我的单个类的类加载方式不同,因为我的应用程序是由 webapp-runner.jar 初始化的。我应该采取不同的方法吗?
我知道我的类可用于某些类加载器,因为我可以Class.forName()
从我自己的代码中调用,而不会出现异常。但它只是无法从SSLSocketFactory.getDefault()
.
java - 如何在使用我自己的数字证书时通过我的网络浏览器上的 SSL 套接字显示内容?
我想制作一个 Java 服务器,我可以在其中简单地打开我的网络浏览器并查看“Hello World”。到目前为止,我相信我已经设置了一个服务器,但我不知道为什么浏览器中没有显示任何内容。
我使用以下命令行来创建与证书关联的文件。
这是我的文件:Server.java
如何让它在浏览器中显示“Hello World”?我试过 Firefox 和 Chrome。
java - 如何在 doPost( 方法的主体中访问用于 servlet 请求的 SSLSocket?
我通过子类化 javax.servlet.http.HttpServlet 并覆盖 doPost 方法来实现 HTTP servlet。在 doPost 方法的主体中,我需要访问用于处理请求并将用于处理响应的 SSLSocket 对象。servlet 容器也被用作 HTTPS 服务器。servlet 容器前面没有 web 服务器、负载均衡器、TLS 终止设备等。客户端仅使用 HTTPS 直接连接到 servlet 容器。
如何访问用于处理请求并将用于处理来自 doPost 方法主体内的响应的 SSLSocket 对象?
你可能很好奇我为什么需要这样做。我需要访问与连接关联的通道绑定信息。是的,我知道通道绑定支持目前在 JSSE 规范中没有标准化,因此默认的 Oracle 提供的 JSSE 提供程序不支持。这就是我使用支持通道绑定的 Bouncy Castle JSSE 提供程序的原因。
ssl - 有没有办法为 SSLSocketFactory 和 SSLServerSocketFactory 指定端口范围
我正在将 jacorb 配置为与 SSL 一起使用。选择的服务器/客户端端口是随机的。在非 SSL 配置的情况下,我需要指定一系列端口,类似于 PortRangeSocketFactory/PortRangeServerSocketFactory。
我试图避免OASSLPort属性,因为端口变得固定(而不是范围)并且仅适用于服务器/侦听端口。客户端端口仍然是随机的。
我有一组进程,其中一些既充当服务器又充当客户端- 共享jacorb.properties。
当前jacorb.properties配置:
我正在使用 Jacorb 3.9、RHEL 7.3 和 Java 1.8.0_171。