Package de.sfuhrm.openssl4j
Class OpenSSL4JProvider
- java.lang.Object
-
- java.util.Dictionary<K,V>
-
- java.util.Hashtable<java.lang.Object,java.lang.Object>
-
- java.util.Properties
-
- java.security.Provider
-
- de.sfuhrm.openssl4j.OpenSSL4JProvider
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map<java.lang.Object,java.lang.Object>
public final class OpenSSL4JProvider extends java.security.ProviderJCA provider directing all calls to the system native OpenSSL library.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Set<java.lang.String>openSslMessageDigestAlgorithmsstatic java.lang.StringPROVIDER_NAMEThe provider name as passed to JCA.private static java.lang.String[]SSL_TO_JAVA_NAMESName pairs mapping from SSL to Java.
-
Constructor Summary
Constructors Constructor Description OpenSSL4JProvider()Constructor for the JCA Provider for OpenSSL JNI.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.util.Map<java.lang.String,java.lang.String>createAliases(java.util.Map<java.lang.String,java.lang.String> map)Creates some aliases for an input map.private static doublegetLibraryVersion()private static java.util.Map<java.lang.String,java.lang.String>getNames(java.util.Set<java.lang.String> availableOpenSslAlgorithmNames)Gets the names and the aliases of all message digest algorithms.private static java.util.Map<java.lang.String,java.lang.String>getOpenSSLHashnames(java.util.Set<java.lang.String> availableOpenSslAlgos)Fills a map with the names of all algorithms in OpenSSL-JNA.-
Methods inherited from class java.security.Provider
clear, compute, computeIfAbsent, computeIfPresent, configure, elements, entrySet, forEach, get, getInfo, getName, getOrDefault, getProperty, getService, getServices, getVersion, getVersionStr, isConfigured, keys, keySet, load, merge, put, putAll, putIfAbsent, putService, remove, remove, removeService, replace, replace, replaceAll, toString, values
-
-
-
-
Field Detail
-
PROVIDER_NAME
public static final java.lang.String PROVIDER_NAME
The provider name as passed to JCA.- See Also:
- Constant Field Values
-
openSslMessageDigestAlgorithms
private static java.util.Set<java.lang.String> openSslMessageDigestAlgorithms
-
SSL_TO_JAVA_NAMES
private static final java.lang.String[] SSL_TO_JAVA_NAMES
Name pairs mapping from SSL to Java. First one is SSL name, second one is Java name.
-
-
Method Detail
-
getLibraryVersion
private static double getLibraryVersion()
-
getNames
private static java.util.Map<java.lang.String,java.lang.String> getNames(java.util.Set<java.lang.String> availableOpenSslAlgorithmNames)
Gets the names and the aliases of all message digest algorithms.- Returns:
- a map mapping from algorithm name / alias to algorithm class.
-
createAliases
private static java.util.Map<java.lang.String,java.lang.String> createAliases(java.util.Map<java.lang.String,java.lang.String> map)
Creates some aliases for an input map.- Parameters:
map- a map with keys being algorithm names of the form "MessageDigest.MD5" and the keys being java class names.- Returns:
- a map mapping from algorithm name / alias to algorithm class.
-
getOpenSSLHashnames
private static java.util.Map<java.lang.String,java.lang.String> getOpenSSLHashnames(java.util.Set<java.lang.String> availableOpenSslAlgos)
Fills a map with the names of all algorithms in OpenSSL-JNA.- Returns:
- mapping from algorithm name to class name.
-
-