【发布时间】:2016-10-25 05:09:39
【问题描述】:
在设计用于在定制芯片上运行的 java 应用程序中的代码行下方找到。
System.setProperty("ssl.SocketFactory.provider", "some.custom.socketFactory");
我从互联网推断“ssl.SocketFactory.provider”是要在 java.security.Security 类上设置的属性。
如果将“ssl.SocketFactory.provider”设置为系统属性而不是安全属性会产生任何差异(正面或负面),我很困惑,这是正确的,我的意思是系统和安全子集或彼此的超集,所以“ssl.SocketFactory.provider”属性设置在谁身上并不重要。
附注: 1) 芯片上的 java 应用程序成功地通过服务器身份验证与服务器通信,但是当从更新的服务器请求客户端身份验证时,SSlSocketFactory(从 SSLContext 创建并使用经过验证的信任和密钥管理器工厂初始化)无法在服务器上创建套接字IP 和端口。线程永远阻塞在 .createSocket(IP,port);
2) 我在互联网上进行了大量搜索,但无法连接这些类之间的点以及我是否遗漏或做错了什么。
【问题讨论】:
-
文档似乎确实说要使用安全属性。
The first time this method is called, the security property "ssl.SocketFactory.provider" is examined.所以你可能是对的。不过,在处理定制硬件时很难确定。 docs.oracle.com/javase/8/docs/api/javax/net/ssl/…
标签: java sockets security ssl sslsocketfactory