问题标签 [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.

0 投票
2 回答
5419 浏览

java - Java 中的密钥 SSL 套接字连接

我正在加密服务器和客户端之间的 tcp 连接。在研究和测试过程中,我倾向于使用密钥加密。我的问题是我找不到任何有关如何实现此功能的教程。我发现的教程围绕一次性 https 请求展开,我只需要一个 SSL 套接字。

到目前为止我编写的代码如下。我几乎可以肯定它需要扩展,我只是不知道如何。任何帮助表示赞赏。

接受客户端连接的服务器代码

我只是不知道如何实际握手。

参考:http ://docs.oracle.com/javase/1.5.0/docs/guide/security/jsse/JSSERefGuide.html

0 投票
1 回答
2323 浏览

java - LinkageError:加载程序约束违规:

帮我解决这个问题?我正在与 java 进行 Netsuite 集成,我将所需的 jar 文件添加到我的项目中。添加部署在 jboss 6.1.0 中的 jar 后。添加此 jar org.apache.sling.commons.log-2.0.6.jar 后出现以下异常。这是我的堆栈跟踪。

0 投票
2 回答
1054 浏览

java - 为什么 SSLSocketFactory 缺少 setEnabledCipherSuites?

SSLSocketFactory提供getDefaultCipherSuites(默认情况下在套接字上启用的密码)和getSupportedCipherSuites(可以启用的密码,如果需要)。

但是,SSLSocketFactory不提供setEnabledCipherSuites一次配置密码列表以提供对后续套接字的偏好。

事实上,我认为制作真正复杂的炒锅流程setEnabledCipherSuites的一部分。SSLSocket例如,HttpsURLConnection不提供 a getSocket,它确实打破了这个流程:

我认为也可以这样说,SSLContext因为它有类似getDefaultSSLParametersand的方法getSupportedSSLParameters

我试图为(不)能力提出一个合理的安全工程原因,但我做不到。也许这个决定有软件工程的原因。(我怀疑有一个很好的理由,我目前缺乏洞察力)。

为什么Java缺乏配置的能力SSLSocketFactory?这显然是一个设计决定,我试图理解为什么它是以牺牲图书馆相关部分的安全为代价的。

0 投票
1 回答
1353 浏览

java - createServerSocket 返回 java.net.SocketException:套接字失败:EACCES(权限被拒绝)

我正在尝试使用 sslContext.getServerSocketFactory().createServerSocket(port); 创建服务器套接字

但其给予例外许可被拒绝。下面是我的完整代码。

我已经尝试了多个端口,但我都遇到了同样的错误。

以下是异常消息。java.net.SocketException:套接字失败:EACCES(权限被拒绝)

0 投票
0 回答
434 浏览

android - 在android中使用socketFactory在createsocket中获取null

我正在用 android 编写代码以使用 SSL 连接服务器。Android 不支持 JKS,我使用 BKS,我没有将 BKS 文件放在服务器中,我正在连接到服务器中没有 BKS 文件的服务器,我将 BKS 文件放在我的 android 项目中,我在这一行中得到 null:

我该如何解决我的问题?

0 投票
1 回答
784 浏览

java - SAAJ 包括客户端证书

我想通过 https 调用 Web 服务,我需要包含客户端证书。我正在使用 SAAJ

但是如何包含客户端证书?

0 投票
2 回答
1434 浏览

java - Java 代码未发布证书

我正在使用 2 路 ssl 身份验证来安全地发布数据。客户给了我他们的证书,我加载到信任库中,我的服务器证书是他们在我给他们我的 CSR 后生成的。我已将服务器证书加载到密钥库中。我的代码正在接受他们的证书,发送密钥而不是服务器证书。使用的代码如下。请协助;

错误:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure。

原因:空证书通过。

调试显示;

0 投票
2 回答
3235 浏览

websphere - Websphere 7 javax.mail.MessagingException:SSLSocketFactory 为空

我正在尝试使用 SSL 连接到在 Websphere 7 上运行的邮件服务器。将代码作为独立的测试主要方法运行没有问题,一切正常。我在 Websphere 上运行代码也没有问题 - 连接到邮件服务器(例如 imap.seznam.cz),但是当我不使用 SSL 时。如果我想使用 SSL,则会抛出如下异常:

javax.mail.MessagingException:SSLSocketFactory 为空。如果调用 javax.net.ssl.SSLSocketFactory.getDefault() 来创建套接字并且未设置 javax.net.ssl.* 属性,则会发生这种情况。嵌套异常是:

javax.net.ssl.SSLException: SSLSocketFactory 为空。如果调用 javax.net.ssl.SSLSocketFactory.getDefault() 来创建套接字并且未设置 javax.net.ssl.* 属性,则会发生这种情况。

在 com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:571)

