@@ -36,6 +36,7 @@ final class ContextData
3636 private final ProvSSLSessionContext serverSessionContext ;
3737 private final NamedGroupInfo .PerContext namedGroups ;
3838 private final SignatureSchemeInfo .PerContext signatureSchemes ;
39+ private final int maxHandshakeMessageSize ;
3940
4041 ContextData (boolean fipsMode , JcaTlsCrypto crypto , BCX509ExtendedKeyManager x509KeyManager ,
4142 BCX509ExtendedTrustManager x509TrustManager , Map <String , CipherSuiteInfo > supportedCipherSuites ,
@@ -56,6 +57,8 @@ final class ContextData
5657 this .serverSessionContext = new ProvSSLSessionContext (this );
5758 this .namedGroups = NamedGroupInfo .createPerContext (fipsMode , crypto );
5859 this .signatureSchemes = SignatureSchemeInfo .createPerContext (fipsMode , crypto , namedGroups );
60+ this .maxHandshakeMessageSize = PropertyUtils .getIntegerSystemProperty (
61+ "jdk.tls.maxHandshakeMessageSize" , 32768 , 1024 , Integer .MAX_VALUE );
5962 }
6063
6164 int [] getActiveCipherSuites (JcaTlsCrypto crypto , ProvSSLParameters sslParameters ,
@@ -191,9 +194,9 @@ ProvSSLParameters getDefaultSSLParameters(boolean isClient)
191194 return new ProvSSLParameters (this , implGetDefaultCipherSuites (isClient ), implGetDefaultProtocols (isClient ));
192195 }
193196
194- ProvSSLParameters getSupportedSSLParameters ( boolean isClient )
197+ int getMaxHandshakeMessageSize ( )
195198 {
196- return new ProvSSLParameters ( this , getSupportedCipherSuites (), getSupportedProtocols ()) ;
199+ return maxHandshakeMessageSize ;
197200 }
198201
199202 NamedGroupInfo .PerConnection getNamedGroupsClient (ProvSSLParameters sslParameters ,
@@ -213,6 +216,11 @@ ProvSSLSessionContext getServerSessionContext()
213216 return serverSessionContext ;
214217 }
215218
219+ List <SignatureSchemeInfo > getSignatureSchemes (Vector <SignatureAndHashAlgorithm > sigAndHashAlgs )
220+ {
221+ return SignatureSchemeInfo .getSignatureSchemes (signatureSchemes , sigAndHashAlgs );
222+ }
223+
216224 SignatureSchemeInfo .PerConnection getSignatureSchemesClient (ProvSSLParameters sslParameters ,
217225 ProtocolVersion [] activeProtocolVersions , NamedGroupInfo .PerConnection namedGroups )
218226 {
@@ -227,11 +235,6 @@ SignatureSchemeInfo.PerConnection getSignatureSchemesServer(ProvSSLParameters ss
227235 namedGroups );
228236 }
229237
230- List <SignatureSchemeInfo > getSignatureSchemes (Vector <SignatureAndHashAlgorithm > sigAndHashAlgs )
231- {
232- return SignatureSchemeInfo .getSignatureSchemes (signatureSchemes , sigAndHashAlgs );
233- }
234-
235238 String [] getSupportedCipherSuites ()
236239 {
237240 return JsseUtils .getKeysArray (supportedCipherSuites );
@@ -267,6 +270,11 @@ String[] getSupportedProtocols()
267270 return JsseUtils .getKeysArray (supportedProtocols );
268271 }
269272
273+ ProvSSLParameters getSupportedSSLParameters (boolean isClient )
274+ {
275+ return new ProvSSLParameters (this , getSupportedCipherSuites (), getSupportedProtocols ());
276+ }
277+
270278 BCX509ExtendedKeyManager getX509KeyManager ()
271279 {
272280 return x509KeyManager ;
0 commit comments