Top Description Fields Constructors Methods
org.conscrypt

pack-priv final Class Platform

extends Object
Class Inheritance
Static Imports
java.nio.file.attribute.PosixFilePermission.GROUP_EXECUTE, .PosixFilePermission.OTHERS_EXECUTE, .PosixFilePermission.OWNER_EXECUTE

Platform-specific methods for OpenJDK. Uses reflection to implement Java 8 SSL features for backwards compatibility.

Field Summary

Modifier and TypeField and Description
private static final Method
private static final int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv static void
pack-priv static boolean
pack-priv static void
pack-priv static void
pack-priv static void
pack-priv static void
pack-priv static void
pack-priv static Object
pack-priv static void
closeGuardOpen(Object guardObj, String message)

pack-priv static void
pack-priv static ConscryptEngineSocket
pack-priv static ConscryptEngineSocket
createEngineSocket(String hostname, int port, SSLParametersImpl sslParameters)

pack-priv static ConscryptEngineSocket
createEngineSocket(InetAddress address, int port, SSLParametersImpl sslParameters)

pack-priv static ConscryptEngineSocket
createEngineSocket(String hostname, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters)

pack-priv static ConscryptEngineSocket
createEngineSocket(InetAddress address, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters)

pack-priv static ConscryptEngineSocket
createEngineSocket(Socket socket, String hostname, int port, boolean autoClose, SSLParametersImpl sslParameters)

pack-priv static ConscryptFileDescriptorSocket
pack-priv static ConscryptFileDescriptorSocket
createFileDescriptorSocket(String hostname, int port, SSLParametersImpl sslParameters)

pack-priv static ConscryptFileDescriptorSocket
createFileDescriptorSocket(InetAddress address, int port, SSLParametersImpl sslParameters)

pack-priv static ConscryptFileDescriptorSocket
createFileDescriptorSocket(String hostname, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters)

pack-priv static ConscryptFileDescriptorSocket
createFileDescriptorSocket(InetAddress address, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters)

pack-priv static ConscryptFileDescriptorSocket
createFileDescriptorSocket(Socket socket, String hostname, int port, boolean autoClose, SSLParametersImpl sslParameters)

pack-priv static File
createTempFile(String prefix, String suffix, File directory)

Approximates the behavior of File.createTempFile without depending on SecureRandom.

pack-priv static AlgorithmParameterSpec
fromGCMParameters(AlgorithmParameters params)

Convert from an opaque AlgorithmParameters to the platform's GCMParameterSpec.

pack-priv static GCMParameters
fromGCMParameterSpec(AlgorithmParameterSpec params)

Convert from platform's GCMParameterSpec to our internal version.

pack-priv static String
pack-priv static KeyStore
public static ConscryptHostnameVerifier
pack-priv static String
getDefaultProviderName()

Default name used in the JCE system by OpenSSLProvider if the default constructor is used.

pack-priv static String
pack-priv static FileDescriptor
pack-priv static FileDescriptor
pack-priv static String
public static String
pack-priv static void
pack-priv static void
private static ClassLoader
private static boolean
pack-priv static boolean
isCTVerificationRequired(String hostname)

Check if SCT verification is required for a given hostname.

pack-priv static boolean
isSniEnabledByDefault()

For unbundled versions, SNI is always enabled by default.

pack-priv static int
private static int
pack-priv static void
logEvent(String message)

Logs to the system EventLog system.

private static int
majorVersion(final String javaSpecVersion)

private static int
pack-priv static CertBlocklist
pack-priv static ConscryptCertStore
pack-priv static CTLogStore
pack-priv static CTPolicy
pack-priv static String
oidToAlgorithmName(String oid)

OID to Algorithm Name mapping.

pack-priv static boolean
pack-priv static boolean
pack-priv static void
pack-priv static void
setEndpointIdentificationAlgorithm(SSLParameters params, String endpointIdentificationAlgorithm)

