Package org.apache.commons.crypto.jna
Class OpenSsl10XNativeJna
java.lang.Object
org.apache.commons.crypto.jna.OpenSsl10XNativeJna
- All Implemented Interfaces:
OpenSslInterfaceNativeJna
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final Throwable
(package private) static final boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.sun.jna.ptr.PointerByReference
_ENGINE_by_id
(String string) int
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
int
_ENGINE_set_default
(com.sun.jna.ptr.PointerByReference rdrandEngine, int flags) _ERR_error_string
(com.sun.jna.NativeLong err, char[] buff) com.sun.jna.NativeLong
com.sun.jna.ptr.PointerByReference
com.sun.jna.ptr.PointerByReference
com.sun.jna.ptr.PointerByReference
com.sun.jna.ptr.PointerByReference
com.sun.jna.ptr.PointerByReference
com.sun.jna.ptr.PointerByReference
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
int
_EVP_CIPHER_CTX_set_padding
(com.sun.jna.ptr.PointerByReference context, int padding) int
_EVP_CipherFinal_ex
(com.sun.jna.ptr.PointerByReference context, 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, ByteBuffer outBuffer, int[] outlen, ByteBuffer inBuffer, int remaining) boolean
_INIT_OK()
_OpenSSL_version
(int i) int
_RAND_bytes
(ByteBuffer buf, int length) com.sun.jna.ptr.PointerByReference
com.sun.jna.ptr.PointerByReference
static com.sun.jna.ptr.PointerByReference
ENGINE_by_id
(String id) Gets engine by idstatic int
Cleanups before program exit, it will avoid memory leaks.static int
ENGINE_finish
(com.sun.jna.ptr.PointerByReference e) Releases all functional references.static int
ENGINE_free
(com.sun.jna.ptr.PointerByReference e) Frees the structural referencestatic int
ENGINE_init
(com.sun.jna.ptr.PointerByReference e) Obtains a functional reference from an existing structural reference.static void
Initializes the engine.static int
ENGINE_set_default
(com.sun.jna.ptr.PointerByReference e, int flags) Sets the engine as the default for random number generation.static String
ERR_error_string
(com.sun.jna.NativeLong err, char[] null_) Generates a human-readable string representing the error code e.static void
Registers the error strings for all libcrypto functions.static com.sun.jna.NativeLong
static com.sun.jna.ptr.PointerByReference
static com.sun.jna.ptr.PointerByReference
static com.sun.jna.ptr.PointerByReference
static com.sun.jna.ptr.PointerByReference
static com.sun.jna.ptr.PointerByReference
static com.sun.jna.ptr.PointerByReference
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.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.static void
EVP_CIPHER_CTX_init
(com.sun.jna.ptr.PointerByReference p) EVP_CIPHER_CTX_init() remains as an alias for EVP_CIPHER_CTX_resetstatic com.sun.jna.ptr.PointerByReference
Creates a cipher context.static int
EVP_CIPHER_CTX_set_padding
(com.sun.jna.ptr.PointerByReference c, int pad) Enables or disables paddingstatic int
EVP_CipherFinal_ex
(com.sun.jna.ptr.PointerByReference ctx, ByteBuffer bout, int[] outl) Finishes a multiple-part operation.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.static int
EVP_CipherUpdate
(com.sun.jna.ptr.PointerByReference ctx, ByteBuffer bout, int[] outl, ByteBuffer in, int inl) Continues a multiple-part encryption/decryption operation.static int
RAND_bytes
(ByteBuffer buf, int num) Generates random datastatic com.sun.jna.ptr.PointerByReference
OpenSSL uses for random number generationstatic com.sun.jna.ptr.PointerByReference
OpenSSL uses for random number generation.static com.sun.jna.NativeLong
SSLeay()
static String
SSLeay_version
(int type) Retrieves version/build information about OpenSSL library.
-
Field Details
-
INIT_OK
static final boolean INIT_OK -
INIT_ERROR
-
-
Constructor Details
-
OpenSsl10XNativeJna
OpenSsl10XNativeJna()
-
-
Method Details
-
ENGINE_by_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_load_rdrand
public static void ENGINE_load_rdrand()Initializes the engine. -
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 referenceflags
- ENGINE_METHOD_RAND- Returns:
- zero if failed.
-
ERR_error_string
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_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 contextpad
- 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, 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, ByteBuffer bout, int[] outl, 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
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()- Returns:
- OPENSSL_VERSION_NUMBER which is a numeric release version identifier
- See Also:
-
SSLeay_version
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.
- See Also:
-
_ENGINE_by_id
- Specified by:
_ENGINE_by_id
in interfaceOpenSslInterfaceNativeJna
-
_ENGINE_cleanup
public int _ENGINE_cleanup()Description copied from interface:OpenSslInterfaceNativeJna
TODO Appears to be deprecated as of OpenSSL 1.1.0.- Specified by:
_ENGINE_cleanup
in interfaceOpenSslInterfaceNativeJna
-
_ENGINE_finish
public int _ENGINE_finish(com.sun.jna.ptr.PointerByReference rdrandEngine) - Specified by:
_ENGINE_finish
in interfaceOpenSslInterfaceNativeJna
-
_ENGINE_free
public int _ENGINE_free(com.sun.jna.ptr.PointerByReference rdrandEngine) - Specified by:
_ENGINE_free
in interfaceOpenSslInterfaceNativeJna
-
_ENGINE_init
public int _ENGINE_init(com.sun.jna.ptr.PointerByReference rdrandEngine) - Specified by:
_ENGINE_init
in interfaceOpenSslInterfaceNativeJna
-
_ENGINE_load_rdrand
public void _ENGINE_load_rdrand()- Specified by:
_ENGINE_load_rdrand
in interfaceOpenSslInterfaceNativeJna
-
_ENGINE_set_default
public int _ENGINE_set_default(com.sun.jna.ptr.PointerByReference rdrandEngine, int flags) - Specified by:
_ENGINE_set_default
in interfaceOpenSslInterfaceNativeJna
-
_ERR_error_string
- Specified by:
_ERR_error_string
in interfaceOpenSslInterfaceNativeJna
-
_ERR_peek_error
public com.sun.jna.NativeLong _ERR_peek_error()- Specified by:
_ERR_peek_error
in interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_128_cbc
public com.sun.jna.ptr.PointerByReference _EVP_aes_128_cbc()- Specified by:
_EVP_aes_128_cbc
in interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_128_ctr
public com.sun.jna.ptr.PointerByReference _EVP_aes_128_ctr()- Specified by:
_EVP_aes_128_ctr
in interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_192_cbc
public com.sun.jna.ptr.PointerByReference _EVP_aes_192_cbc()- Specified by:
_EVP_aes_192_cbc
in interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_192_ctr
public com.sun.jna.ptr.PointerByReference _EVP_aes_192_ctr()- Specified by:
_EVP_aes_192_ctr
in interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_256_cbc
public com.sun.jna.ptr.PointerByReference _EVP_aes_256_cbc()- Specified by:
_EVP_aes_256_cbc
in interfaceOpenSslInterfaceNativeJna
-
_EVP_aes_256_ctr
public com.sun.jna.ptr.PointerByReference _EVP_aes_256_ctr()- Specified by:
_EVP_aes_256_ctr
in interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_cleanup
public void _EVP_CIPHER_CTX_cleanup(com.sun.jna.ptr.PointerByReference context) - Specified by:
_EVP_CIPHER_CTX_cleanup
in interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_free
public void _EVP_CIPHER_CTX_free(com.sun.jna.ptr.PointerByReference context) - Specified by:
_EVP_CIPHER_CTX_free
in interfaceOpenSslInterfaceNativeJna
-
_EVP_CIPHER_CTX_new
public com.sun.jna.ptr.PointerByReference _EVP_CIPHER_CTX_new()- Specified by:
_EVP_CIPHER_CTX_new
in 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_padding
in interfaceOpenSslInterfaceNativeJna
-
_EVP_CipherFinal_ex
public int _EVP_CipherFinal_ex(com.sun.jna.ptr.PointerByReference context, ByteBuffer outBuffer, int[] outlen) - Specified by:
_EVP_CipherFinal_ex
in 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_ex
in interfaceOpenSslInterfaceNativeJna
-
_EVP_CipherUpdate
public int _EVP_CipherUpdate(com.sun.jna.ptr.PointerByReference context, ByteBuffer outBuffer, int[] outlen, ByteBuffer inBuffer, int remaining) - Specified by:
_EVP_CipherUpdate
in interfaceOpenSslInterfaceNativeJna
-
_INIT_ERROR
- Specified by:
_INIT_ERROR
in interfaceOpenSslInterfaceNativeJna
-
_INIT_OK
public boolean _INIT_OK()- Specified by:
_INIT_OK
in interfaceOpenSslInterfaceNativeJna
-
_OpenSSL_version
- Specified by:
_OpenSSL_version
in interfaceOpenSslInterfaceNativeJna
-
_RAND_bytes
- Specified by:
_RAND_bytes
in interfaceOpenSslInterfaceNativeJna
-
_RAND_get_rand_method
public com.sun.jna.ptr.PointerByReference _RAND_get_rand_method()- Specified by:
_RAND_get_rand_method
in interfaceOpenSslInterfaceNativeJna
-
_RAND_SSLeay
public com.sun.jna.ptr.PointerByReference _RAND_SSLeay()- Specified by:
_RAND_SSLeay
in interfaceOpenSslInterfaceNativeJna
-