Java Java 7 中的 SNIServerName 支持
Java SNIServerName support in Java 7
根据 Wikipedia, Java 1.7 should support SNIServerName, but as per Java docs 在他们的 javax.net.ssl package.Can 中没有这样的 class 有人请澄清一下吗?我是否必须使用 Java 8 API 才能使用 SNIServerName class?
支持有,见https://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html:
Server Name Indication (SNI) for JSSE client: The Java SE 7 release
supports the Server Name Indication (SNI) extension in the JSSE
client. SNI is described in RFC 4366. This enables TLS clients to
connect to virtual servers.
但是,它是以不同的方式实现的。例如 https://issues.apache.org/jira/browse/HTTPCLIENT-1119 讨论了这个。相关报价可能是
Java 8 has a completely different SNI API provided out of
javax.net.ssl package
所以是的,class 不会有 Java 7,而你会 "have to use Java 8 API to use SNIServerName class",就像你问的那样。
有关如何将 SNI 与 Java 7 一起使用的讨论,请参阅 this thread。
根据 Wikipedia, Java 1.7 should support SNIServerName, but as per Java docs 在他们的 javax.net.ssl package.Can 中没有这样的 class 有人请澄清一下吗?我是否必须使用 Java 8 API 才能使用 SNIServerName class?
支持有,见https://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html:
Server Name Indication (SNI) for JSSE client: The Java SE 7 release supports the Server Name Indication (SNI) extension in the JSSE client. SNI is described in RFC 4366. This enables TLS clients to connect to virtual servers.
但是,它是以不同的方式实现的。例如 https://issues.apache.org/jira/browse/HTTPCLIENT-1119 讨论了这个。相关报价可能是
Java 8 has a completely different SNI API provided out of javax.net.ssl package
所以是的,class 不会有 Java 7,而你会 "have to use Java 8 API to use SNIServerName class",就像你问的那样。
有关如何将 SNI 与 Java 7 一起使用的讨论,请参阅 this thread。