问题标签 [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.
android - 如何在 android lollipop 中连接 sslsocket
请指导我如何在 android lollipop 中使用 https 套接字连接。以前我可以通过接受所有证书来使用 X509TrustManager 连接到 https 服务器。但是这种方法在 android lollipop 中不能正常工作。当我阅读文档时,我知道 authType 已更改。请有人帮助我,如何在 android lollipop 中成功连接 https 套接字。请分享步骤...
java - 如何使 SSL 服务器套接字在 java 中同时支持 http 和 https?
我正在尝试使用应该支持 http 和 https 的 java 套接字创建简单的 web 服务器。但我一次只能实现一个。我需要同时支持 http @ port 80 和 https @ port 443 的逻辑。
这是使用 sslsocket 的 HTTPS 服务器的示例代码。我们可以使用简单的 ServerSocket 实现 HTTP Server。
}
任何人都可以帮助我吗?
android - Now that SSLSocketFactory is deprecated on Android, what would be the best way to handle Client Certificate Authentication?
I am working on an Android app that requires Client Certificate Authentication (with PKCS 12 files).
Following the deprecation of all that's apache.http.*
, we have started a pretty big work of refactoring on our network layer, and we have decided to go with OkHttp as a replacement, and so far I like that very much.
However, I haven't found any other way to handle client certificate auth without using SSLSocketFactory
, with OkHttp or anything else for that matter. So what would be the best course of action in this particular case?
Is there another way with OkHttp to handle this sort of authentication?
java - keytool Java 和 TLS/SSL
我有一个套接字客户端和服务器套接字。服务器有一个密钥库,其中有一个密钥。
这个页面说它在运行上述命令时会生成一个密钥对。https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html
当我运行这个命令时:
我可以看到:
我在那里看到的是证书,但是 entrytype: PrivateKeyEntry 是什么意思?
所以......当我加载 Java 服务器时:
我可以将它指向密钥库,以便在设置 SSLServerSocket 时使用它。
现在在客户端,客户端是否只需要使用此命令从该密钥库导出的 crt ?
或者是否需要在 Java 套接字之间启用安全 SSL。
附加信息 标准 Java 注释 使用 SSL 运行服务器和客户端
http://stilius.net/java/java_ssl.php
首先将您之前创建的证书文件复制到工作目录并使用这些参数运行服务器(请注意,如果您指定了不同的选项来创建证书,则必须更改 keyStore 名称和/或 trustStrorePassword:
现在再次将您之前创建的证书文件复制到工作目录并使用这些参数运行客户端(请注意,如果您指定了不同的选项来创建证书,则必须更改 keyStore 名称和/或 trustStrorePassword:
如果您想要 SSL 调试信息,只需在运行服务器和/或客户端时添加这些参数:
javax.net.ssl.keyStore - Java 密钥库文件的位置,其中包含应用程序进程自己的证书和私钥。在 Windows 上,指定的路径名必须使用正斜杠 / 来代替反斜杠。
javax.net.ssl.keyStorePassword -从 javax.net.ssl.keyStore 指定的密钥库文件访问私钥的密码。此密码使用两次:解锁密钥库文件(存储密码),以及解密存储在密钥库中的私钥(密钥密码)。
javax.net.ssl.trustStore - Java 密钥库文件的位置,其中包含受此应用程序进程信任的 CA 证书集合(信任库)。在 Windows 上,指定的路径名必须使用正斜杠 / 代替反斜杠 .
javax.net.ssl.trustStorePassword -解锁由 javax.net.ssl.trustStore 指定的密钥库文件的密码(存储密码)。
javax.net.ssl.trustStoreType -(可选)对于 Java 密钥库文件格式,此属性的值为 jks(或 JKS)。您通常不指定此属性,因为它的默认值已经是 jks。
javax.net.debug -要打开 SSL/TLS 层的日志记录,请将此属性设置为 ssl。
理查德
java - 为什么 netty 不通过网络发送我自己的 POJO?
我尝试通过网络将 POJO“SecureMessageServerClientMessage”发送到客户端。两者都是使用 netty-Framework for Async 创建的。套接字通信。我对 netty 真的很陌生,所以我接受了示例代码并想要更改它,以便它通过网络发送我的 POJO。我知道这是很多代码,但它几乎是它们的示例,但它不起作用..如果有人能告诉我为什么它不起作用,那就太好了..
这是我的课程: 服务器主要:
}
SecureChatServerHandler:
初始化程序(服务器):
这是我的客户的代码:
这里的处理程序:
最后是我的 POJO:
android - 如何在 Android Volley 中判断 TLS 版本
我的项目使用Android Volley网络框架很久了,最近发现网上发布了一个SSL 3.0协议的bug。
我想知道如何才能知道我的项目使用的 TLS 版本是什么,以及如何确认库是否已更新。
这是我的源代码片段:
我认为重点在于 HurlStack 类,它取决于org.apache.http
包,但我不知道 TLS/SSL 配置在哪里。
java - 如何将自定义 SSLSocketFactory 注入 Azure Java SDK
有没有办法可以覆盖SSLSocketFactory
Azure HTTPConnection 默认使用的并使用我自己的自定义SSLSocketFactory
?我需要这个,因为我使用的系统使用不同的 SSLContexts 与不同的服务器通信,并且我不能使用默认的 SSLSocketFactory。
我已经在 github 上的 Java 的 AD 库上提出了一个问题,但如果有一种方法可以覆盖它,那么在代码修复完成之前会更好。
android - Android SSLSocket.getinpurstream 在棉花糖上失败
我有一个连接到服务器的应用程序。它连接到安全套接字 SSLSocket。在 Lollipop 和以下 androids 上,对 getInputStream 的调用没有问题,其余的工作正常,但是当我将手机升级到 Marshmallow 时,相同的 API 调用不再工作。它返回异常,我得到打印“getInputStream failed 10”。我什至尝试增加超时。InitSsl() 已经被调用过一次。
请帮忙。
提前致谢。
java - 如何检索 SSL 客户端正在使用的 KeyManager、TrustManager 和 SecureRandom 对象?
我正在尝试创建一个使用 TSLv1.2 协议执行握手的 SSL 套接字工厂。
到目前为止我所拥有的[1/18 更新]:
我希望从 中获取 KeyManager、TrustManager 和 SecureRandom 对象SSLServerSocketFactory.getDefault()
,但没有获取器。
我可以从另一个地方拉这个吗?或更有效的方法来做到这一点?
我不想手动创建密钥和信任管理器以避免需要系统特定的配置。
完整方法供参考:
java - sun SSLSocketImpl 没有连接超时,潜在的错误?
最近我们在客户端应用程序连接到服务器时遇到了 SocketTimeoutException。客户端应用程序使用 Axis1.4 作为 SOAP 引擎。我们已经将套接字的连接超时和读取超时设置为 20 秒,但看起来连接超时值不起作用。
深入了解 JDK 中的套接字创建之后,使用的套接字工厂是sun.security.ssl.SSLSocketFactoryImpl,而套接字 impl 是sun.security.ssl.SSLSocketImpl。问题在于 SSLSocketImpl 的初始化,它将连接超时值硬编码为 0,这意味着没有超时:
连接方法是:
为什么 sun 的实现硬编码为 0?这是一个错误吗?从这里看应用程序需要自己处理超时,这很奇怪。