pack-priv static void
setSocketWriteTimeout(Socket s, long timeoutMillis)

pack-priv static void
pack-priv static void
pack-priv static void
pack-priv static boolean
pack-priv static boolean
pack-priv static AlgorithmParameterSpec
toGCMParameterSpec(int tagLenInBits, byte[] iv)

Creates a platform version of GCMParameterSpec.

pack-priv static SSLEngine
pack-priv static SSLEngine
pack-priv static OpenSSLKey
wrapRsaKey(PrivateKey javaKey)

Wraps an old AndroidOpenSSL key instance.

pack-priv static SSLSocketFactory
wrapSocketFactoryIfNeeded(OpenSSLSocketFactoryImpl factory)

Currently we don't wrap anything from the RI.

pack-priv static SSLSession
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GET_CURVE_NAME_METHODback to summary
private static final Method GET_CURVE_NAME_METHOD
JAVA_VERSIONback to summary
private static final int JAVA_VERSION

Constructor Detail

Platformback to summary
private Platform()

Method Detail

blockGuardOnNetworkback to summary
pack-priv static void blockGuardOnNetwork()
Annotations
@SuppressWarnings:unused
canExecuteExecutableback to summary
pack-priv static boolean canExecuteExecutable(File file) throws IOException
checkClientTrustedback to summary
pack-priv static void checkClientTrusted(X509TrustManager tm, X509Certificate[] chain, String authType, AbstractConscryptSocket socket) throws CertificateException
Annotations
@SuppressWarnings:unused
checkClientTrustedback to summary
pack-priv static void checkClientTrusted(X509TrustManager tm, X509Certificate[] chain, String authType, ConscryptEngine engine) throws CertificateException
Annotations
@SuppressWarnings:unused
checkServerTrustedback to summary
pack-priv static void checkServerTrusted(X509TrustManager tm, X509Certificate[] chain, String authType, AbstractConscryptSocket socket) throws CertificateException
Annotations
@SuppressWarnings:unused
checkServerTrustedback to summary
pack-priv static void checkServerTrusted(X509TrustManager tm, X509Certificate[] chain, String authType, ConscryptEngine engine) throws CertificateException
Annotations
@SuppressWarnings:unused
closeGuardCloseback to summary
pack-priv static void closeGuardClose(Object guardObj)
Annotations
@SuppressWarnings:unused
closeGuardGetback to summary
pack-priv static Object closeGuardGet()
Annotations
@SuppressWarnings:unused
closeGuardOpenback to summary
pack-priv static void closeGuardOpen(Object guardObj, String message)
Annotations
@SuppressWarnings:unused
closeGuardWarnIfOpenback to summary
pack-priv static void closeGuardWarnIfOpen(Object guardObj)
Annotations
@SuppressWarnings:unused
createEngineSocketback to summary
pack-priv static ConscryptEngineSocket createEngineSocket(SSLParametersImpl sslParameters) throws IOException
createEngineSocketback to summary
pack-priv static ConscryptEngineSocket createEngineSocket(String hostname, int port, SSLParametersImpl sslParameters) throws IOException
createEngineSocketback to summary
pack-priv static ConscryptEngineSocket createEngineSocket(InetAddress address, int port, SSLParametersImpl sslParameters) throws IOException
createEngineSocketback to summary
pack-priv static ConscryptEngineSocket createEngineSocket(String hostname, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters) throws IOException
createEngineSocketback to summary
pack-priv static ConscryptEngineSocket createEngineSocket(InetAddress address, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters) throws IOException
createEngineSocketback to summary
pack-priv static ConscryptEngineSocket createEngineSocket(Socket socket, String hostname, int port, boolean autoClose, SSLParametersImpl sslParameters) throws IOException
createFileDescriptorSocketback to summary
pack-priv static ConscryptFileDescriptorSocket createFileDescriptorSocket(SSLParametersImpl sslParameters) throws IOException
createFileDescriptorSocketback to summary
pack-priv static ConscryptFileDescriptorSocket createFileDescriptorSocket(String hostname, int port, SSLParametersImpl sslParameters) throws IOException
createFileDescriptorSocketback to summary
pack-priv static ConscryptFileDescriptorSocket createFileDescriptorSocket(InetAddress address, int port, SSLParametersImpl sslParameters) throws IOException
createFileDescriptorSocketback to summary
pack-priv static ConscryptFileDescriptorSocket createFileDescriptorSocket(String hostname, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters) throws IOException
createFileDescriptorSocketback to summary
pack-priv static ConscryptFileDescriptorSocket createFileDescriptorSocket(InetAddress address, int port, InetAddress clientAddress, int clientPort, SSLParametersImpl sslParameters) throws IOException
createFileDescriptorSocketback to summary
pack-priv static ConscryptFileDescriptorSocket createFileDescriptorSocket(Socket socket, String hostname, int port, boolean autoClose, SSLParametersImpl sslParameters) throws IOException
createTempFileback to summary
pack-priv static File createTempFile(String prefix, String suffix, File directory) throws IOException

