JNI: refactor com.wolfssl.wolfcrypt.RSA/ECC/EccKey classes to avoid wolfJCE namespace conflicts, removing com.wolfssl.wolfcrypt directory

pull/252/head
Chris Conlon 2025-01-28 14:58:54 -07:00
parent 5e56b00383
commit 4923528863
29 changed files with 168 additions and 159 deletions

View File

@ -337,9 +337,9 @@ add_library(wolfssljni SHARED
${wolfssljni_DIR}/native/com_wolfssl_WolfSSLSession.c
${wolfssljni_DIR}/native/com_wolfssl_WolfSSLX509Name.c
${wolfssljni_DIR}/native/com_wolfssl_WolfSSLX509StoreCtx.c
${wolfssljni_DIR}/native/com_wolfssl_wolfcrypt_ECC.c
${wolfssljni_DIR}/native/com_wolfssl_wolfcrypt_EccKey.c
${wolfssljni_DIR}/native/com_wolfssl_wolfcrypt_RSA.c
${wolfssljni_DIR}/native/com_wolfssl_WolfCryptECC.c
${wolfssljni_DIR}/native/com_wolfssl_WolfCryptEccKey.c
${wolfssljni_DIR}/native/com_wolfssl_WolfCryptRSA.c
)
# set_target_properties(wolfssljni PROPERTIES LIBRARY_OUTPUT_DIRECTORY

View File

@ -35,9 +35,9 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\native\com_wolfssl_wolfcrypt_ECC.c" />
<ClCompile Include="..\..\native\com_wolfssl_wolfcrypt_EccKey.c" />
<ClCompile Include="..\..\native\com_wolfssl_wolfcrypt_RSA.c" />
<ClCompile Include="..\..\native\com_wolfssl_WolfCryptECC.c" />
<ClCompile Include="..\..\native\com_wolfssl_WolfCryptEccKey.c" />
<ClCompile Include="..\..\native\com_wolfssl_WolfCryptRSA.c" />
<ClCompile Include="..\..\native\com_wolfssl_WolfSSL.c" />
<ClCompile Include="..\..\native\com_wolfssl_WolfSSLCertificate.c" />
<ClCompile Include="..\..\native\com_wolfssl_WolfSSLCertManager.c" />
@ -49,9 +49,9 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\native\com_wolfssl_globals.h" />
<ClInclude Include="..\..\native\com_wolfssl_wolfcrypt_ECC.h" />
<ClInclude Include="..\..\native\com_wolfssl_wolfcrypt_EccKey.h" />
<ClInclude Include="..\..\native\com_wolfssl_wolfcrypt_RSA.h" />
<ClInclude Include="..\..\native\com_wolfssl_WolfCryptECC.h" />
<ClInclude Include="..\..\native\com_wolfssl_WolfCryptEccKey.h" />
<ClInclude Include="..\..\native\com_wolfssl_WolfCryptRSA.h" />
<ClInclude Include="..\..\native\com_wolfssl_WolfSSL.h" />
<ClInclude Include="..\..\native\com_wolfssl_WolfSSLCertificate.h" />
<ClInclude Include="..\..\native\com_wolfssl_WolfSSLCertManager.h" />
@ -432,4 +432,4 @@ ant</Command>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -15,13 +15,13 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\native\com_wolfssl_wolfcrypt_ECC.c">
<ClCompile Include="..\..\native\com_wolfssl_WolfCryptECC.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\native\com_wolfssl_wolfcrypt_EccKey.c">
<ClCompile Include="..\..\native\com_wolfssl_WolfCryptEccKey.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\native\com_wolfssl_wolfcrypt_RSA.c">
<ClCompile Include="..\..\native\com_wolfssl_WolfCryptRSA.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\native\com_wolfssl_WolfSSL.c">
@ -53,13 +53,13 @@
<ClInclude Include="..\..\native\com_wolfssl_globals.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\native\com_wolfssl_wolfcrypt_ECC.h">
<ClInclude Include="..\..\native\com_wolfssl_WolfCryptECC.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\native\com_wolfssl_wolfcrypt_EccKey.h">
<ClInclude Include="..\..\native\com_wolfssl_WolfCryptEccKey.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\native\com_wolfssl_wolfcrypt_RSA.h">
<ClInclude Include="..\..\native\com_wolfssl_WolfCryptRSA.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\native\com_wolfssl_WolfSSL.h">

