Package org.apache.commons.crypto.jna
Class OpenSsl20XNativeJna
- java.lang.Object
-
- org.apache.commons.crypto.jna.OpenSsl20XNativeJna
-
- All Implemented Interfaces:
OpenSslInterfaceNativeJna
final class OpenSsl20XNativeJna extends java.lang.Object implements OpenSslInterfaceNativeJna
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.ThrowableINIT_ERROR(package private) static booleanINIT_OK
-
Constructor Summary
Constructors Constructor Description OpenSsl20XNativeJna()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.sun.jna.ptr.PointerByReference_ENGINE_by_id(java.lang.String string)int_ENGINE_cleanup()TODO Appears to be deprecated as of OpenSSL 1.1.0.int_ENGINE_finish(com.sun.jna.ptr.PointerByReference rdrandEngine)int_ENGINE_free(com.sun.jna.ptr.PointerByReference rdrandEngine)int_ENGINE_init(com.sun.jna.ptr.PointerByReference rdrandEngine)void_ENGINE_load_rdrand()int_ENGINE_set_default(com.sun.jna.ptr.PointerByReference rdrandEngine, int flags)java.lang.String_ERR_error_string(com.sun.jna.NativeLong err, char[] buff)com.sun.jna.NativeLong_ERR_peek_error()com.sun.jna.ptr.PointerByReference_EVP_aes_128_cbc()com.sun.jna.ptr.PointerByReference_EVP_aes_128_ctr()com.sun.jna.ptr.PointerByReference_EVP_aes_192_cbc()com.sun.jna.ptr.PointerByReference_EVP_aes_192_ctr()com.sun.jna.ptr.PointerByReference_EVP_aes_256_cbc()com.sun.jna.ptr.PointerByReference_EVP_aes_256_ctr()void_EVP_CIPHER_CTX_cleanup(com.sun.jna.ptr.PointerByReference context)void_EVP_CIPHER_CTX_free(com.sun.jna.ptr.PointerByReference context)com.sun.jna.ptr.PointerByReference_EVP_CIPHER_CTX_new()int_EVP_CIPHER_CTX_set_padding(com.sun.jna.ptr.PointerByReference context, int padding)int_EVP_CipherFinal_ex(com.sun.jna.ptr.PointerByReference context, java.nio.ByteBuffer outBuffer, int[] outlen)int_EVP_CipherInit_ex(com.sun.jna.ptr.PointerByReference context, com.sun.jna.ptr.PointerByReference algo, com.sun.jna.ptr.PointerByReference impl, byte[] encoded, byte[] iv, int cipherMode)int_EVP_CipherUpdate(com.sun.jna.ptr.PointerByReference context, java.nio.ByteBuffer outBuffer, int[] outlen, java.nio.ByteBuffer inBuffer, int remaining)java.lang.Throwable_INIT_ERROR()boolean_INIT_OK()java.lang.String_OpenSSL_version(int i)int_RAND_bytes(java.nio.ByteBuffer buf, int length)com.sun.jna.ptr.PointerByReference_RAND_get_rand_method()com.sun.jna.ptr.PointerByReference_RAND_SSLeay()static com.sun.jna.ptr.PointerByReferenceENGINE_by_id(java.lang.String id)Gets engine by id.static intENGINE_cleanup()Cleanups before program exit, it will avoid memory leaks.static intENGINE_finish(com.sun.jna.ptr.PointerByReference e)Releases all functional references.static intENGINE_free(com.sun.jna.ptr.PointerByReference e)Frees the structural referencestatic intENGINE_init(com.sun.jna.ptr.PointerByReference e)Obtains a functional reference from an existing structural reference.static intENGINE_set_default(com.sun.jna.ptr.PointerByReference e, int flags)Sets the engine as the default for random number generation.static java.lang.StringERR_error_string(com.sun.jna.NativeLong err, char[] null_)Generates a human-readable string representing the error code e.static voidERR_load_crypto_strings()Registers the error strings for all libcrypto functions.static com.sun.jna.NativeLongERR_peek_error()static com.sun.jna.ptr.PointerByReferenceEVP_aes_128_cbc()static com.sun.jna.ptr.PointerByReferenceEVP_aes_128_ctr()static com.sun.jna.ptr.PointerByReferenceEVP_aes_192_cbc()static com.sun.jna.ptr.PointerByReferenceEVP_aes_192_ctr()static com.sun.jna.ptr.PointerByReferenceEVP_aes_256_cbc()static com.sun.jna.ptr.PointerByReferenceEVP_aes_256_ctr()static voidEVP_CIPHER_CTX_cleanup(com.sun.jna.ptr.PointerByReference c)Clears all information from a cipher context and free up any allocated * memory associate with it.static voidEVP_CIPHER_CTX_free(com.sun.jna.ptr.PointerByReference c)Clears all information from a cipher context and free up any allocated memory associate with it, including ctx itself.static voidEVP_CIPHER_CTX_init(com.sun.jna.ptr.PointerByReference p)EVP_CIPHER_CTX_init() remains as an alias for EVP_CIPHER_CTX_reset.static com.sun.jna.ptr.PointerByReferenceEVP_CIPHER_CTX_new()Creates a cipher context.static intEVP_CIPHER_CTX_set_padding(com.sun.jna.ptr.PointerByReference c, int pad)Enables or disables padding.static intEVP_CipherFinal_ex(com.sun.jna.ptr.PointerByReference ctx, java.nio.ByteBuffer bout, int[] outl)Finishes a multiple-part operation.static intEVP_CipherInit_ex(com.sun.jna.ptr.PointerByReference ctx, com.sun.jna.ptr.PointerByReference cipher, com.sun.jna.ptr.PointerByReference impl, byte[] key, byte[] iv, int enc)Init a cipher.static intEVP_CipherUpdate(com.sun.jna.ptr.PointerByReference ctx, java.nio.ByteBuffer bout, int[] outl, java.nio.ByteBuffer in, int inl)Continues a multiple-part encryption/decryption operation.static intRAND_bytes(java.nio.ByteBuffer buf, int num)Generates random data.static com.sun.jna.ptr.PointerByReferenceRAND_get_rand_method()OpenSSL uses for random number generation.static com.sun.jna.ptr.PointerByReferenceRAND_SSLeay()OpenSSL uses for random number generation.static com.sun.jna.NativeLongSSLeay()TODO (does not appear to be used yet)static java.lang.StringSSLeay_version(int type)Retrieves version/build information about OpenSSL library.
-
-
-
Method Detail
-
ENGINE_by_id
public static com.sun.jna.ptr.PointerByReference ENGINE_by_id(java.lang.String id)
Gets engine by id.- Parameters:
id- engine id.- Returns:
- engine instance
-
ENGINE_cleanup
public static int ENGINE_cleanup()
Cleanups before program exit, it will avoid memory leaks.- Returns:
- 0 on success, 1 otherwise.
-
ENGINE_finish
public static int ENGINE_finish(com.sun.jna.ptr.PointerByReference e)
Releases all functional references.- Parameters:
e- engine reference.- Returns:
- 0 on success, 1 otherwise.
-
ENGINE_free
public static int ENGINE_free(com.sun.jna.ptr.PointerByReference e)
Frees the structural reference- Parameters:
e- engine reference.- Returns:
- 0 on success, 1 otherwise.
-
ENGINE_init
public static int ENGINE_init(com.sun.jna.ptr.PointerByReference e)
Obtains a functional reference from an existing structural reference.- Parameters:
e- engine reference- Returns:
- zero if the ENGINE was not already operational and couldn't be successfully initialized
-
ENGINE_set_default
public static int ENGINE_set_default(com.sun.jna.ptr.PointerByReference e, int flags)Sets the engine as the default for random number generation.- Parameters:
e- engine reference.flags- ENGINE_METHOD_RAND.- Returns:
- zero if failed.
-
ERR_error_string
public static java.lang.String ERR_error_string(com.sun.jna.NativeLong err, char[] null_)Generates a human-readable string representing the error code e.- Parameters:
err- the error codenull_- buf is NULL, the error string is placed in a static buffer- Returns:
- the human-readable error messages.
- See Also:
- ERR_error_string
-
ERR_load_crypto_strings
public static void ERR_load_crypto_strings()
Registers the error strings for all libcrypto functions.
-
ERR_peek_error
public static com.sun.jna.NativeLong ERR_peek_error()
- Returns:
- the earliest error code from the thread's error queue without modifying it.
-
EVP_aes_128_cbc
public static com.sun.jna.ptr.PointerByReference EVP_aes_128_cbc()
- Returns:
- an OpenSSL AES EVP cipher instance with a 128-bit key CBC mode.
-
EVP_aes_128_ctr
public static com.sun.jna.ptr.PointerByReference EVP_aes_128_ctr()
- Returns:
- an OpenSSL AES EVP cipher instance with a 128-bit key CTR mode.
-
EVP_aes_192_cbc
public static com.sun.jna.ptr.PointerByReference EVP_aes_192_cbc()
- Returns:
- an OpenSSL AES EVP cipher instance with a 192-bit key CBC mode.
-
EVP_aes_192_ctr
public static com.sun.jna.ptr.PointerByReference EVP_aes_192_ctr()
- Returns:
- an OpenSSL AES EVP cipher instance with a 192-bit key CTR mode.
-
EVP_aes_256_cbc
public static com.sun.jna.ptr.PointerByReference EVP_aes_256_cbc()
- Returns:
- an OpenSSL AES EVP cipher instance with a 256-bit key CBC mode.
-
EVP_aes_256_ctr
public static com.sun.jna.ptr.PointerByReference EVP_aes_256_ctr()
- Returns:
- an OpenSSL AES EVP cipher instance with a 256-bit key CTR mode.
-
EVP_CIPHER_CTX_cleanup
public static void EVP_CIPHER_CTX_cleanup(com.sun.jna.ptr.PointerByReference c)
Clears all information from a cipher context and free up any allocated * memory associate with it.- Parameters:
c- openssl evp cipher
-
EVP_CIPHER_CTX_free
public static void EVP_CIPHER_CTX_free(com.sun.jna.ptr.PointerByReference c)
Clears all information from a cipher context and free up any allocated memory associate with it, including ctx itself.- Parameters:
c- openssl evp cipher
-
EVP_CIPHER_CTX_init
public static void EVP_CIPHER_CTX_init(com.sun.jna.ptr.PointerByReference p)
EVP_CIPHER_CTX_init() remains as an alias for EVP_CIPHER_CTX_reset.- Parameters:
p- cipher context
-
EVP_CIPHER_CTX_new
public static com.sun.jna.ptr.PointerByReference EVP_CIPHER_CTX_new()
Creates a cipher context.- Returns:
- a pointer to a newly created EVP_CIPHER_CTX for success and NULL for failure.
-
EVP_CIPHER_CTX_set_padding
public static int EVP_CIPHER_CTX_set_padding(com.sun.jna.ptr.PointerByReference c, int pad)Enables or disables padding.- Parameters:
c- cipher context.pad- If the pad parameter is zero then no padding is performed.- Returns:
- always returns 1
-
EVP_CipherFinal_ex
public static int EVP_CipherFinal_ex(com.sun.jna.ptr.PointerByReference ctx, java.nio.ByteBuffer bout, int[] outl)Finishes a multiple-part operation.- Parameters:
ctx- cipher contextbout- output byte bufferoutl- output length- Returns:
- 1 for success and 0 for failure.
-
EVP_CipherInit_ex
public static int EVP_CipherInit_ex(com.sun.jna.ptr.PointerByReference ctx, com.sun.jna.ptr.PointerByReference cipher, com.sun.jna.ptr.PointerByReference impl, byte[] key, byte[] iv, int enc)Init a cipher.- Parameters:
ctx- cipher contextcipher- evp cipher instanceimpl- enginekey- keyiv- ivenc- 1 for encryption, 0 for decryption- Returns:
- 1 for success and 0 for failure.
-
EVP_CipherUpdate
public static int EVP_CipherUpdate(com.sun.jna.ptr.PointerByReference ctx, java.nio.ByteBuffer bout, int[] outl, java.nio.ByteBuffer in, int inl)Continues a multiple-part encryption/decryption operation.- Parameters:
ctx- cipher contextbout- output byte bufferoutl- output lengthin- input byte bufferinl- input length- Returns:
- 1 for success and 0 for failure.
-
RAND_bytes
public static int RAND_bytes(java.nio.ByteBuffer buf, int num)Generates random data.- Parameters:
buf- the bytes for generated random.num- buffer length.- Returns:
- 1 on success, 0 otherwise.
-
RAND_get_rand_method
public static com.sun.jna.ptr.PointerByReference RAND_get_rand_method()
OpenSSL uses for random number generation.- Returns:
- pointers to the respective methods.
-
RAND_SSLeay
public static com.sun.jna.ptr.PointerByReference RAND_SSLeay()
OpenSSL uses for random number generation.- Returns:
- pointers to the respective methods.
-
SSLeay
public static com.sun.jna.NativeLong SSLeay()
TODO (does not appear to be used yet)- Returns:
- OPENSSL_VERSION_NUMBER which is a numeric release version identifier
-
SSLeay_version
public static java.lang.String SSLeay_version(int type)
Retrieves version/build information about OpenSSL library. This is returned byOpenSslNativeJna.OpenSSLVersion(int)- Parameters:
type- type can be SSLEAY_VERSION, SSLEAY_CFLAGS, SSLEAY_BUILT_ON...- Returns:
- A pointer to a constant string describing the version of the OpenSSL library or giving information about the library build.
-
_ENGINE_by_id
public com.sun.jna.ptr.PointerByReference _ENGINE_by_id(java.lang.String string)
- Specified by:
_ENGINE_by_idin interfaceOpenSslInterfaceNativeJna
-
_ENGINE_cleanup
public int _ENGINE_cleanup()
Description copied from interface:OpenSslInterfaceNativeJnaTODO Appears to be deprecated as of OpenSSL 1.1.0.- Specified by:
_ENGINE_cleanupin interfaceOpenSslInterfaceNativeJna
-
_ENGINE_finish
public int _ENGINE_finish(com.sun.jna.ptr.PointerByReference rdrandEngine)
- Specified by:
_ENGINE_finishin interfaceOpenSslInterfaceNativeJna
-
_ENGINE_free
public int _ENGINE_free(com.sun.jna.ptr.PointerByReference rdrandEngine)
- Specified by:
_ENGINE_freein interfaceOpenSslInterfaceNativeJna
-
_ENGINE_init
public int _ENGINE_init(com.sun.jna.ptr.PointerByReference rdrandEngine)
- Specified by:
_ENGINE_initin interfaceOpenSslInterfaceNativeJna
-
_ENGINE_load_rdrand
public void _ENGINE_load_rdrand()
- Specified by:
_ENGINE_load_rdrandin interfaceOpenSslInterfaceNativeJna
-
_ENGINE_set_default
public int _ENGINE_set_default(com.sun.jna.ptr.PointerByReference rdrandEngine, int flags)- Specified by:
_ENGINE_set_defaultin interfaceOpenSslInterfaceNativeJna
-
_ERR_error_string
public java.lang.String _ERR_error_string(com.sun.jna.NativeLong err, char[] buff)- Specified by:
_ERR_error_stringin interfaceOpenSslInterfaceNativeJna
-
_ERR_peek_error
public com.sun.jna.NativeLong _ERR_peek_error()
- Specified by:
_ERR_peek_errorin interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_128_cbc
public com.sun.jna.ptr.PointerByReference _EVP_aes_128_cbc()
- Specified by:
_EVP_aes_128_cbcin interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_128_ctr
public com.sun.jna.ptr.PointerByReference _EVP_aes_128_ctr()
- Specified by:
_EVP_aes_128_ctrin interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_192_cbc
public com.sun.jna.ptr.PointerByReference _EVP_aes_192_cbc()
- Specified by:
_EVP_aes_192_cbcin interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_192_ctr
public com.sun.jna.ptr.PointerByReference _EVP_aes_192_ctr()
- Specified by:
_EVP_aes_192_ctrin interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_256_cbc
public com.sun.jna.ptr.PointerByReference _EVP_aes_256_cbc()
- Specified by:
_EVP_aes_256_cbcin interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_256_ctr
public com.sun.jna.ptr.PointerByReference _EVP_aes_256_ctr()
- Specified by:
_EVP_aes_256_ctrin interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_cleanup
public void _EVP_CIPHER_CTX_cleanup(com.sun.jna.ptr.PointerByReference context)
- Specified by:
_EVP_CIPHER_CTX_cleanupin interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_free
public void _EVP_CIPHER_CTX_free(com.sun.jna.ptr.PointerByReference context)
- Specified by:
_EVP_CIPHER_CTX_freein interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_new
public com.sun.jna.ptr.PointerByReference _EVP_CIPHER_CTX_new()
- Specified by:
_EVP_CIPHER_CTX_newin interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_set_padding
public int _EVP_CIPHER_CTX_set_padding(com.sun.jna.ptr.PointerByReference context, int padding)- Specified by:
_EVP_CIPHER_CTX_set_paddingin interfaceOpenSslInterfaceNativeJna
-
_EVP_CipherFinal_ex
public int _EVP_CipherFinal_ex(com.sun.jna.ptr.PointerByReference context, java.nio.ByteBuffer outBuffer, int[] outlen)- Specified by:
_EVP_CipherFinal_exin interfaceOpenSslInterfaceNativeJna
-
_EVP_CipherInit_ex
public int _EVP_CipherInit_ex(com.sun.jna.ptr.PointerByReference context, com.sun.jna.ptr.PointerByReference algo, com.sun.jna.ptr.PointerByReference impl, byte[] encoded, byte[] iv, int cipherMode)- Specified by:
_EVP_CipherInit_exin interfaceOpenSslInterfaceNativeJna
-
_EVP_CipherUpdate
public int _EVP_CipherUpdate(com.sun.jna.ptr.PointerByReference context, java.nio.ByteBuffer outBuffer, int[] outlen, java.nio.ByteBuffer inBuffer, int remaining)- Specified by:
_EVP_CipherUpdatein interfaceOpenSslInterfaceNativeJna
-
_INIT_ERROR
public java.lang.Throwable _INIT_ERROR()
- Specified by:
_INIT_ERRORin interfaceOpenSslInterfaceNativeJna
-
_INIT_OK
public boolean _INIT_OK()
- Specified by:
_INIT_OKin interfaceOpenSslInterfaceNativeJna
-
_OpenSSL_version
public java.lang.String _OpenSSL_version(int i)
- Specified by:
_OpenSSL_versionin interfaceOpenSslInterfaceNativeJna
-
_RAND_bytes
public int _RAND_bytes(java.nio.ByteBuffer buf, int length)- Specified by:
_RAND_bytesin interfaceOpenSslInterfaceNativeJna
-
_RAND_get_rand_method
public com.sun.jna.ptr.PointerByReference _RAND_get_rand_method()
- Specified by:
_RAND_get_rand_methodin interfaceOpenSslInterfaceNativeJna
-
_RAND_SSLeay
public com.sun.jna.ptr.PointerByReference _RAND_SSLeay()
- Specified by:
_RAND_SSLeayin interfaceOpenSslInterfaceNativeJna
-
-