Spec-Zone .ru
спецификации, руководства, описания, API
Please note that the specifications and other information contained herein are not final and are subject to change. The information is being made available to you solely for purpose of evaluation.

Java™ Platform
Standard Ed. 7

DRAFT ea-b118

javax.net.ssl
Class SSLParameters

java.lang.Object
  extended by javax.net.ssl.SSLParameters

public class SSLParameters
extends Object

Encapsulates parameters for an SSL/TLS connection. The parameters are the list of ciphersuites to be accepted in an SSL/TLS handshake, the list of protocols to be allowed, the endpoint identification algorithm during SSL/TLS handshaking, the algorithm constraints and whether SSL/TLS servers should request or require client authentication.

SSLParameters can be created via the constructors in this class. Objects can also be obtained using the getSSLParameters() methods in SSLSocket and SSLServerSocket and SSLEngine or the getDefaultSSLParameters() and getSupportedSSLParameters() methods in SSLContext.

SSLParameters can be applied to a connection via the methods SSLSocket.setSSLParameters() and SSLServerSocket.setSSLParameters() and SSLEngine.getSSLParameters().

Since:
1.6
See Also:
SSLSocket, SSLEngine, SSLContext

Constructor Summary
Constructor and Description
SSLParameters()
          Constructs SSLParameters.
SSLParameters(String[] cipherSuites)
          Constructs SSLParameters from the specified array of ciphersuites.
SSLParameters(String[] cipherSuites, String[] protocols)
          Constructs SSLParameters from the specified array of ciphersuites and protocols.
 
Method Summary
Modifier and Type Method and Description
 AlgorithmConstraints getAlgorithmConstraints()
          Returns the cryptographic algorithm constraints.
 String[] getCipherSuites()
          Returns a copy of the array of ciphersuites or null if none have been set.
 String getEndpointIdentificationAlgorithm()
          Gets the endpoint identification algorithm.
 boolean getNeedClientAuth()
          Returns whether client authentication should be required.
 String[] getProtocols()
          Returns a copy of the array of protocols or null if none have been set.
 boolean getWantClientAuth()
          Returns whether client authentication should be requested.
 void setAlgorithmConstraints(AlgorithmConstraints constraints)
          Sets the cryptographic algorithm constraints, which will be used in addition to any configured by the runtime environment.
 void setCipherSuites(String[] cipherSuites)
          Sets the array of ciphersuites.
 void setEndpointIdentificationAlgorithm(String algorithm)
          Sets the endpoint identification algorithm.
 void setNeedClientAuth(boolean needClientAuth)
          Sets whether client authentication should be required.
 void setProtocols(String[] protocols)
          Sets the array of protocols.
 void setWantClientAuth(boolean wantClientAuth)
          Sets whether client authentication should be requested.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SSLParameters

public SSLParameters()
Constructs SSLParameters.

The cipherSuites and protocols values are set to null, wantClientAuth and needClientAuth are set to false.


SSLParameters

public SSLParameters(String[] cipherSuites)
Constructs SSLParameters from the specified array of ciphersuites.

Calling this constructor is equivalent to calling the no-args constructor followed by setCipherSuites(cipherSuites);.

Parameters:
cipherSuites - the array of ciphersuites (or null)

SSLParameters

public SSLParameters(String[] cipherSuites,
                     String[] protocols)
Constructs SSLParameters from the specified array of ciphersuites and protocols.

Calling this constructor is equivalent to calling the no-args constructor followed by setCipherSuites(cipherSuites); setProtocols(protocols);.

Parameters:
cipherSuites - the array of ciphersuites (or null)
protocols - the array of protocols (or null)
Method Detail

getCipherSuites

public String[] getCipherSuites()
Returns a copy of the array of ciphersuites or null if none have been set.

Returns:
a copy of the array of ciphersuites or null if none have been set.

setCipherSuites

public void setCipherSuites(String[] cipherSuites)
Sets the array of ciphersuites.

Parameters:
cipherSuites - the array of ciphersuites (or null)

getProtocols

public String[] getProtocols()
Returns a copy of the array of protocols or null if none have been set.

Returns:
a copy of the array of protocols or null if none have been set.

setProtocols

public void setProtocols(String[] protocols)
Sets the array of protocols.

Parameters:
protocols - the array of protocols (or null)

getWantClientAuth

public boolean getWantClientAuth()
Returns whether client authentication should be requested.

Returns:
whether client authentication should be requested.

setWantClientAuth

public void setWantClientAuth(boolean wantClientAuth)
Sets whether client authentication should be requested. Calling this method clears the needClientAuth flag.

Parameters:
wantClientAuth - whether client authentication should be requested

getNeedClientAuth

public boolean getNeedClientAuth()
Returns whether client authentication should be required.

Returns:
whether client authentication should be required.

setNeedClientAuth

public void setNeedClientAuth(boolean needClientAuth)
Sets whether client authentication should be required. Calling this method clears the wantClientAuth flag.

Parameters:
needClientAuth - whether client authentication should be required

getAlgorithmConstraints

public AlgorithmConstraints getAlgorithmConstraints()
Returns the cryptographic algorithm constraints.

Returns:
the cryptographic algorithm constraints, or null if the constraints have not been set
Since:
1.7
See Also:
setAlgorithmConstraints(AlgorithmConstraints)

setAlgorithmConstraints

public void setAlgorithmConstraints(AlgorithmConstraints constraints)
Sets the cryptographic algorithm constraints, which will be used in addition to any configured by the runtime environment.

If the constraints parameter is non-null, every cryptographic algorithm, key and algorithm parameters used in the SSL/TLS handshake must be permitted by the constraints.

Parameters:
constraints - the algorithm constraints (or null)
Since:
1.7

getEndpointIdentificationAlgorithm

public String getEndpointIdentificationAlgorithm()
Gets the endpoint identification algorithm.

Returns:
the endpoint identification algorithm, or null if none has been set.
Since:
1.7
See Also:
X509ExtendedTrustManager, setEndpointIdentificationAlgorithm(String)

setEndpointIdentificationAlgorithm

public void setEndpointIdentificationAlgorithm(String algorithm)
Sets the endpoint identification algorithm.

If the algorithm parameter is non-null or non-empty, the endpoint identification/verification procedures must be handled during SSL/TLS handshaking. This is to prevent man-in-the-middle attacks.

Parameters:
algorithm - The standard string name of the endpoint identification algorithm (or null). See Appendix A in the Java Cryptography Architecture API Specification & Reference for information about standard algorithm names.
Since:
1.7
See Also:
X509ExtendedTrustManager

Java™ Platform
Standard Ed. 7

DRAFT ea-b118

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2010, Oracle Corporation. All rights reserved.
DRAFT ea-b118

Scripting on this page tracks web page traffic, but does not change the content in any way.