Approximates the behavior of File.createTempFile without depending on SecureRandom.

fromGCMParametersback to summary
pack-priv static AlgorithmParameterSpec fromGCMParameters(AlgorithmParameters params)

Convert from an opaque AlgorithmParameters to the platform's GCMParameterSpec.

fromGCMParameterSpecback to summary
pack-priv static GCMParameters fromGCMParameterSpec(AlgorithmParameterSpec params)

Convert from platform's GCMParameterSpec to our internal version.

Annotations
@SuppressWarnings:unused
getCurveNameback to summary
pack-priv static String getCurveName(ECParameterSpec spec)
Annotations
@SuppressWarnings:unused
getDefaultCertKeyStoreback to summary
pack-priv static KeyStore getDefaultCertKeyStore() throws KeyStoreException
getDefaultHostnameVerifierback to summary
public static ConscryptHostnameVerifier getDefaultHostnameVerifier()
getDefaultProviderNameback to summary
pack-priv static String getDefaultProviderName()

Default name used in the JCE system by OpenSSLProvider if the default constructor is used.

getEndpointIdentificationAlgorithmback to summary
pack-priv static String getEndpointIdentificationAlgorithm(SSLParameters params)
Annotations
@SuppressWarnings:unused
getFileDescriptorback to summary
pack-priv static FileDescriptor getFileDescriptor(Socket s)
getFileDescriptorFromSSLSocketback to summary
pack-priv static FileDescriptor getFileDescriptorFromSSLSocket(AbstractConscryptSocket socket)
Annotations
@SuppressWarnings:unused
getHostStringFromInetSocketAddressback to summary
pack-priv static String getHostStringFromInetSocketAddress(InetSocketAddress addr)
Annotations
@SuppressWarnings:unused
getOriginalHostNameFromInetAddressback to summary
public static String getOriginalHostNameFromInetAddress(InetAddress addr)
getSSLParametersback to summary
pack-priv static void getSSLParameters(SSLParameters params, SSLParametersImpl impl, AbstractConscryptSocket socket)
getSSLParametersback to summary
pack-priv static void getSSLParameters(SSLParameters params, SSLParametersImpl impl, ConscryptEngine engine)
getSystemClassLoaderback to summary
private static ClassLoader getSystemClassLoader()
isAndroidback to summary
private static boolean isAndroid()
isCTVerificationRequiredback to summary
pack-priv static boolean isCTVerificationRequired(String hostname)

Check if SCT verification is required for a given hostname. SCT Verification is enabled using Security properties. The "conscrypt.ct.enable" property must be true, as well as a per domain property. The reverse notation of the domain name, prefixed with "conscrypt.ct.enforce." is used as the property name. Basic globbing is also supported. For example, for the domain foo.bar.com, the following properties will be looked up, in order of precedence. - conscrypt.ct.enforce.com.bar.foo - conscrypt.ct.enforce.com.bar.* - conscrypt.ct.enforce.com.* - conscrypt.ct.enforce.*

