This document describes additional changes to the specification of JSR 337 which is defined by the Final Release in March 2014, Maintenance Release 1 in March 2015. and Maintenance Release 2 in March 2019. When specification text is provided, insertions are shown on a light green background and deletions are shown struck through on a light red background. Links to pages outside of those explicitly changed by this specification may not be functional.
Send comments to java-se-mr-spec-comments@openjdk.java.net.
Contents | |
---|---|
1 | Version Identification |
2 | TLS ALPN |
3 | RSASSA-PSS |
There is no change to the values returned by the system
properties java.specification.version
and
java.vm.specification.version
. They continue to
report "1.8"
. If an application needs to identify the release,
the system property java.version
may be used.
The TLS ALPN (Application-Layer Protocol Negotiation) Extension was added to Java SE 9 with JEP 244 (TLS Application-Layer Protocol Negotiation Extension (ALPN)). It allows negotiation of an application-layer protocol value during the TLS handshake which may be used during the selection of other TLS protocol parameters. HTTP/2 and other modern network protocols use ALPN.
The following methods were added to types in package
javax.net.ssl
to allow TLS clients and servers to use
multiple application-layer protocols over the same transport-layer port:
SSLEngine.getApplicationProtocol()
SSLEngine.getHandshakeApplicationProtocol()
SSLSocket.getApplicationProtocol()
SSLSocket.getHandshakeApplicationProtocol()
SSLParameters.getApplicationProtocols()
SSLParameters.setApplicationProtocols(String[])
These methods were added to types in package
javax.net.ssl
to defer the section of an application protocol
until after the TLS cipher suite is known:
SSLEngine.getHandshakeApplicationProtocolSelector()
SSLEngine.setHandshakeApplicationProtocolSelector( java.util.function.BiFunction)
SSLSocket.getHandshakeApplicationProtocolSelector()
SSLSocket.setHandshakeApplicationProtocolSelector( java.util.function.BiFunction)
The Change Specification Request (CSR) associated with this change is 8233417.
java.security
java.security.interfaces
java.security.spec
MGF1ParameterSpec
MGF1ParameterSpec.SHA512_224
(added)MGF1ParameterSpec.SHA512_256
(added)PSSParameterSpec
PSSParameterSpec.TRAILER_FIELD_BC
(added)PSSParameterSpec.toString()
(added)RSAKeyGenParameterSpec.RSAKeyGenParameterSpec(int, java.math.BigInteger)
RSAKeyGenParameterSpec.RSAKeyGenParameterSpec(int, java.math.BigInteger, java.security.spec.AlgorithmParameterSpec)
(added)RSAKeyGenParameterSpec.getKeyParams()
(added)RSAMultiPrimePrivateCrtKeySpec
RSAMultiPrimePrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.RSAOtherPrimeInfo[])
RSAMultiPrimePrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.RSAOtherPrimeInfo[], java.security.spec.AlgorithmParameterSpec)
(added)RSAOtherPrimeInfo
RSAPrivateCrtKeySpec
RSAPrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)
RSAPrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.AlgorithmParameterSpec)
RSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.security.spec.AlgorithmParameterSpec)
(added) RSAPrivateKeySpec.getParams()
(added)RSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.security.spec.AlgorithmParameterSpec)
(added)RSAPublicKeySpec.getParams()
(added)javax.crypto.spec
The CSR associated with this change is 8233418.