Javax.Net.Ssl.SSLEngine Class
The abstract implementation of secure communications using SSL, TLS, or other protocols.

See Also: SSLEngine Members

Syntax

[Android.Runtime.Register("javax/net/ssl/SSLEngine", DoNotGenerateAcw=true)]
public abstract class SSLEngine : Java.Lang.Object

Remarks

The abstract implementation of secure communications using SSL, TLS, or other protocols. It includes the setup, handshake, and encrypt/decrypt functionality needed to create a secure connection.

Default configuration

SSLEngine instances obtained from default Javax.Net.Ssl.SSLContext are configured as follows:

Protocols

ProtocolSupported (API Levels)Enabled by default (API Levels)
SSLv31+1+
TLSv11+1+
TLSv1.120+20+
TLSv1.220+20+

Cipher suites

Cipher suiteSupported (API Levels)Enabled by default (API Levels)
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA9+9-19
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA9+9-19
SSL_DHE_DSS_WITH_DES_CBC_SHA9+9-19
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA9+9-19
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA9+9-19
SSL_DHE_RSA_WITH_DES_CBC_SHA9+9-19
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA9+
SSL_DH_anon_EXPORT_WITH_RC4_40_MD59+
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA9+
SSL_DH_anon_WITH_DES_CBC_SHA9+
SSL_DH_anon_WITH_RC4_128_MD59+
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA9+9-19
SSL_RSA_EXPORT_WITH_RC4_40_MD59+9-19
SSL_RSA_WITH_3DES_EDE_CBC_SHA9+9-19
SSL_RSA_WITH_DES_CBC_SHA9+9-19
SSL_RSA_WITH_NULL_MD59+
SSL_RSA_WITH_NULL_SHA9+
SSL_RSA_WITH_RC4_128_MD59+9-19
SSL_RSA_WITH_RC4_128_SHA9+9+
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA1-81-8
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA1-81-8
TLS_DHE_DSS_WITH_AES_128_CBC_SHA9+9+
TLS_DHE_DSS_WITH_AES_128_CBC_SHA25620+
TLS_DHE_DSS_WITH_AES_128_GCM_SHA25620+
TLS_DHE_DSS_WITH_AES_256_CBC_SHA9+20+
TLS_DHE_DSS_WITH_AES_256_CBC_SHA25620+
TLS_DHE_DSS_WITH_AES_256_GCM_SHA38420+
TLS_DHE_DSS_WITH_DES_CBC_SHA1-81-8
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA1-81-8
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA1-81-8
TLS_DHE_RSA_WITH_AES_128_CBC_SHA9+9+
TLS_DHE_RSA_WITH_AES_128_CBC_SHA25620+
TLS_DHE_RSA_WITH_AES_128_GCM_SHA25620+20+
TLS_DHE_RSA_WITH_AES_256_CBC_SHA9+20+
TLS_DHE_RSA_WITH_AES_256_CBC_SHA25620+
TLS_DHE_RSA_WITH_AES_256_GCM_SHA38420+20+
TLS_DHE_RSA_WITH_DES_CBC_SHA1-81-8
TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA1-8
TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA1-8
TLS_DH_DSS_WITH_DES_CBC_SHA1-8
TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA1-8
TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA1-8
TLS_DH_RSA_WITH_DES_CBC_SHA1-8
TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA1-8
TLS_DH_anon_WITH_3DES_EDE_CBC_SHA1-8
TLS_DH_anon_WITH_AES_128_CBC_SHA9+
TLS_DH_anon_WITH_AES_128_CBC_SHA25620+
TLS_DH_anon_WITH_AES_128_GCM_SHA25620+
TLS_DH_anon_WITH_AES_256_CBC_SHA9+
TLS_DH_anon_WITH_AES_256_CBC_SHA25620+
TLS_DH_anon_WITH_AES_256_GCM_SHA38420+
TLS_DH_anon_WITH_DES_CBC_SHA1-8
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA20+
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA20+20+
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA25620+
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA25620+20+
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA20+20+
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA38420+
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA38420+20+
TLS_ECDHE_ECDSA_WITH_NULL_SHA20+
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA20+20+
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA20+
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA20+20+
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA25620+
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA25620+20+
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA20+20+
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA38420+
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA38420+20+
TLS_ECDHE_RSA_WITH_NULL_SHA20+
TLS_ECDHE_RSA_WITH_RC4_128_SHA20+20+
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA20+
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA20+
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA25620+
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA25620+
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA20+
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA38420+
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA38420+
TLS_ECDH_ECDSA_WITH_NULL_SHA20+
TLS_ECDH_ECDSA_WITH_RC4_128_SHA20+
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA20+
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA20+
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA25620+
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA25620+
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA20+
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA38420+
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA38420+
TLS_ECDH_RSA_WITH_NULL_SHA20+
TLS_ECDH_RSA_WITH_RC4_128_SHA20+
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA20+
TLS_ECDH_anon_WITH_AES_128_CBC_SHA20+
TLS_ECDH_anon_WITH_AES_256_CBC_SHA20+
TLS_ECDH_anon_WITH_NULL_SHA20+
TLS_ECDH_anon_WITH_RC4_128_SHA20+
TLS_EMPTY_RENEGOTIATION_INFO_SCSV20+20+
TLS_FALLBACK_SCSV21+
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA21+21+
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA21+21+
TLS_NULL_WITH_NULL_NULL1-8
TLS_PSK_WITH_3DES_EDE_CBC_SHA21+
TLS_PSK_WITH_AES_128_CBC_SHA21+21+
TLS_PSK_WITH_AES_256_CBC_SHA21+21+
TLS_PSK_WITH_RC4_128_SHA21+
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA1-81-8
TLS_RSA_WITH_3DES_EDE_CBC_SHA1-81-8
TLS_RSA_WITH_AES_128_CBC_SHA9+9+
TLS_RSA_WITH_AES_128_CBC_SHA25620+
TLS_RSA_WITH_AES_128_GCM_SHA25620+20+
TLS_RSA_WITH_AES_256_CBC_SHA9+20+
TLS_RSA_WITH_AES_256_CBC_SHA25620+
TLS_RSA_WITH_AES_256_GCM_SHA38420+20+
TLS_RSA_WITH_DES_CBC_SHA1-81-8
TLS_RSA_WITH_NULL_MD51-8
TLS_RSA_WITH_NULL_SHA1-8
TLS_RSA_WITH_NULL_SHA25620+

NOTE: PSK cipher suites are enabled by default only if the SSLContext through which the engine was created has been initialized with a PSKKeyManager.

[Android Documentation]

Requirements

Namespace: Javax.Net.Ssl
Assembly: Mono.Android (in Mono.Android.dll)
Assembly Versions: 0.0.0.0
Since: Added in API level 1