在 javax.mail.Service.connect(Service.java:288)

这是代码的一部分:

参数取自属性文件...

ssl true,imapServer imap.seznam.cz,imapPort 993

这只是为了检查 SSLSocketFactory 是否为空,在代码中不需要

SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); System.out.println(sslsocketfactory);

我可以看到 sslsocketfactory 不是 null ans 类型:com.ibm.websphere.ssl.protocol.SSLSocketFactory

我尝试的是:

  • 我有来自邮件服务器的证书存储在 Websphere 上的受信任存储中(使用管理控制台,从服务器的端口读取,我可以在那里看到它)
  • 我在 Websphere 服务器的属性和代码中设置了一些 javax.net.ssl.* 属性,如您所见 - 但我认为没有必要
  • 我假设 Websphere 正在从管理控制台中看到的信任存储位置读取证书:${CONFIG_ROOT}/cells/T431sNode03Cell/nodes/T431sNode03/trust.p12

任何 Websphere 专家都可以帮我解决这个问题吗?我试图修复它几天但没有成功:-(

正如我所提到的,它在不使用 SSL 时在 Websphere 上工作,但在对同一邮件服务器使用 SSL 时不运行(例如 imap.seznam.cz,也是 imap.gmail.com),并且在运行时使用 SSL 工作正常在 Websphere 之外作为独立的 java 应用程序。

谢谢大家,伙计们!

更新:

感谢 Gas 为我指出了如何在 Websphere 中配置邮件的正确方法。所以我做到了,我使用的是内置邮件提供程序,只创建了 2 个邮件会话

  • 一种使用“imaps”提供程序支持 SSL
  • 另一个使用“imap”提供程序不支持 SSL

两个会话都定义了相同的服务器并启用了调试。

在java代码中我这样做:

和有趣的想,结果是完全一样的。当我使用非 SSL 会话时,一切正常,但是当我使用 SSL 会话时,出现此异常:

更新2:

我从这个例子中创建了一个新的项目:

http://www.mkyong.com/maven/how-to-create-a-web-application-project-with-maven/

我只向控制器添加了与邮件会话相关的代码:

当我部署这个新的网络应用程序并调用它时,同样的错误。在 WEB-INF/lib 中只有与 spring 和 commons 日志相关的 jar:

所以我认为这与服务器设置有关?我使用 Websphere 7.0.0.31。我在管理控制台(从端口读取)中将邮件服务器证书添加到 NodeDefaultTrustStore,我可以在那里看到它。

这是我们在项目中使用的 jar 列表:

我认为这也可能会有所帮助,来自我的 WAS 上的 java.security 设置:

0 投票
1 回答
166 浏览

java - 使用附加代码进行 SSLSocket 通信是否安全?

我开发了一个聊天服务器和客户端Sockets,一切都很好,直到我在网上某处读到普通Socket通信容易受到攻击。谷歌搜索了一段时间后,我发现了这个页面,其中显示了一个示例SSLServerSocketSSLSocket实现(下面的代码)。

如果我按照以下代码中的步骤操作,我想知道我的服务器和客户端之间的通信是否安全。


服务器代码


客户代码

0 投票
0 回答
225 浏览

java - DefaultHttpClient、证书、Https:访问停止

我必须连接到安全的 https url,并按照以下步骤操作:

  1. 创建HttpClient

2.我创建一个HttpPost

3. 我执行了请求:

响应显示访问被拒绝

有人可以帮助我理解我做错了什么吗?