isSniEnabledByDefaultback to summary
pack-priv static boolean isSniEnabledByDefault()

For unbundled versions, SNI is always enabled by default.

Annotations
@SuppressWarnings:unused
javaVersionback to summary
pack-priv static int javaVersion()
javaVersion0back to summary
private static int javaVersion0()
logEventback to summary
pack-priv static void logEvent(String message)

Logs to the system EventLog system.

Annotations
@SuppressWarnings:unused
majorVersionback to summary
private static int majorVersion(final String javaSpecVersion)
majorVersionFromJavaSpecificationVersionback to summary
private static int majorVersionFromJavaSpecificationVersion()
newDefaultBlocklistback to summary
pack-priv static CertBlocklist newDefaultBlocklist()
newDefaultCertStoreback to summary
pack-priv static ConscryptCertStore newDefaultCertStore()
newDefaultLogStoreback to summary
pack-priv static CTLogStore newDefaultLogStore()
newDefaultPolicyback to summary
pack-priv static CTPolicy newDefaultPolicy(CTLogStore logStore)
oidToAlgorithmNameback to summary
pack-priv static String oidToAlgorithmName(String oid)

OID to Algorithm Name mapping.

Annotations
@SuppressWarnings:unused
provideTrustManagerByDefaultback to summary
pack-priv static boolean provideTrustManagerByDefault()
serverNamePermittedback to summary
pack-priv static boolean serverNamePermitted(SSLParametersImpl parameters, String serverName)
setCurveNameback to summary
pack-priv static void setCurveName(ECParameterSpec spec, String curveName)
Annotations
@SuppressWarnings:unused
setEndpointIdentificationAlgorithmback to summary
pack-priv static void setEndpointIdentificationAlgorithm(SSLParameters params, String endpointIdentificationAlgorithm)
Annotations
@SuppressWarnings:unused
setSocketWriteTimeoutback to summary
pack-priv static void setSocketWriteTimeout(Socket s, long timeoutMillis) throws SocketException
Annotations
@SuppressWarnings:unused
setSSLParametersback to summary
pack-priv static void setSSLParameters(SSLParameters params, SSLParametersImpl impl, AbstractConscryptSocket socket)
setSSLParametersback to summary
pack-priv static void setSSLParameters(SSLParameters params, SSLParametersImpl impl, ConscryptEngine engine)
setupback to summary
pack-priv static void setup()
supportsConscryptCertStoreback to summary
pack-priv static boolean supportsConscryptCertStore()
supportsX509ExtendedTrustManagerback to summary
pack-priv static boolean supportsX509ExtendedTrustManager()
toGCMParameterSpecback to summary
pack-priv static AlgorithmParameterSpec toGCMParameterSpec(int tagLenInBits, byte[] iv)

Creates a platform version of GCMParameterSpec.

Annotations
@SuppressWarnings:unused
unwrapEngineback to summary
pack-priv static SSLEngine unwrapEngine(SSLEngine engine)
wrapEngineback to summary
pack-priv static SSLEngine wrapEngine(ConscryptEngine engine)
wrapRsaKeyback to summary
pack-priv static OpenSSLKey wrapRsaKey(PrivateKey javaKey)

Wraps an old AndroidOpenSSL key instance. This is not needed on RI.

Annotations
@SuppressWarnings:unused
wrapSocketFactoryIfNeededback to summary
pack-priv static SSLSocketFactory wrapSocketFactoryIfNeeded(OpenSSLSocketFactoryImpl factory)

Currently we don't wrap anything from the RI.

Annotations
@SuppressWarnings:unused
wrapSSLSessionback to summary
pack-priv static SSLSession wrapSSLSession(ExternalSession sslSession)
Annotations
@SuppressWarnings:unused