View File

@ -148,9 +148,9 @@
<class name="com.wolfssl.WolfSSLContext"/>
<class name="com.wolfssl.WolfSSLSession"/>
<class name="com.wolfssl.WolfSSLX509StoreCtx"/>
<class name="com.wolfssl.wolfcrypt.ECC"/>
<class name="com.wolfssl.wolfcrypt.EccKey"/>
<class name="com.wolfssl.wolfcrypt.RSA"/>
<class name="com.wolfssl.WolfCryptECC"/>
<class name="com.wolfssl.WolfCryptEccKey"/>
<class name="com.wolfssl.WolfCryptRSA"/>
</javah>
</target>
@ -177,7 +177,6 @@
</manifest>
<fileset dir="${build.dir}">
<include name="com/wolfssl/*.class"/>
<include name="com/wolfssl/wolfcrypt/*.class"/>
</fileset>
</jar>
</target>

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.ByteBuffer;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
import java.security.KeyFactory;
import java.security.interfaces.ECPublicKey;
@ -47,9 +46,9 @@ import java.util.Arrays;
*/
class MyEccSharedSecretCallback implements WolfSSLEccSharedSecretCallback
{
public int eccSharedSecretCallback(WolfSSLSession ssl, EccKey otherKey,
ByteBuffer pubKeyDer, long[] pubKeyDerSz, ByteBuffer out,
long[] outSz, int side, Object ctx) {
public int eccSharedSecretCallback(WolfSSLSession ssl,
WolfCryptEccKey otherKey, ByteBuffer pubKeyDer, long[] pubKeyDerSz,
ByteBuffer out, long[] outSz, int side, Object ctx) {
int ret = -1;
ECPublicKey ecPubKey = null;

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.ByteBuffer;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
class MyEccSignCallback implements WolfSSLEccSignCallback
{
@ -34,7 +33,7 @@ class MyEccSignCallback implements WolfSSLEccSignCallback
System.out.println("---------- Entered MyEccSignCallback ----------");
int ret = -1;
ECC ecc = new ECC();
WolfCryptECC ecc = new WolfCryptECC();
MyEccSignCtx eccSignCtx = (MyEccSignCtx)ctx;
ret = ecc.doSign(in, inSz, out, outSz, keyDer, keySz);

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.ByteBuffer;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
class MyEccVerifyCallback implements WolfSSLEccVerifyCallback
{
@ -34,7 +33,7 @@ class MyEccVerifyCallback implements WolfSSLEccVerifyCallback
System.out.println("---------- Entered MyEccVerifyCallback ----------");
int ret = -1;
ECC ecc = new ECC();
WolfCryptECC ecc = new WolfCryptECC();
MyEccVerifyCtx eccVerifyCtx = (MyEccVerifyCtx)ctx;
ret = ecc.doVerify(sig, sigSz, hash, hashSz, keyDer, keySz, result);

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.*;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
class MyRsaDecCallback implements WolfSSLRsaDecCallback
{
@ -34,7 +33,7 @@ class MyRsaDecCallback implements WolfSSLRsaDecCallback
System.out.println("---------- Entering MyRsaDecCallback ----------");
int ret = -1;
RSA rsa = new RSA();
WolfCryptRSA rsa = new WolfCryptRSA();
MyRsaDecCtx rsaDecCtx = (MyRsaDecCtx)ctx;
ret = rsa.doDec(in, inSz, out, outSz, keyDer, keySz);

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.*;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
class MyRsaEncCallback implements WolfSSLRsaEncCallback
{
@ -34,7 +33,7 @@ class MyRsaEncCallback implements WolfSSLRsaEncCallback
System.out.println("---------- Entering MyRsaEncCallback ----------");
int ret = -1;
RSA rsa = new RSA();
WolfCryptRSA rsa = new WolfCryptRSA();
MyRsaEncCtx rsaEncCtx = (MyRsaEncCtx)ctx;
ret = rsa.doEnc(in, inSz, out, outSz, keyDer, keySz);

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.*;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
class MyRsaSignCallback implements WolfSSLRsaSignCallback
{
@ -34,7 +33,7 @@ class MyRsaSignCallback implements WolfSSLRsaSignCallback
System.out.println("---------- Entering MyRsaSignCallback ----------");
int ret = -1;
RSA rsa = new RSA();
WolfCryptRSA rsa = new WolfCryptRSA();
MyRsaSignCtx rsaSignCtx = (MyRsaSignCtx)ctx;
ret = rsa.doSign(in, inSz, out, outSz, keyDer, keySz);

View File

@ -23,7 +23,6 @@ import java.io.*;
import java.net.*;
import java.nio.*;
import com.wolfssl.*;
import com.wolfssl.wolfcrypt.*;
class MyRsaVerifyCallback implements WolfSSLRsaVerifyCallback
{
@ -34,7 +33,7 @@ class MyRsaVerifyCallback implements WolfSSLRsaVerifyCallback
System.out.println("---------- Entered MyRsaVerifyCallback ----------");
int ret = -1;
RSA rsa = new RSA();
WolfCryptRSA rsa = new WolfCryptRSA();
MyRsaVerifyCtx rsaVerifyCtx = (MyRsaVerifyCtx)ctx;
ret = rsa.doVerify(sig, sigSz, out, outSz, keyDer, keySz);

View File

@ -109,15 +109,15 @@ fi
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSL.c -o ./native/com_wolfssl_WolfSSL.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLSession.c -o ./native/com_wolfssl_WolfSSLSession.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLContext.c -o ./native/com_wolfssl_WolfSSLContext.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_wolfcrypt_RSA.c -o ./native/com_wolfssl_wolfcrypt_RSA.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_wolfcrypt_ECC.c -o ./native/com_wolfssl_wolfcrypt_ECC.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_wolfcrypt_EccKey.c -o ./native/com_wolfssl_wolfcrypt_EccKey.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfCryptRSA.c -o ./native/com_wolfssl_WolfCryptRSA.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfCryptECC.c -o ./native/com_wolfssl_WolfCryptECC.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfCryptEccKey.c -o ./native/com_wolfssl_WolfCryptEccKey.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLCertManager.c -o ./native/com_wolfssl_WolfSSLCertManager.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLCertRequest.c -o ./native/com_wolfssl_WolfSSLCertRequest.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLCertificate.c -o ./native/com_wolfssl_WolfSSLCertificate.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLX509Name.c -o ./native/com_wolfssl_WolfSSLX509Name.o $javaIncludes
gcc -Wall -c $fpic $CFLAGS ./native/com_wolfssl_WolfSSLX509StoreCtx.c -o ./native/com_wolfssl_WolfSSLX509StoreCtx.o $javaIncludes
gcc -Wall $javaLibs $CFLAGS -o ./lib/$jniLibName ./native/com_wolfssl_WolfSSL.o ./native/com_wolfssl_WolfSSLSession.o ./native/com_wolfssl_WolfSSLContext.o ./native/com_wolfssl_wolfcrypt_RSA.o ./native/com_wolfssl_wolfcrypt_ECC.o ./native/com_wolfssl_wolfcrypt_EccKey.o ./native/com_wolfssl_WolfSSLCertManager.o ./native/com_wolfssl_WolfSSLCertRequest.o ./native/com_wolfssl_WolfSSLCertificate.o ./native/com_wolfssl_WolfSSLX509Name.o ./native/com_wolfssl_WolfSSLX509StoreCtx.o -L$WOLFSSL_INSTALL_DIR/lib -L$WOLFSSL_INSTALL_DIR/lib64 -l$WOLFSSL_LIBNAME
gcc -Wall $javaLibs $CFLAGS -o ./lib/$jniLibName ./native/com_wolfssl_WolfSSL.o ./native/com_wolfssl_WolfSSLSession.o ./native/com_wolfssl_WolfSSLContext.o ./native/com_wolfssl_WolfCryptRSA.o ./native/com_wolfssl_WolfCryptECC.o ./native/com_wolfssl_WolfCryptEccKey.o ./native/com_wolfssl_WolfSSLCertManager.o ./native/com_wolfssl_WolfSSLCertRequest.o ./native/com_wolfssl_WolfSSLCertificate.o ./native/com_wolfssl_WolfSSLX509Name.o ./native/com_wolfssl_WolfSSLX509StoreCtx.o -L$WOLFSSL_INSTALL_DIR/lib -L$WOLFSSL_INSTALL_DIR/lib64 -l$WOLFSSL_LIBNAME
if [ $? != 0 ]; then
echo "Error creating native JNI library"
exit 1

View File

@ -1,4 +1,4 @@
/* com_wolfssl_wolfcrypt_ECC.c
/* com_wolfssl_WolfCryptECC.c
*
* Copyright (C) 2006-2025 wolfSSL Inc.
*
@ -28,9 +28,9 @@
#include <wolfssl/wolfcrypt/ecc.h>
#include <wolfssl/wolfcrypt/asn.h>
#include "com_wolfssl_wolfcrypt_ECC.h"
#include "com_wolfssl_WolfCryptECC.h"
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_ECC_doVerify
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptECC_doVerify
(JNIEnv* jenv, jobject jcl, jobject sig, jlong sigSz, jobject hash,
jlong hashSz, jobject keyDer, jlong keySz, jintArray result)
{
@ -89,7 +89,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_ECC_doVerify
return ret;
}
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_ECC_doSign
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptECC_doSign
(JNIEnv* jenv, jobject jcl, jobject in, jlong inSz, jobject out,
jlongArray outSz, jobject keyDer, jlong keySz)
{

View File

@ -1,26 +1,26 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_wolfssl_wolfcrypt_ECC */
/* Header for class com_wolfssl_WolfCryptECC */
#ifndef _Included_com_wolfssl_wolfcrypt_ECC
#define _Included_com_wolfssl_wolfcrypt_ECC
#ifndef _Included_com_wolfssl_WolfCryptECC
#define _Included_com_wolfssl_WolfCryptECC
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_wolfssl_wolfcrypt_ECC
* Class: com_wolfssl_WolfCryptECC
* Method: doVerify
* Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;JLjava/nio/ByteBuffer;J[I)I
*/
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_ECC_doVerify
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptECC_doVerify
(JNIEnv *, jobject, jobject, jlong, jobject, jlong, jobject, jlong, jintArray);
/*
* Class: com_wolfssl_wolfcrypt_ECC
* Class: com_wolfssl_WolfCryptECC
* Method: doSign
* Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;[JLjava/nio/ByteBuffer;J)I
*/
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_ECC_doSign
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptECC_doSign
(JNIEnv *, jobject, jobject, jlong, jobject, jlongArray, jobject, jlong);
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
/* com_wolfssl_wolfcrypt_EccKey.c
/* com_wolfssl_WolfCryptEccKey.c
*
* Copyright (C) 2006-2025 wolfSSL Inc.
*
@ -28,9 +28,9 @@
#include <wolfssl/wolfcrypt/ecc.h>
#include <wolfssl/wolfcrypt/asn.h>
#include <wolfssl/wolfcrypt/error-crypt.h>
#include "com_wolfssl_wolfcrypt_EccKey.h"
#include "com_wolfssl_WolfCryptEccKey.h"
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPublicKeyToDer
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfCryptEccKey_EccPublicKeyToDer
(JNIEnv* jenv, jobject jcl, jlong eccKey)
{
jclass excClass;
@ -94,7 +94,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPublicKeyToDer
#endif /* HAVE_ECC */
}
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPrivateKeyToDer
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfCryptEccKey_EccPrivateKeyToDer
(JNIEnv* jenv, jobject jcl, jlong eccKey)
{
jclass excClass;
@ -158,7 +158,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPrivateKeyToDe
#endif /* HAVE_ECC */
}
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPrivateKeyToPKCS8
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfCryptEccKey_EccPrivateKeyToPKCS8
(JNIEnv* jenv, jobject jcl, jlong eccKey)
{
jclass excClass;

View File

@ -0,0 +1,37 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_wolfssl_WolfCryptEccKey */
#ifndef _Included_com_wolfssl_WolfCryptEccKey
#define _Included_com_wolfssl_WolfCryptEccKey
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_wolfssl_WolfCryptEccKey
* Method: EccPublicKeyToDer
* Signature: (J)[B
*/
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfCryptEccKey_EccPublicKeyToDer
(JNIEnv *, jobject, jlong);
/*
* Class: com_wolfssl_WolfCryptEccKey
* Method: EccPrivateKeyToDer
* Signature: (J)[B
*/
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfCryptEccKey_EccPrivateKeyToDer
(JNIEnv *, jobject, jlong);
/*
* Class: com_wolfssl_WolfCryptEccKey
* Method: EccPrivateKeyToPKCS8
* Signature: (J)[B
*/
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfCryptEccKey_EccPrivateKeyToPKCS8
(JNIEnv *, jobject, jlong);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,4 +1,4 @@
/* com_wolfssl_wolfcrypt_RSA.c
/* com_wolfssl_WolfCryptRSA.c
*
* Copyright (C) 2006-2025 wolfSSL Inc.
*
@ -27,9 +27,9 @@
#endif
#include <wolfssl/wolfcrypt/rsa.h>
#include "com_wolfssl_wolfcrypt_RSA.h"
#include "com_wolfssl_WolfCryptRSA.h"
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doSign
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doSign
(JNIEnv* jenv, jobject jcl, jobject in, jlong inSz, jobject out,
jintArray outSz, jobject keyDer, jlong keySz)
{
@ -94,7 +94,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doSign
return ret;
}
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doVerify
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doVerify
(JNIEnv* jenv, jobject jcl, jobject sig, jlong sigSz, jobject out,
jlong outSz, jobject keyDer, jlong keySz)
{
@ -150,7 +150,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doVerify
return ret;
}
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doEnc
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doEnc
(JNIEnv* jenv, jobject jcl, jobject in, jlong inSz, jobject out,
jintArray outSz, jobject keyDer, jlong keySz)
{
@ -214,7 +214,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doEnc
return ret;
}
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doDec
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doDec
(JNIEnv* jenv, jobject jcl, jobject in, jlong inSz, jobject out,
jlong outSz, jobject keyDer, jlong keySz)
{

View File

@ -1,42 +1,42 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_wolfssl_wolfcrypt_RSA */
/* Header for class com_wolfssl_WolfCryptRSA */
#ifndef _Included_com_wolfssl_wolfcrypt_RSA
#define _Included_com_wolfssl_wolfcrypt_RSA
#ifndef _Included_com_wolfssl_WolfCryptRSA
#define _Included_com_wolfssl_WolfCryptRSA
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_wolfssl_wolfcrypt_RSA
* Class: com_wolfssl_WolfCryptRSA
* Method: doSign
* Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;[ILjava/nio/ByteBuffer;J)I
*/
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doSign
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doSign
(JNIEnv *, jobject, jobject, jlong, jobject, jintArray, jobject, jlong);
/*
* Class: com_wolfssl_wolfcrypt_RSA
* Class: com_wolfssl_WolfCryptRSA
* Method: doVerify
* Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;JLjava/nio/ByteBuffer;J)I
*/
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doVerify
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doVerify
(JNIEnv *, jobject, jobject, jlong, jobject, jlong, jobject, jlong);
/*
* Class: com_wolfssl_wolfcrypt_RSA
* Class: com_wolfssl_WolfCryptRSA
* Method: doEnc
* Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;[ILjava/nio/ByteBuffer;J)I
*/
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doEnc
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doEnc
(JNIEnv *, jobject, jobject, jlong, jobject, jintArray, jobject, jlong);
/*
* Class: com_wolfssl_wolfcrypt_RSA
* Class: com_wolfssl_WolfCryptRSA
* Method: doDec
* Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;JLjava/nio/ByteBuffer;J)I
*/
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_RSA_doDec
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfCryptRSA_doDec
(JNIEnv *, jobject, jobject, jlong, jobject, jlong, jobject, jlong);
#ifdef __cplusplus

View File

@ -3315,7 +3315,7 @@ int NativeEccSharedSecretCb(WOLFSSL* ssl, ecc_key* otherKey,
/* find internal ecc shared secret callback */
ret = GetMethodIDFromObject(jenv, ctxRef,
"internalEccSharedSecretCallback",
"(Lcom/wolfssl/WolfSSLSession;Lcom/wolfssl/wolfcrypt/EccKey;"
"(Lcom/wolfssl/WolfSSLSession;Lcom/wolfssl/WolfCryptEccKey;"
"Ljava/nio/ByteBuffer;[JLjava/nio/ByteBuffer;[JI)I",
&eccSharedSecretMethodId);
@ -3329,34 +3329,36 @@ int NativeEccSharedSecretCb(WOLFSSL* ssl, ecc_key* otherKey,
/* SETUP: otherKey - holds server's public key on client end, otherwise
* holds server's private key on server end. */
/* find EccKey class */
eccKeyClass = (*jenv)->FindClass(jenv, "com/wolfssl/wolfcrypt/EccKey");
/* find WolfCryptEccKey class */
eccKeyClass = (*jenv)->FindClass(jenv,
"com/wolfssl/WolfCryptEccKey");
if (!eccKeyClass) {
CheckException(jenv);
throwWolfSSLJNIExceptionWithMsg(jenv,
"Error finding EccKey class for ECC shared secret callback",
needsDetach);
"Error finding WolfCryptEccKey class for ECC "
"shared secret callback",
needsDetach);
return -1;
}
/* find EccKey constructor */
/* find WolfCryptEccKey constructor */
eccKeyMethodId = (*jenv)->GetMethodID(jenv, eccKeyClass,
"<init>", "(J)V");
if (!eccKeyMethodId) {
CheckException(jenv);
throwWolfSSLJNIExceptionWithMsg(jenv,
"Error getting EccKey constructor method ID in "
"Error getting WolfCryptEccKey constructor method ID in "
"ECC shared secret callback", needsDetach);
return -1;
}
/* create new EccKey object to return otherKey */
/* create new WolfCryptEccKey object to return otherKey */
eccKeyObject = (*jenv)->NewObject(jenv, eccKeyClass, eccKeyMethodId,
(jlong)(uintptr_t)otherKey);
if (!eccKeyObject) {
CheckException(jenv);
throwWolfSSLJNIExceptionWithMsg(jenv,
"Error creating EccKey object in native ECC "
"Error creating WolfCryptEccKey object in native ECC "
"shared secret callback", needsDetach);
return -1;
}

View File

@ -1,37 +0,0 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_wolfssl_wolfcrypt_EccKey */
#ifndef _Included_com_wolfssl_wolfcrypt_EccKey
#define _Included_com_wolfssl_wolfcrypt_EccKey
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_wolfssl_wolfcrypt_EccKey
* Method: EccPublicKeyToDer
* Signature: (J)[B
*/
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPublicKeyToDer
(JNIEnv *, jobject, jlong);
/*
* Class: com_wolfssl_wolfcrypt_EccKey
* Method: EccPrivateKeyToDer
* Signature: (J)[B
*/
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPrivateKeyToDer
(JNIEnv *, jobject, jlong);
/*
* Class: com_wolfssl_wolfcrypt_EccKey
* Method: EccPrivateKeyToPKCS8
* Signature: (J)[B
*/
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_EccKey_EccPrivateKeyToPKCS8
(JNIEnv *, jobject, jlong);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -32,9 +32,9 @@ include $(CLEAR_VARS)
LOCAL_CFLAGS += $(native_cflags)
LOCAL_CFLAGS:= -DHAVE_FFDHE_2048 -DWOLFSSL_TLS13 -DHAVE_TLS_EXTENSIONS -DHAVE_SUPPORTED_CURVES -DTFM_TIMING_RESISTANT -DECC_TIMING_RESISTANT -DWC_RSA_BLINDING -DHAVE_AESGCM -DWOLFSSL_SHA512 -DWOLFSSL_SHA384 -DHAVE_HKDF -DNO_DSA -DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR -DWC_RSA_PSS -DWOLFSSL_BASE64_ENCODE -DNO_RC4 -DWOLFSSL_SHA224 -DWOLFSSL_SHA3 -DHAVE_POLY1305 -DHAVE_ONE_TIME_AUTH -DHAVE_CHACHA -DHAVE_HASHDRBG -DHAVE_TLS_EXTENSIONS -DHAVE_SUPPORTED_CURVES -DHAVE_EXTENDED_MASTER -DHAVE_SNI -DHAVE_ALPN -DWOLFSSL_JNI -DWOLFSSL_DTLS -DOPENSSL_EXTRA -DOPENSSL_ALL -DHAVE_EX_DATA -DHAVE_CRL -DHAVE_OCSP -DHAVE_CRL_MONITOR -DPERSIST_SESSION_CACHE -DPERSIST_CERT_CACHE -DATOMIC_USER -DHAVE_PK_CALLBACKS -DWOLFSSL_CERT_EXT -DWOLFSSL_CERT_GEN -DHAVE_ENCRYPT_THEN_MAC -DNO_MD4 -DWOLFSSL_ENCRYPTED_KEYS -DUSE_FAST_MATH -DNO_DES3 -DKEEP_PEER_CERT -DSESSION_CERTS -DHAVE_SESSION_TICKET -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -Os -fomit-frame-pointer
LOCAL_SRC_FILES := \
native/com_wolfssl_wolfcrypt_ECC.c \
native/com_wolfssl_wolfcrypt_EccKey.c \
native/com_wolfssl_wolfcrypt_RSA.c \
native/com_wolfssl_WolfCryptECC.c \
native/com_wolfssl_WolfCryptEccKey.c \
native/com_wolfssl_WolfCryptRSA.c \
native/com_wolfssl_WolfSSL.c \
native/com_wolfssl_WolfSSLCertificate.c \
native/com_wolfssl_WolfSSLCertManager.c \

View File

@ -63,11 +63,12 @@ infer --fail-on-issue run -- javac \
src/java/com/wolfssl/WolfSSLSession.java \
src/java/com/wolfssl/WolfSSLTls13SecretCallback.java \
src/java/com/wolfssl/WolfSSLVerifyCallback.java \
src/java/com/wolfssl/WolfSSLVerifyDecryptCallback.java \
src/java/com/wolfssl/WolfSSLX509Name.java \
src/java/com/wolfssl/WolfSSLX509StoreCtx.java \
src/java/com/wolfssl/wolfcrypt/ECC.java \
src/java/com/wolfssl/wolfcrypt/EccKey.java \
src/java/com/wolfssl/wolfcrypt/RSA.java \
src/java/com/wolfssl/WolfCryptECC.java \
src/java/com/wolfssl/WolfCryptEccKey.java \
src/java/com/wolfssl/WolfCryptRSA.java \
src/java/com/wolfssl/provider/jsse/WolfSSLAuthStore.java \
src/java/com/wolfssl/provider/jsse/WolfSSLContext.java \
src/java/com/wolfssl/provider/jsse/WolfSSLCustomUser.java \

View File

@ -1,4 +1,4 @@
/* ECC.java
/* WolfCryptECC.java
*
* Copyright (C) 2006-2025 wolfSSL Inc.
*
@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
package com.wolfssl.wolfcrypt;
package com.wolfssl;
import java.nio.ByteBuffer;
@ -29,12 +29,17 @@ import java.nio.ByteBuffer;
* written to be used with this package's example ECC public key callbacks.
* Usage can be found in examples/Client.java and examples/Server.java.
*
* This class was previously named 'ECC' and was renamed to 'WolfCryptECC'
* to avoid naming conflicts with the 'ECC' class in the wolfCrypt JNI/JCE
* package. Apart from the name change, the class behavior and use
* remains the same.
*
* @author wolfSSL
*/
public class ECC {
public class WolfCryptECC {
/** Default ECC constructor */
public ECC() { }
/** Default WolfCryptECC constructor */
public WolfCryptECC() { }
/**
* ECC verify. Wraps native wc_ecc_verify_hash() to verify ECDSA

View File

@ -1,4 +1,4 @@
/* EccKey.java
/* WolfCryptEccKey.java
*
* Copyright (C) 2006-2025 wolfSSL Inc.
*
@ -19,16 +19,20 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
package com.wolfssl.wolfcrypt;
package com.wolfssl;
import com.wolfssl.WolfSSLException;
/**
* Wraps a native ecc_key structure pointer.
*
* This class was previously named 'EccKey' and was renamed to 'WolfCryptEccKey'
* to avoid naming conflicts with the wolfCrypt JNI/JCE package name space.
* Apart from the name change, the class behavior and use remains the same.
*
* @author wolfSSL
*/
public class EccKey {
public class WolfCryptEccKey {
/* internal ecc_key structure pointer */
private long eccKeyPtr;
@ -37,13 +41,13 @@ public class EccKey {
private boolean active = false;
/**
* Create new EccKey object, wrapping native ecc_key with pointer
* Create new WolfCryptEccKey object, wrapping native ecc_key with pointer
* keyPtr.
*
* @param keyPtr pointer to native ecc_key structure
* @throws com.wolfssl.WolfSSLException if key object creation failed
*/
public EccKey(long keyPtr) throws WolfSSLException {
public WolfCryptEccKey(long keyPtr) throws WolfSSLException {
if (keyPtr == 0) {
throw new WolfSSLException("NULL ecc_key pointer not allowed");
} else {
@ -119,5 +123,5 @@ public class EccKey {
super.finalize();
}
} /* end EccKey */
} /* end WolfCryptEccKey */

View File

@ -1,4 +1,4 @@
/* RSA.java
/* WolfCryptRSA.java
*
* Copyright (C) 2006-2025 wolfSSL Inc.
*
@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
package com.wolfssl.wolfcrypt;
package com.wolfssl;
import java.nio.ByteBuffer;
@ -29,12 +29,17 @@ import java.nio.ByteBuffer;
* written to be used with this package's example RSA public key callbacks.
* Usage can be found in examples/Client.java and examples/Server.java.
*
* This class was previously named 'RSA' and was renamed to 'WolfCryptRSA'
* to avoid naming conflicts with the 'RSA' class in the wolfCrypt JNI/JCE
* package. Apart from the name change, the class behavior and use
* remains the same.
*
* @author wolfSSL
*/
public class RSA {
public class WolfCryptRSA {
/** Default RSA constructor */
public RSA() { }
/** Default WolfCryptRSA constructor */
public WolfCryptRSA() { }
/**
* RSA sign, wraps native wolfCrypt operation.

View File

@ -23,7 +23,7 @@ package com.wolfssl;
import java.util.Arrays;
import java.nio.ByteBuffer;
import com.wolfssl.wolfcrypt.EccKey;
import com.wolfssl.WolfCryptEccKey;
import com.wolfssl.WolfSSLDebug;
import com.wolfssl.WolfSSLException;
import com.wolfssl.WolfSSLJNIException;
@ -237,7 +237,7 @@ public class WolfSSLContext {
}
private int internalEccSharedSecretCallback(WolfSSLSession ssl,
EccKey otherKey, ByteBuffer pubKeyDer, long[] pubKeyDerSz,
WolfCryptEccKey otherKey, ByteBuffer pubKeyDer, long[] pubKeyDerSz,
ByteBuffer out, long[] outSz, int side)
{
int ret;

View File

@ -22,7 +22,7 @@
package com.wolfssl;
import java.nio.ByteBuffer;
import com.wolfssl.wolfcrypt.EccKey;
import com.wolfssl.WolfCryptEccKey;
/**
* wolfSSL ECC Shared Secret Callback Interface.
@ -62,8 +62,8 @@ public interface WolfSSLEccSharedSecretCallback {
* @return <b><code>0</code></b> upon success,
* otherwise a negative value on error.
*/
public int eccSharedSecretCallback(WolfSSLSession ssl, EccKey otherKey,
ByteBuffer pubKeyDer, long[] pubKeyDerSz, ByteBuffer out,
long[] outSz, int side, Object ctx);
public int eccSharedSecretCallback(WolfSSLSession ssl,
WolfCryptEccKey otherKey, ByteBuffer pubKeyDer, long[] pubKeyDerSz,
ByteBuffer out, long[] outSz, int side, Object ctx);
}

View File

@ -27,25 +27,25 @@ import org.junit.runners.JUnit4;
import static org.junit.Assert.*;
import com.wolfssl.WolfSSLException;
import com.wolfssl.wolfcrypt.ECC;
import com.wolfssl.WolfCryptECC;
public class WolfCryptECCTest {
ECC ecc;
WolfCryptECC ecc;
@Test
public void testECC() throws WolfSSLException {
System.out.println("ECC Class");
System.out.println("WolfCryptECC Class");
test_ECC_new();
}
public void test_ECC_new() {
System.out.print("\tECC()");
ecc = new ECC();
System.out.println("\t\t\t\t... passed");
System.out.print("\tWolfCryptECC()");
ecc = new WolfCryptECC();
System.out.println("\t\t\t... passed");
}
}

View File

@ -27,25 +27,25 @@ import org.junit.runners.JUnit4;
import static org.junit.Assert.*;
import com.wolfssl.WolfSSLException;
import com.wolfssl.wolfcrypt.RSA;
import com.wolfssl.WolfCryptRSA;
public class WolfCryptRSATest {
RSA rsa;
WolfCryptRSA rsa;
@Test
public void testRSA() throws WolfSSLException {
System.out.println("RSA Class");
System.out.println("WolfCryptRSA Class");
test_RSA_new();
}
public void test_RSA_new() {
System.out.print("\tRSA()");
rsa = new RSA();
System.out.println("\t\t\t\t... passed");
System.out.print("\tWolfCryptRSA()");
rsa = new WolfCryptRSA();
System.out.println("\t\t\t... passed");
}
}