fix build errors and warnings for Visual Studio on Windows
parent
63b9f6bdb3
commit
05091926cb
|
@ -22,7 +22,9 @@
|
|||
#ifndef _Included_wolfcrypt_jni_error
|
||||
#define _Included_wolfcrypt_jni_error
|
||||
|
||||
#pragma GCC diagnostic ignored "-Wpointer-to-int-cast"
|
||||
#ifndef USE_WINDOWS_API
|
||||
#pragma GCC diagnostic ignored "-Wpointer-to-int-cast"
|
||||
#endif
|
||||
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/aes.h>
|
||||
|
@ -116,10 +118,14 @@ Java_com_wolfssl_wolfcrypt_Aes_native_1update__I_3BII_3BI(
|
|||
else if (offset < 0 || length < 0 || outputOffset < 0) {
|
||||
ret = BAD_FUNC_ARG; /* signed sanizizers */
|
||||
}
|
||||
else if (offset + length > getByteArrayLength(env, input_object)) {
|
||||
else if (length == 0) {
|
||||
ret = 0;
|
||||
} else if ((word32)(offset + length) >
|
||||
getByteArrayLength(env, input_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (outputOffset + length > getByteArrayLength(env, output_object)) {
|
||||
else if ((word32)(outputOffset + length) >
|
||||
getByteArrayLength(env, output_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (opmode == AES_ENCRYPTION) {
|
||||
|
@ -181,10 +187,12 @@ Java_com_wolfssl_wolfcrypt_Aes_native_1update__ILjava_nio_ByteBuffer_2IILjava_ni
|
|||
else if (offset < 0 || length < 0) {
|
||||
ret = BAD_FUNC_ARG; /* signed sanizizers */
|
||||
}
|
||||
else if (offset + length > getDirectBufferLimit(env, input_object)) {
|
||||
else if ((word32)(offset + length) >
|
||||
getDirectBufferLimit(env, input_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (outputOffset + length > getDirectBufferLimit(env, output_object)) {
|
||||
else if ((word32)(outputOffset + length) >
|
||||
getDirectBufferLimit(env, output_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (opmode == AES_ENCRYPTION) {
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/asn_public.h>
|
||||
|
@ -39,11 +41,13 @@ JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Asn_encodeSignature__Ljava_nio
|
|||
byte* encoded = getDirectBufferAddress(env, encoded_object);
|
||||
byte* hash = getDirectBufferAddress(env, hash_object);
|
||||
|
||||
if (!encoded || !hash)
|
||||
if (encoded == NULL || hash == NULL) {
|
||||
throwWolfCryptExceptionFromError(env, BAD_FUNC_ARG);
|
||||
else
|
||||
}
|
||||
else {
|
||||
setDirectBufferLimit(env, encoded_object,
|
||||
wc_EncodeSignature(encoded, hash, hashSize, hashOID));
|
||||
wc_EncodeSignature(encoded, hash, (word32)hashSize, hashOID));
|
||||
}
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL Java_com_wolfssl_wolfcrypt_Asn_encodeSignature___3B_3BJI(
|
||||
|
@ -54,9 +58,12 @@ JNIEXPORT jlong JNICALL Java_com_wolfssl_wolfcrypt_Asn_encodeSignature___3B_3BJI
|
|||
byte* hash = getByteArray(env, hash_object);
|
||||
jlong ret = 0;
|
||||
|
||||
ret = (!encoded || !hash)
|
||||
? BAD_FUNC_ARG
|
||||
: wc_EncodeSignature(encoded, hash, hashSize, hashOID);
|
||||
if (encoded == NULL || hash == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_EncodeSignature(encoded, hash, (word32)hashSize, hashOID);
|
||||
}
|
||||
|
||||
releaseByteArray(env, encoded_object, encoded, ret < 0);
|
||||
releaseByteArray(env, hash_object, hash, ret < 0);
|
||||
|
|
|
@ -20,7 +20,9 @@
|
|||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/chacha.h>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/curve25519.h>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/des3.h>
|
||||
|
@ -114,10 +116,12 @@ Java_com_wolfssl_wolfcrypt_Des3_native_1update__I_3BII_3BI(
|
|||
else if (offset < 0 || length < 0 || outputOffset < 0) {
|
||||
ret = BAD_FUNC_ARG; /* signed sanizizers */
|
||||
}
|
||||
else if (offset + length > getByteArrayLength(env, input_object)) {
|
||||
else if ((word32)(offset + length) >
|
||||
getByteArrayLength(env, input_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (outputOffset + length > getByteArrayLength(env, output_object)) {
|
||||
else if ((word32)(outputOffset + length) >
|
||||
getByteArrayLength(env, output_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (opmode == DES_ENCRYPTION) {
|
||||
|
@ -179,10 +183,12 @@ Java_com_wolfssl_wolfcrypt_Des3_native_1update__ILjava_nio_ByteBuffer_2IILjava_n
|
|||
else if (offset < 0 || length < 0) {
|
||||
ret = BAD_FUNC_ARG; /* signed sanizizers */
|
||||
}
|
||||
else if (offset + length > getDirectBufferLimit(env, input_object)) {
|
||||
else if ((word32)(offset + length) >
|
||||
getDirectBufferLimit(env, input_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (outputOffset + length > getDirectBufferLimit(env, output_object)) {
|
||||
else if ((word32)(outputOffset + length) >
|
||||
getDirectBufferLimit(env, output_object)) {
|
||||
ret = BUFFER_E; /* buffer overflow check */
|
||||
}
|
||||
else if (opmode == DES_ENCRYPTION) {
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/dh.h>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/ecc.h>
|
||||
|
@ -755,7 +757,7 @@ Java_com_wolfssl_wolfcrypt_Ecc_wc_1ecc_1verify_1hash(
|
|||
JNIEnv* env, jobject this, jbyteArray hash_object,
|
||||
jbyteArray signature_object)
|
||||
{
|
||||
jlong ret = 0;
|
||||
int ret = 0;
|
||||
|
||||
#ifdef HAVE_ECC_VERIFY
|
||||
int status = 0;
|
||||
|
@ -776,9 +778,13 @@ Java_com_wolfssl_wolfcrypt_Ecc_wc_1ecc_1verify_1hash(
|
|||
signature = getByteArray(env, signature_object);
|
||||
signatureSz = getByteArrayLength(env, signature_object);
|
||||
|
||||
ret = (!ecc || !hash || !signature)
|
||||
? BAD_FUNC_ARG
|
||||
: wc_ecc_verify_hash(signature, signatureSz, hash,hashSz, &status, ecc);
|
||||
if (ecc == NULL || hash == NULL || signature == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_ecc_verify_hash(signature, signatureSz, hash,
|
||||
hashSz, &status, ecc);
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
ret = status;
|
||||
|
@ -788,7 +794,7 @@ Java_com_wolfssl_wolfcrypt_Ecc_wc_1ecc_1verify_1hash(
|
|||
|
||||
LogStr(
|
||||
"wc_ecc_verify_hash(sig, sigSz, hash, hashSz, &status, ecc); = %d\n",
|
||||
(int)ret);
|
||||
ret);
|
||||
|
||||
releaseByteArray(env, hash_object, hash, JNI_ABORT);
|
||||
releaseByteArray(env, signature_object, signature, JNI_ABORT);
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/ed25519.h>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <jni.h>
|
||||
|
|
122
jni/jni_fips.c
122
jni/jni_fips.c
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
|
||||
|
@ -216,7 +218,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_AesSetKey_1fips__Lcom_wol
|
|||
if (!aes || !key)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = AesSetKey_fips(aes, key, size, iv, dir);
|
||||
ret = AesSetKey_fips(aes, key, (word32)size, iv, dir);
|
||||
|
||||
LogStr("AesSetKey_fips(aes=%p, key, iv, %s) = %d\n", aes,
|
||||
dir ? "dec" : "enc", ret);
|
||||
|
@ -252,7 +254,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_AesSetKey_1fips__Lcom_wol
|
|||
iv = getByteArray(env, iv_buffer);
|
||||
|
||||
ret = (!aes || !key) ? BAD_FUNC_ARG
|
||||
: AesSetKey_fips(aes, key, size, iv, dir);
|
||||
: AesSetKey_fips(aes, key, (word32)size, iv, dir);
|
||||
|
||||
LogStr("AesSetKey_fips(aes=%p, key, iv, %s) = %d\n", aes,
|
||||
dir ? "dec" : "enc", ret);
|
||||
|
@ -577,7 +579,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_AesGcmSetKey_1fips__Lcom_
|
|||
if (!aes || !key)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = AesGcmSetKey_fips(aes, key, size);
|
||||
ret = AesGcmSetKey_fips(aes, key, (word32)size);
|
||||
|
||||
LogStr("AesGcmSetKey_fips(aes=%p, key) = %d\n", aes, ret);
|
||||
LogStr("key[%u]: [%p]\n", (word32)size, key);
|
||||
|
@ -608,7 +610,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_AesGcmSetKey_1fips__Lcom_
|
|||
key = getByteArray(env, key_buffer);
|
||||
|
||||
ret = (!aes || !key) ? BAD_FUNC_ARG
|
||||
: AesGcmSetKey_fips(aes, key, size);
|
||||
: AesGcmSetKey_fips(aes, key, (word32)size);
|
||||
|
||||
LogStr("AesGcmSetKey_fips(aes=%p, key) = %d\n", aes, ret);
|
||||
LogStr("key[%u]: [%p]\n", (word32)size, key);
|
||||
|
@ -1178,7 +1180,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_HmacSetKey_1fips__Lcom_wo
|
|||
if (!hmac || !key)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = HmacSetKey_fips(hmac, type, key, keySz);
|
||||
ret = HmacSetKey_fips(hmac, type, key, (word32)keySz);
|
||||
|
||||
LogStr("HmacSetKey_fips(hmac=%p, type=%d, key, keySz) = %d\n", hmac, type,
|
||||
ret);
|
||||
|
@ -1210,7 +1212,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_HmacSetKey_1fips__Lcom_wo
|
|||
key = getByteArray(env, key_buffer);
|
||||
|
||||
ret = (!hmac || !key) ? BAD_FUNC_ARG
|
||||
: HmacSetKey_fips(hmac, type, key, keySz);
|
||||
: HmacSetKey_fips(hmac, type, key, (word32)keySz);
|
||||
|
||||
LogStr("HmacSetKey_fips(hmac=%p, type=%d, key, keySz) = %d\n", hmac, type,
|
||||
ret);
|
||||
|
@ -1246,7 +1248,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_HmacUpdate_1fips__Lcom_wo
|
|||
if (!hmac || !data)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = HmacUpdate_fips(hmac, data, len);
|
||||
ret = HmacUpdate_fips(hmac, data, (word32)len);
|
||||
|
||||
LogStr("HmacUpdate_fips(hmac=%p, data, len) = %d\n", hmac, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -1277,7 +1279,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_HmacUpdate_1fips__Lcom_wo
|
|||
data = getByteArray(env, data_buffer);
|
||||
|
||||
ret = (!hmac || !data) ? BAD_FUNC_ARG
|
||||
: HmacUpdate_fips(hmac, data, len);
|
||||
: HmacUpdate_fips(hmac, data, (word32)len);
|
||||
|
||||
LogStr("HmacUpdate_fips(hmac=%p, data, len) = %d\n", hmac, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -1422,7 +1424,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RNG_1GenerateBlock_1fips_
|
|||
if (!rng || !buf)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = RNG_GenerateBlock_fips(rng, buf, bufSz);
|
||||
ret = RNG_GenerateBlock_fips(rng, buf, (word32)bufSz);
|
||||
|
||||
LogStr("RNG_GenerateBlock_fips(rng=%p, buf, bufSz) = %d\n", rng, ret);
|
||||
LogStr("output[%u]: [%p]\n", (word32)bufSz, buf);
|
||||
|
@ -1453,7 +1455,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RNG_1GenerateBlock_1fips_
|
|||
buf = getByteArray(env, buf_buffer);
|
||||
|
||||
ret = (!rng || !buf) ? BAD_FUNC_ARG
|
||||
: RNG_GenerateBlock_fips(rng, buf, bufSz);
|
||||
: RNG_GenerateBlock_fips(rng, buf, (word32)bufSz);
|
||||
|
||||
LogStr("RNG_GenerateBlock_fips(rng=%p, buf, bufSz) = %d\n", rng, ret);
|
||||
LogStr("output[%u]: [%p]\n", (word32)bufSz, buf);
|
||||
|
@ -1482,8 +1484,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RNG_1HealthTest_1fips__IL
|
|||
if (!entropyA || (reseed && !entropyB) || !output)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = RNG_HealthTest_fips(reseed, entropyA, entropyASz, entropyB,
|
||||
entropyBSz, output, outputSz);
|
||||
ret = RNG_HealthTest_fips(reseed, entropyA, (word32)entropyASz, entropyB,
|
||||
(word32)entropyBSz, output, (word32)outputSz);
|
||||
|
||||
LogStr("RNG_HealthTest_fips(reseed=%d, entropyA, entropyASz, "
|
||||
"entropyB, entropyBSz, output, outputSz) = %d\n", reseed, ret);
|
||||
|
@ -1514,8 +1516,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RNG_1HealthTest_1fips__I_
|
|||
|
||||
ret = (!entropyA || (reseed && !entropyB) || !output)
|
||||
? BAD_FUNC_ARG
|
||||
: RNG_HealthTest_fips(reseed, entropyA, entropyASz, entropyB,
|
||||
entropyBSz, output, outputSz);
|
||||
: RNG_HealthTest_fips(reseed, entropyA, (word32)entropyASz, entropyB,
|
||||
(word32)entropyBSz, output, (word32)outputSz);
|
||||
|
||||
LogStr("RNG_HealthTest_fips(reseed=%d, entropyA, entropyASz, "
|
||||
"entropyB, entropyBSz, output, outputSz) = %d\n", reseed, ret);
|
||||
|
@ -1625,7 +1627,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaSSL_1Sign_1fips__Ljava
|
|||
if (!in || !out)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = RsaSSL_Sign_fips(in, inLen, out, outLen, key, rng);
|
||||
ret = RsaSSL_Sign_fips(in, (word32)inLen, out, (word32)outLen, key, rng);
|
||||
|
||||
LogStr("RsaSSL_Sign_fips(in, inLen, out, outLen, key=%p, rng=%p) = %d\n",
|
||||
key, rng, ret);
|
||||
|
@ -1681,7 +1683,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaSSL_1Sign_1fips___3BJ_
|
|||
* Providing an rng is optional. RNG_GenerateBlock will return
|
||||
* BAD_FUNC_ARG on a NULL rng if an RNG is needed by RsaPad.
|
||||
*/
|
||||
ret = RsaSSL_Sign_fips(in, inLen, out, outLen, key, rng);
|
||||
ret = RsaSSL_Sign_fips(in, (word32)inLen, out, (word32)outLen,
|
||||
key, rng);
|
||||
}
|
||||
|
||||
LogStr("RsaSSL_Sign_fips(in, inLen, out, outLen, key=%p, rng=%p) = %d\n",
|
||||
|
@ -1729,7 +1732,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaSSL_1Verify_1fips__Lja
|
|||
if (!in || !out)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = RsaSSL_Verify_fips(in, inLen, out, outLen, key);
|
||||
ret = RsaSSL_Verify_fips(in, (word32)inLen, out, (word32)outLen, key);
|
||||
|
||||
LogStr("RsaSSL_Verify_fips(in, inLen, out, outLen, key=%p) = %d\n", key,
|
||||
ret);
|
||||
|
@ -1774,7 +1777,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaSSL_1Verify_1fips___3B
|
|||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = RsaSSL_Verify_fips(in, inLen, out, outLen, key);
|
||||
ret = RsaSSL_Verify_fips(in, (word32)inLen, out, (word32)outLen, key);
|
||||
|
||||
LogStr("RsaSSL_Verify_fips(in, inLen, out, outLen, key=%p) = %d\n",
|
||||
key, ret);
|
||||
|
@ -1842,9 +1845,11 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPrivateKeyDecode_1fips
|
|||
}
|
||||
|
||||
#if (HAVE_FIPS_VERSION >= 2)
|
||||
ret = 0; RsaPrivateKeyDecode(input, (word32*) &tmpIdx, key, inSz);
|
||||
ret = 0; RsaPrivateKeyDecode(input, (word32*) &tmpIdx, key,
|
||||
(word32)inSz);
|
||||
#else
|
||||
ret = 0; RsaPrivateKeyDecode_fips(input, (word32*) &tmpIdx, key, inSz);
|
||||
ret = 0; RsaPrivateKeyDecode_fips(input, (word32*) &tmpIdx, key,
|
||||
(word32)inSz);
|
||||
#endif
|
||||
|
||||
(*env)->SetLongArrayRegion(env, inOutIdx, 0, 1, &tmpIdx);
|
||||
|
@ -1888,11 +1893,12 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPrivateKeyDecode_1fips
|
|||
#if (HAVE_FIPS_VERSION >= 2)
|
||||
ret = (!input || !key)
|
||||
? BAD_FUNC_ARG
|
||||
: RsaPrivateKeyDecode(input, (word32*) &tmpIdx, key, inSz);
|
||||
: RsaPrivateKeyDecode(input, (word32*) &tmpIdx, key, (word32)inSz);
|
||||
#else
|
||||
ret = (!input || !key)
|
||||
? BAD_FUNC_ARG
|
||||
: RsaPrivateKeyDecode_fips(input, (word32*) &tmpIdx, key, inSz);
|
||||
: RsaPrivateKeyDecode_fips(input, (word32*) &tmpIdx, key,
|
||||
(word32)inSz);
|
||||
#endif
|
||||
|
||||
(*env)->SetLongArrayRegion(env, inOutIdx, 0, 1, &tmpIdx);
|
||||
|
@ -1936,9 +1942,10 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPublicKeyDecode_1fips_
|
|||
}
|
||||
|
||||
#if (HAVE_FIPS_VERSION >= 2)
|
||||
ret = RsaPublicKeyDecode(input, (word32*) &tmpIdx, key, inSz);
|
||||
ret = RsaPublicKeyDecode(input, (word32*) &tmpIdx, key, (word32)inSz);
|
||||
#else
|
||||
ret = RsaPublicKeyDecode_fips(input, (word32*) &tmpIdx, key, inSz);
|
||||
ret = RsaPublicKeyDecode_fips(input, (word32*) &tmpIdx, key,
|
||||
(word32)inSz);
|
||||
#endif
|
||||
|
||||
(*env)->SetLongArrayRegion(env, inOutIdx, 0, 1, &tmpIdx);
|
||||
|
@ -1980,11 +1987,12 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPublicKeyDecode_1fips_
|
|||
#if (HAVE_FIPS_VERSION >= 2)
|
||||
ret = (!input)
|
||||
? BAD_FUNC_ARG
|
||||
: RsaPublicKeyDecode(input, (word32*) &tmpIdx, key, inSz);
|
||||
: RsaPublicKeyDecode(input, (word32*) &tmpIdx, key, (word32)inSz);
|
||||
#else
|
||||
ret = (!input)
|
||||
? BAD_FUNC_ARG
|
||||
: RsaPublicKeyDecode_fips(input, (word32*) &tmpIdx, key, inSz);
|
||||
: RsaPublicKeyDecode_fips(input, (word32*) &tmpIdx, key,
|
||||
(word32)inSz);
|
||||
#endif
|
||||
|
||||
(*env)->SetLongArrayRegion(env, inOutIdx, 0, 1, &tmpIdx);
|
||||
|
@ -2046,7 +2054,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_ShaUpdate_1fips__Lcom_wol
|
|||
if (!data)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = ShaUpdate_fips(sha, data, len);
|
||||
ret = ShaUpdate_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("ShaUpdate_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2076,7 +2084,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_ShaUpdate_1fips__Lcom_wol
|
|||
data = getByteArray(env, data_buffer);
|
||||
|
||||
ret = (!data) ? BAD_FUNC_ARG
|
||||
: ShaUpdate_fips(sha, data, len);
|
||||
: ShaUpdate_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("ShaUpdate_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2191,7 +2199,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Sha256Update_1fips__Lcom_
|
|||
if (!data)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = Sha256Update_fips(sha, data, len);
|
||||
ret = Sha256Update_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("Sha256Update_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2221,7 +2229,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Sha256Update_1fips__Lcom_
|
|||
data = getByteArray(env, data_buffer);
|
||||
|
||||
ret = (!data) ? BAD_FUNC_ARG
|
||||
: Sha256Update_fips(sha, data, len);
|
||||
: Sha256Update_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("Sha256Update_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2335,7 +2343,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Sha384Update_1fips__Lcom_
|
|||
if (!data)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = Sha384Update_fips(sha, data, len);
|
||||
ret = Sha384Update_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("Sha384Update_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2364,7 +2372,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Sha384Update_1fips__Lcom_
|
|||
|
||||
data = getByteArray(env, data_buffer);
|
||||
ret = (!data) ? BAD_FUNC_ARG
|
||||
: Sha384Update_fips(sha, data, len);
|
||||
: Sha384Update_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("Sha384Update_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2478,7 +2486,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Sha512Update_1fips__Lcom_
|
|||
if (!data)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = Sha512Update_fips(sha, data, len);
|
||||
ret = Sha512Update_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("Sha512Update_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2507,7 +2515,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Sha512Update_1fips__Lcom_
|
|||
|
||||
data = getByteArray(env, data_buffer);
|
||||
ret = (!data) ? BAD_FUNC_ARG
|
||||
: Sha512Update_fips(sha, data, len);
|
||||
: Sha512Update_fips(sha, data, (word32)len);
|
||||
|
||||
LogStr("Sha512Update_fips(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -2645,7 +2653,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPublicEncrypt_1fips__L
|
|||
if (!in || !out)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = RsaPublicEncrypt_fips(in, inLen, out, outLen, key, rng);
|
||||
ret = RsaPublicEncrypt_fips(in, (word32)inLen, out, (word32)outLen,
|
||||
key, rng);
|
||||
|
||||
LogStr(
|
||||
"RsaPublicEncrypt_fips(in, inLen, out, outLen, key=%p, rng=%p) = %d\n",
|
||||
|
@ -2692,7 +2701,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPublicEncrypt_1fips___
|
|||
*/
|
||||
ret = (!in || !out)
|
||||
? BAD_FUNC_ARG
|
||||
: RsaPublicEncrypt_fips(in, inLen, out, outLen, key, rng);
|
||||
: RsaPublicEncrypt_fips(in, (word32)inLen, out, (word32)outLen,
|
||||
key, rng);
|
||||
|
||||
LogStr(
|
||||
"RsaPublicEncrypt_fips(in, inLen, out, outLen, key=%p, rng=%p) = %d\n",
|
||||
|
@ -2733,7 +2743,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPrivateDecrypt_1fips__
|
|||
if (!in || !out)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = RsaPrivateDecrypt_fips(in, inLen, out, outLen, key);
|
||||
ret = RsaPrivateDecrypt_fips(in, (word32)inLen, out, (word32)outLen, key);
|
||||
|
||||
LogStr("RsaPrivateDecrypt_fips(in, inLen, out, outLen, key=%p) = %d\n", key,
|
||||
ret);
|
||||
|
@ -2769,7 +2779,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_RsaPrivateDecrypt_1fips__
|
|||
|
||||
ret = (!in || !out)
|
||||
? BAD_FUNC_ARG
|
||||
: RsaPrivateDecrypt_fips(in, inLen, out, outLen, key);
|
||||
: RsaPrivateDecrypt_fips(in, (word32)inLen, out, (word32)outLen, key);
|
||||
|
||||
LogStr("RsaPrivateDecrypt_fips(in, inLen, out, outLen, key=%p) = %d\n", key,
|
||||
ret);
|
||||
|
@ -2830,7 +2840,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Md5Update__Lcom_wolfssl_w
|
|||
if (!data)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
Md5Update(md5, data, len);
|
||||
Md5Update(md5, data, (word32)len);
|
||||
ret = com_wolfssl_wolfcrypt_WolfCrypt_SUCCESS;
|
||||
|
||||
LogStr("Md5Update_fips(md5=%p, data, len) = %d\n", md5, ret);
|
||||
|
@ -2862,7 +2872,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_Md5Update__Lcom_wolfssl_w
|
|||
if (!data)
|
||||
ret = BAD_FUNC_ARG;
|
||||
else {
|
||||
Md5Update(md5, data, len);
|
||||
Md5Update(md5, data, (word32)len);
|
||||
ret = com_wolfssl_wolfcrypt_WolfCrypt_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -3139,7 +3149,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhAgree__Lcom_wolfssl_wol
|
|||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
ret = DhAgree(key, agree, (word32*) &tmpAgreeSz, priv, privSz, pub, pubSz);
|
||||
ret = DhAgree(key, agree, (word32*) &tmpAgreeSz, priv, (word32)privSz,
|
||||
pub, (word32)pubSz);
|
||||
|
||||
(*env)->SetLongArrayRegion(env, agreeSz, 0, 1, &tmpAgreeSz);
|
||||
|
||||
|
@ -3188,7 +3199,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhAgree__Lcom_wolfssl_wol
|
|||
|
||||
ret = (!key || !agree || !priv || !pub)
|
||||
? BAD_FUNC_ARG
|
||||
: DhAgree(key, agree, (word32*) &tmpAgreeSz, priv, privSz, pub, pubSz);
|
||||
: DhAgree(key, agree, (word32*) &tmpAgreeSz, priv, (word32)privSz,
|
||||
pub, (word32)pubSz);
|
||||
|
||||
(*env)->SetLongArrayRegion(env, agreeSz, 0, 1, &tmpAgreeSz);
|
||||
|
||||
|
@ -3236,7 +3248,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhKeyDecode__Ljava_nio_By
|
|||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
ret = DhKeyDecode(input, (word32*) &tmpInOutIdx, key, inSz);
|
||||
ret = DhKeyDecode(input, (word32*) &tmpInOutIdx, key, (word32)inSz);
|
||||
|
||||
(*env)->SetLongArrayRegion(env, inOutIdx, 0, 1, &tmpInOutIdx);
|
||||
|
||||
|
@ -3274,7 +3286,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhKeyDecode___3B_3JLcom_w
|
|||
input = getByteArray(env, input_buffer);
|
||||
ret = (!input)
|
||||
? BAD_FUNC_ARG
|
||||
: DhKeyDecode(input, (word32*) &tmpInOutIdx, key, inSz);
|
||||
: DhKeyDecode(input, (word32*) &tmpInOutIdx, key, (word32)inSz);
|
||||
|
||||
(*env)->SetLongArrayRegion(env, inOutIdx, 0, 1, &tmpInOutIdx);
|
||||
|
||||
|
@ -3312,7 +3324,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhSetKey__Lcom_wolfssl_wo
|
|||
if (!p || !g)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = DhSetKey(key, p, pSz, g, gSz);
|
||||
ret = DhSetKey(key, p, (word32)pSz, g, (word32)gSz);
|
||||
|
||||
LogStr("DhSetKey(key=%p, p, pSz, g, gSz) = %d\n", key, ret);
|
||||
LogStr("p[%u]: [%p]\n", (word32)pSz, p);
|
||||
|
@ -3347,7 +3359,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhSetKey__Lcom_wolfssl_wo
|
|||
|
||||
ret = (!p || !g)
|
||||
? BAD_FUNC_ARG
|
||||
: DhSetKey(key, p, pSz, g, gSz);
|
||||
: DhSetKey(key, p, (word32)pSz, g, (word32)gSz);
|
||||
|
||||
LogStr("DhSetKey(key=%p, p, pSz, g, gSz) = %d\n", key, ret);
|
||||
LogStr("p[%u]: [%p]\n", (word32)pSz, p);
|
||||
|
@ -3390,8 +3402,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhParamsLoad__Ljava_nio_B
|
|||
return BAD_FUNC_ARG;
|
||||
}
|
||||
|
||||
ret = DhParamsLoad(input, inSz, p, (word32*) &tmpPInOutSz,
|
||||
g, (word32*) &tmpGInOutSz);
|
||||
ret = DhParamsLoad(input, (word32)inSz, p, (word32*) &tmpPInOutSz,
|
||||
g, (word32*) &tmpGInOutSz);
|
||||
|
||||
(*env)->SetLongArrayRegion(env, pInOutSz, 0, 1, &tmpPInOutSz);
|
||||
if ((*env)->ExceptionOccurred(env)) {
|
||||
|
@ -3443,8 +3455,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhParamsLoad___3BJ_3B_3J_
|
|||
|
||||
ret = (!input || !p || !g)
|
||||
? BAD_FUNC_ARG
|
||||
: DhParamsLoad(input, inSz, p, (word32*) &tmpPInOutSz,
|
||||
g, (word32*) &tmpGInOutSz);
|
||||
: DhParamsLoad(input, (word32)inSz, p, (word32*) &tmpPInOutSz,
|
||||
g, (word32*) &tmpGInOutSz);
|
||||
|
||||
(*env)->SetLongArrayRegion(env, pInOutSz, 0, 1, &tmpPInOutSz);
|
||||
if ((*env)->ExceptionOccurred(env)) {
|
||||
|
@ -3473,8 +3485,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_DhParamsLoad___3BJ_3B_3J_
|
|||
return ret;
|
||||
}
|
||||
|
||||
JNIEXPORT int JNICALL Java_com_wolfssl_wolfcrypt_Fips_ecc_1init(
|
||||
JNIEnv *env, jclass class, jobject key_object)
|
||||
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_ecc_1init
|
||||
(JNIEnv* env, jclass class, jobject key_object)
|
||||
{
|
||||
jint ret = NOT_COMPILED_IN;
|
||||
|
||||
|
@ -3660,7 +3672,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_ecc_1import_1x963__Ljava_
|
|||
if (!in)
|
||||
return BAD_FUNC_ARG;
|
||||
|
||||
ret = ecc_import_x963(in, inLen, key);
|
||||
ret = ecc_import_x963(in, (word32)inLen, key);
|
||||
|
||||
LogStr("ecc_import_x963(in, inLen, key=%p) = %d\n", key, ret);
|
||||
LogStr("in[%u]: [%p]\n", (word32)inLen, in);
|
||||
|
@ -3690,7 +3702,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Fips_ecc_1import_1x963___3BJLc
|
|||
in = getByteArray(env, in_buffer);
|
||||
|
||||
ret = (!in) ? BAD_FUNC_ARG
|
||||
: ecc_import_x963(in, inLen, key);
|
||||
: ecc_import_x963(in, (word32)inLen, key);
|
||||
|
||||
LogStr("ecc_import_x963(in, inLen, key=%p) = %d\n", key, ret);
|
||||
LogStr("in[%u]: [%p]\n", (word32)inLen, in);
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/hmac.h>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
|
|
|
@ -20,7 +20,9 @@
|
|||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
|
@ -175,7 +177,8 @@ Java_com_wolfssl_wolfcrypt_Md5_native_1update___3BII(
|
|||
data = getByteArray(env, data_buffer);
|
||||
dataSz = getByteArrayLength(env, data_buffer);
|
||||
|
||||
if (!md5 || !data || (offset + len > dataSz)) {
|
||||
if (md5 == NULL || data == NULL ||
|
||||
((word32)(offset + len) > dataSz)) {
|
||||
throwWolfCryptExceptionFromError(env, BAD_FUNC_ARG);
|
||||
} else {
|
||||
ret = wc_Md5Update(md5, data + offset, len);
|
||||
|
|
|
@ -20,7 +20,9 @@
|
|||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
@ -32,12 +34,14 @@
|
|||
/* #define WOLFCRYPT_JNI_DEBUG_ON */
|
||||
#include <wolfcrypt_jni_debug.h>
|
||||
|
||||
#pragma GCC diagnostic ignored "-Wint-to-pointer-cast"
|
||||
#ifndef USE_WINDOWS_API
|
||||
#pragma GCC diagnostic ignored "-Wint-to-pointer-cast"
|
||||
#endif
|
||||
|
||||
JavaVM* g_vm = NULL;
|
||||
|
||||
/* called when native library is loaded */
|
||||
jint JNI_OnLoad(JavaVM* vm, void* reserved)
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
|
||||
{
|
||||
/* store JavaVM */
|
||||
g_vm = vm;
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/random.h>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/rsa.h>
|
||||
|
@ -78,9 +80,12 @@ Java_com_wolfssl_wolfcrypt_Rsa_MakeRsaKey(
|
|||
return;
|
||||
}
|
||||
|
||||
ret = (!key || !rng)
|
||||
? BAD_FUNC_ARG
|
||||
: wc_MakeRsaKey(key, size, e, rng);
|
||||
if (key == NULL || rng == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_MakeRsaKey(key, size, (long)e, rng);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
|
@ -111,9 +116,12 @@ Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPublicKeyDecodeRaw__Ljava_nio_ByteBuffer_2
|
|||
n = getDirectBufferAddress(env, n_object);
|
||||
e = getDirectBufferAddress(env, e_object);
|
||||
|
||||
ret = (!key || !n || !e)
|
||||
? BAD_FUNC_ARG
|
||||
: wc_RsaPublicKeyDecodeRaw(n, nSize, e, eSize, key);
|
||||
if (key == NULL || n == NULL || e == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_RsaPublicKeyDecodeRaw(n, (long)nSize, e, (long)eSize, key);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
|
@ -148,9 +156,12 @@ Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPublicKeyDecodeRaw___3BJ_3BJ(
|
|||
n = getByteArray(env, n_object);
|
||||
e = getByteArray(env, e_object);
|
||||
|
||||
ret = (!key || !n || !e)
|
||||
? BAD_FUNC_ARG
|
||||
: wc_RsaPublicKeyDecodeRaw(n, nSize, e, eSize, key);
|
||||
if (key == NULL || n == NULL || e == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_RsaPublicKeyDecodeRaw(n, (long)nSize, e, (long)eSize, key);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
|
@ -248,9 +250,13 @@ Java_com_wolfssl_wolfcrypt_Sha_native_1update___3BII(
|
|||
data = getByteArray(env, data_buffer);
|
||||
dataSz = getByteArrayLength(env, data_buffer);
|
||||
|
||||
ret = (!sha || !data || ((offset + len) > dataSz))
|
||||
? BAD_FUNC_ARG
|
||||
: wc_ShaUpdate(sha, data + offset, len);
|
||||
if (sha == NULL || data == NULL ||
|
||||
(word32)(offset + len) > dataSz) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_ShaUpdate(sha, data + offset, len);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
|
@ -439,12 +445,17 @@ Java_com_wolfssl_wolfcrypt_Sha256_native_1update___3BII(
|
|||
data = getByteArray(env, data_buffer);
|
||||
dataSz = getByteArrayLength(env, data_buffer);
|
||||
|
||||
ret = (!sha || !data || ((offset + len) > dataSz))
|
||||
? BAD_FUNC_ARG
|
||||
: wc_Sha256Update(sha, data + offset, len);
|
||||
if (sha == NULL || data == NULL ||
|
||||
(word32)(offset + len) > dataSz) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_Sha256Update(sha, data + offset, len);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
if (ret != 0) {
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
}
|
||||
|
||||
LogStr("wc_Sha256Update(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data);
|
||||
|
@ -630,12 +641,17 @@ Java_com_wolfssl_wolfcrypt_Sha384_native_1update___3BII(
|
|||
data = getByteArray(env, data_buffer);
|
||||
dataSz = getByteArrayLength(env, data_buffer);
|
||||
|
||||
ret = (!sha || !data || ((offset + len) > dataSz))
|
||||
? BAD_FUNC_ARG
|
||||
: wc_Sha384Update(sha, data + offset, len);
|
||||
if (sha == NULL || data == NULL ||
|
||||
(word32)(offset + len) > dataSz) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_Sha384Update(sha, data + offset, len);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
if (ret != 0) {
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
}
|
||||
|
||||
LogStr("wc_Sha384Update(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data + offset);
|
||||
|
@ -821,12 +837,17 @@ Java_com_wolfssl_wolfcrypt_Sha512_native_1update___3BII(
|
|||
data = getByteArray(env, data_buffer);
|
||||
dataSz = getByteArrayLength(env, data_buffer);
|
||||
|
||||
ret = (!sha || !data || ((offset + len) > dataSz))
|
||||
? BAD_FUNC_ARG
|
||||
: wc_Sha512Update(sha, data + offset, len);
|
||||
if (sha == NULL || data == NULL ||
|
||||
(word32)(offset + len) > dataSz) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
else {
|
||||
ret = wc_Sha512Update(sha, data + offset, len);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
if (ret != 0) {
|
||||
throwWolfCryptExceptionFromError(env, ret);
|
||||
}
|
||||
|
||||
LogStr("wc_Sha512Update(sha=%p, data, len) = %d\n", sha, ret);
|
||||
LogStr("data[%u]: [%p]\n", (word32)len, data + offset);
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __ANDROID__
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#elif !defined(__ANDROID__)
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <jni.h>
|
||||
|
|
|
@ -480,6 +480,11 @@ public class WolfCryptCipher extends CipherSpi {
|
|||
if (input == null || len < 0)
|
||||
throw new IllegalArgumentException("Null input buffer or len < 0");
|
||||
|
||||
if ((buffered.length + len) == 0) {
|
||||
/* no data to process */
|
||||
return null;
|
||||
}
|
||||
|
||||
if ((cipherType == CipherType.WC_RSA) ||
|
||||
((buffered.length + len) < blockSize)) {
|
||||
/* buffer for short inputs, or RSA */
|
||||
|
|
|
@ -62,7 +62,37 @@ public class FeatureDetect {
|
|||
*/
|
||||
public static native boolean Sha512Enabled();
|
||||
|
||||
/**
|
||||
* Loads JNI library.
|
||||
*
|
||||
* The native library is expected to be called "wolfcryptjni", and must be
|
||||
* on the system library search path.
|
||||
*
|
||||
* "wolfcryptjni" links against the wolfSSL native C library ("wolfssl"),
|
||||
* and for Windows compatibility "wolfssl" needs to be explicitly loaded
|
||||
* first here.
|
||||
*/
|
||||
static {
|
||||
int fipsLoaded = 0;
|
||||
|
||||
String osName = System.getProperty("os.name").toLowerCase();
|
||||
if (osName.contains("win")) {
|
||||
try {
|
||||
/* Default wolfCrypt FIPS library on Windows is compiled
|
||||
* as "wolfssl-fips" by Visual Studio solution */
|
||||
System.loadLibrary("wolfssl-fips");
|
||||
fipsLoaded = 1;
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
/* wolfCrypt FIPS not available */
|
||||
}
|
||||
|
||||
if (fipsLoaded == 0) {
|
||||
/* FIPS library not loaded, try normal libwolfssl */
|
||||
System.loadLibrary("wolfssl");
|
||||
}
|
||||
}
|
||||
|
||||
/* Load wolfcryptjni library */
|
||||
System.loadLibrary("wolfcryptjni");
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,37 @@ public class WolfObject {
|
|||
|
||||
private static native int init();
|
||||
|
||||
/**
|
||||
* Loads JNI library.
|
||||
*
|
||||
* The native library is expected to be called "wolfcryptjni", and must be
|
||||
* on the system library search path.
|
||||
*
|
||||
* "wolfcryptjni" links against the wolfSSL native C library ("wolfssl"),
|
||||
* and for Windows compatibility "wolfssl" needs to be explicitly loaded
|
||||
* first here.
|
||||
*/
|
||||
static {
|
||||
int fipsLoaded = 0;
|
||||
|
||||
String osName = System.getProperty("os.name").toLowerCase();
|
||||
if (osName.contains("win")) {
|
||||
try {
|
||||
/* Default wolfCrypt FIPS library on Windows is compiled
|
||||
* as "wolfssl-fips" by Visual Studio solution */
|
||||
System.loadLibrary("wolfssl-fips");
|
||||
fipsLoaded = 1;
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
/* wolfCrypt FIPS not available */
|
||||
}
|
||||
|
||||
if (fipsLoaded == 0) {
|
||||
/* FIPS library not loaded, try normal libwolfssl */
|
||||
System.loadLibrary("wolfssl");
|
||||
}
|
||||
}
|
||||
|
||||
/* Load wolfcryptjni library */
|
||||
System.loadLibrary("wolfcryptjni");
|
||||
|
||||
/* initialize native wolfCrypt library */
|
||||
|
|
Loading…
Reference in New Issue