final class CipherSuiteConverter
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> |
j2o
Java-to-OpenSSL cipher suite conversion map
Note that the Java cipher suite has the protocol prefix (TLS_, SSL_)
|
private static java.util.regex.Pattern |
JAVA_AES_CBC_PATTERN |
private static java.util.regex.Pattern |
JAVA_AES_PATTERN |
private static java.util.regex.Pattern |
JAVA_CIPHERSUITE_PATTERN
A_B_WITH_C_D, where:
A - TLS or SSL (protocol)
B - handshake algorithm (key exchange and authentication algorithms to be precise)
C - bulk cipher
D - HMAC algorithm
This regular expression assumees that:
1) A is always TLS or SSL, and
2) D is always a single word.
|
private static InternalLogger |
logger |
private static java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
o2j
OpenSSL-to-Java cipher suite conversion map.
|
private static java.util.regex.Pattern |
OPENSSL_AES_CBC_PATTERN |
private static java.util.regex.Pattern |
OPENSSL_AES_PATTERN |
private static java.util.regex.Pattern |
OPENSSL_CIPHERSUITE_PATTERN
A-B-C, where:
A - handshake algorithm (key exchange and authentication algorithms to be precise)
B - bulk cipher
C - HMAC algorithm
This regular expression assumes that:
1) A has some deterministic pattern as shown below, and
2) C is always a single word
|
Modifier | Constructor and Description |
---|---|
private |
CipherSuiteConverter() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
cacheFromJava(java.lang.String javaCipherSuite) |
private static java.util.Map<java.lang.String,java.lang.String> |
cacheFromOpenSsl(java.lang.String openSslCipherSuite) |
(package private) static void |
clearCache()
Clears the cache for testing purpose.
|
(package private) static boolean |
isJ2OCached(java.lang.String key,
java.lang.String value)
Tests if the specified key-value pair has been cached in Java-to-OpenSSL cache.
|
(package private) static boolean |
isO2JCached(java.lang.String key,
java.lang.String protocol,
java.lang.String value)
Tests if the specified key-value pair has been cached in OpenSSL-to-Java cache.
|
(package private) static java.lang.String |
toJava(java.lang.String openSslCipherSuite,
java.lang.String protocol)
Convert from OpenSSL cipher suite name convention to java cipher suite name convention.
|
private static java.lang.String |
toJavaBulkCipher(java.lang.String bulkCipher,
boolean export) |
private static java.lang.String |
toJavaHandshakeAlgo(java.lang.String handshakeAlgo,
boolean export) |
private static java.lang.String |
toJavaHmacAlgo(java.lang.String hmacAlgo) |
(package private) static java.lang.String |
toJavaUncached(java.lang.String openSslCipherSuite) |
(package private) static java.lang.String |
toOpenSsl(java.lang.Iterable<java.lang.String> javaCipherSuites)
Converts the specified Java cipher suites to the colon-separated OpenSSL cipher suite specification.
|
(package private) static java.lang.String |
toOpenSsl(java.lang.String javaCipherSuite)
Converts the specified Java cipher suite to its corresponding OpenSSL cipher suite name.
|
private static java.lang.String |
toOpenSslBulkCipher(java.lang.String bulkCipher) |
private static java.lang.String |
toOpenSslHandshakeAlgo(java.lang.String handshakeAlgo) |
private static java.lang.String |
toOpenSslHmacAlgo(java.lang.String hmacAlgo) |
(package private) static java.lang.String |
toOpenSslUncached(java.lang.String javaCipherSuite) |
private static final InternalLogger logger
private static final java.util.regex.Pattern JAVA_CIPHERSUITE_PATTERN
private static final java.util.regex.Pattern OPENSSL_CIPHERSUITE_PATTERN
private static final java.util.regex.Pattern JAVA_AES_CBC_PATTERN
private static final java.util.regex.Pattern JAVA_AES_PATTERN
private static final java.util.regex.Pattern OPENSSL_AES_CBC_PATTERN
private static final java.util.regex.Pattern OPENSSL_AES_PATTERN
private static final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> j2o
private static final java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> o2j
static void clearCache()
static boolean isJ2OCached(java.lang.String key, java.lang.String value)
static boolean isO2JCached(java.lang.String key, java.lang.String protocol, java.lang.String value)
static java.lang.String toOpenSsl(java.lang.Iterable<java.lang.String> javaCipherSuites)
static java.lang.String toOpenSsl(java.lang.String javaCipherSuite)
null
if the conversion has failedprivate static java.lang.String cacheFromJava(java.lang.String javaCipherSuite)
static java.lang.String toOpenSslUncached(java.lang.String javaCipherSuite)
private static java.lang.String toOpenSslHandshakeAlgo(java.lang.String handshakeAlgo)
private static java.lang.String toOpenSslBulkCipher(java.lang.String bulkCipher)
private static java.lang.String toOpenSslHmacAlgo(java.lang.String hmacAlgo)
static java.lang.String toJava(java.lang.String openSslCipherSuite, java.lang.String protocol)
openSslCipherSuite
- An OpenSSL cipher suite name.protocol
- The cryptographic protocol (i.e. SSL, TLS, ...).null
.private static java.util.Map<java.lang.String,java.lang.String> cacheFromOpenSsl(java.lang.String openSslCipherSuite)
static java.lang.String toJavaUncached(java.lang.String openSslCipherSuite)
private static java.lang.String toJavaHandshakeAlgo(java.lang.String handshakeAlgo, boolean export)
private static java.lang.String toJavaBulkCipher(java.lang.String bulkCipher, boolean export)
private static java.lang.String toJavaHmacAlgo(java.lang.String hmacAlgo)