Top Description Inners Fields Constructors Methods
org.postgresql.ssl

public Class NonValidatingFactory

extends WrappedFactory
Class Inheritance
Imports
java.security.GeneralSecurityException, java.security.cert.X509Certificate, javax.net.ssl.SSLContext, .TrustManager, .X509TrustManager

Provide a SSLSocketFactory that allows SSL connections to be made without validating the server's certificate. This is more convenient for some applications, but is less secure as it allows "man in the middle" attacks.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Inherited from org.postgresql.ssl.WrappedFactory:
factory

Constructor Summary

AccessConstructor and Description
public
NonValidatingFactory(String
input argument
arg
)

We provide a constructor that takes an unused argument solely because the ssl calling code will look for this constructor first and then fall back to the no argument constructor, so we avoid an exception and additional reflection lookups.

Method Summary

Inherited from org.postgresql.ssl.WrappedFactory:
createSocketcreateSocketcreateSocketcreateSocketcreateSocketgetDefaultCipherSuitesgetSupportedCipherSuites

Constructor Detail

NonValidatingFactoryback to summary
public NonValidatingFactory(String arg) throws GeneralSecurityException

We provide a constructor that takes an unused argument solely because the ssl calling code will look for this constructor first and then fall back to the no argument constructor, so we avoid an exception and additional reflection lookups.

Parameters
arg:String

input argument

Exceptions
GeneralSecurityException:
if something goes wrong
org.postgresql.ssl back to summary

public Class NonValidatingFactory.NonValidatingTM

extends Object
implements X509TrustManager
Class Inheritance
All Implemented Interfaces
javax.net.ssl.X509TrustManager, javax.net.ssl.TrustManager

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
checkClientTrusted(X509Certificate[]
the peer certificate chain
certs
,
String
the authentication type based on the client certificate
authType
)

Implements javax.net.ssl.X509TrustManager.checkClientTrusted.

Given the partial or complete certificate chain provided by the peer, build a certificate path to a trusted root and return if it can be validated and is trusted for client SSL authentication based on the authentication type.

public void
checkServerTrusted(X509Certificate[]
the peer certificate chain
certs
,
String
the key exchange algorithm used
authType
)

Implements javax.net.ssl.X509TrustManager.checkServerTrusted.

Given the partial or complete certificate chain provided by the peer, build a certificate path to a trusted root and return if it can be validated and is trusted for server SSL authentication based on the authentication type.

public X509Certificate[]
getAcceptedIssuers()

Implements javax.net.ssl.X509TrustManager.getAcceptedIssuers.

Return an array of certificate authority certificates which are trusted for authenticating peers.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

NonValidatingTMback to summary
public NonValidatingTM()

Method Detail

checkClientTrustedback to summary
public void checkClientTrusted(X509Certificate[] certs, String authType)

Implements javax.net.ssl.X509TrustManager.checkClientTrusted.

Doc from javax.net.ssl.X509TrustManager.checkClientTrusted.

Given the partial or complete certificate chain provided by the peer, build a certificate path to a trusted root and return if it can be validated and is trusted for client SSL authentication based on the authentication type.

The authentication type is determined by the actual certificate used. For instance, if RSAPublicKey is used, the authType should be "RSA". Checking is case-sensitive.

Parameters
certs:X509Certificate[]

the peer certificate chain

authType:String

the authentication type based on the client certificate

Annotations
@Override
checkServerTrustedback to summary
public void checkServerTrusted(X509Certificate[] certs, String authType)

Implements javax.net.ssl.X509TrustManager.checkServerTrusted.

Doc from javax.net.ssl.X509TrustManager.checkServerTrusted.

Given the partial or complete certificate chain provided by the peer, build a certificate path to a trusted root and return if it can be validated and is trusted for server SSL authentication based on the authentication type.

The authentication type is the key exchange algorithm portion of the cipher suites represented as a String, such as "RSA", "DHE_DSS".

Note

for some exportable cipher suites, the key exchange algorithm is determined at run time during the handshake. For instance, for TLS_RSA_EXPORT_WITH_RC4_40_MD5, the authType should be RSA_EXPORT when an ephemeral RSA key is used for the key exchange, and RSA when the key from the server certificate is used. Checking is case-sensitive.

Parameters
certs:X509Certificate[]

the peer certificate chain

authType:String

the key exchange algorithm used

Annotations
@Override
getAcceptedIssuersback to summary
public X509Certificate[] getAcceptedIssuers()

Implements javax.net.ssl.X509TrustManager.getAcceptedIssuers.

Doc from javax.net.ssl.X509TrustManager.getAcceptedIssuers.

Return an array of certificate authority certificates which are trusted for authenticating peers.

Returns:X509Certificate[]

a non-null (possibly empty) array of acceptable CA issuer certificates.

Annotations
@Override