Skip to content

Commit dbfe657

Browse files
committed
Add WOLFSSL_PR9631_PATCH_APPLIED guard
1 parent 70e25ff commit dbfe657

6 files changed

Lines changed: 97 additions & 51 deletions

File tree

native/com_wolfssl_WolfSSL.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,6 +1025,22 @@ JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_FileSystemEnabled
10251025
#endif
10261026
}
10271027

1028+
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_CrlGenerationEnabled
1029+
(JNIEnv* jenv, jclass jcl)
1030+
{
1031+
(void)jenv;
1032+
(void)jcl;
1033+
1034+
#if ((LIBWOLFSSL_VERSION_HEX > 0x05008004) || \
1035+
defined(WOLFSSL_PR9631_PATCH_APPLIED)) && \
1036+
defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && \
1037+
defined(WOLFSSL_CERT_GEN)
1038+
return JNI_TRUE;
1039+
#else
1040+
return JNI_FALSE;
1041+
#endif
1042+
}
1043+
10281044
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_certReqEnabled
10291045
(JNIEnv* jenv, jclass jcl)
10301046
{

native/com_wolfssl_WolfSSL.h

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

native/com_wolfssl_WolfSSLCRL.c

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,17 @@
3737
#include "com_wolfssl_globals.h"
3838
#include "com_wolfssl_WolfSSLCRL.h"
3939

40+
#if ((LIBWOLFSSL_VERSION_HEX > 0x05008004) || \
41+
defined(WOLFSSL_PR9631_PATCH_APPLIED)) && \
42+
defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && \
43+
defined(WOLFSSL_CERT_GEN)
44+
#define WOLFSSL_JNI_CRL_GEN_ENABLED
45+
#endif
46+
4047
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1new
4148
(JNIEnv* jenv, jclass jcl)
4249
{
43-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
50+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
4451
WOLFSSL_X509_CRL* crl = NULL;
4552
(void)jcl;
4653

@@ -64,7 +71,7 @@ JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1new
6471
JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1free
6572
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
6673
{
67-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
74+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
6875
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
6976
(void)jcl;
7077

@@ -83,7 +90,7 @@ JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1free
8390
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1version
8491
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jint version)
8592
{
86-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
93+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
8794
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
8895
(void)jcl;
8996

@@ -104,7 +111,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1version
104111
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1issuer_1name
105112
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jlong x509NamePtr)
106113
{
107-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
114+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
108115
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
109116
WOLFSSL_X509_NAME* name = (WOLFSSL_X509_NAME*)(uintptr_t)x509NamePtr;
110117
(void)jcl;
@@ -126,7 +133,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1issuer_1name
126133
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1lastUpdate
127134
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray time)
128135
{
129-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
136+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
130137
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
131138
byte* timeBuf = NULL;
132139
int timeSz = 0;
@@ -182,7 +189,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1lastUpdate
182189
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1nextUpdate
183190
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray time)
184191
{
185-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
192+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
186193
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
187194
byte* timeBuf = NULL;
188195
int timeSz = 0;
@@ -239,7 +246,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1add_1revoked
239246
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray serial,
240247
jbyteArray revDate, jint dateFmt)
241248
{
242-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
249+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
243250
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
244251
byte* serialBuf = NULL;
245252
byte* dateBuf = NULL;
@@ -292,7 +299,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1add_1revoked_1cert
292299
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray certDer,
293300
jbyteArray revDate, jint dateFmt)
294301
{
295-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
302+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
296303
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
297304
byte* certBuf = NULL;
298305
byte* dateBuf = NULL;
@@ -345,7 +352,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1sign
345352
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jint keyType, jbyteArray keyBytes,
346353
jint format, jstring digestAlg)
347354
{
348-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
355+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
349356
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
350357
byte* keyBuf = NULL;
351358
int keySz = 0;
@@ -474,7 +481,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1sign
474481
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_write_1X509_1CRL
475482
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jstring path, jint format)
476483
{
477-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
484+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
478485
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
479486
const char* cPath = NULL;
480487
int ret = WOLFSSL_FAILURE;
@@ -507,7 +514,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_write_1X509_1CRL
507514
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1version
508515
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
509516
{
510-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
517+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
511518
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
512519
(void)jcl;
513520

@@ -527,8 +534,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1version
527534
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1lastUpdate
528535
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
529536
{
530-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && \
531-
defined(WOLFSSL_CERT_GEN) && !defined(NO_ASN_TIME)
537+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED) && !defined(NO_ASN_TIME)
532538
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
533539
WOLFSSL_ASN1_TIME* date = NULL;
534540
char timeStr[CTC_DATE_SIZE];
@@ -556,8 +562,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1lastUpdate
556562
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1nextUpdate
557563
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
558564
{
559-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && \
560-
defined(WOLFSSL_CERT_GEN) && !defined(NO_ASN_TIME)
565+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED) && !defined(NO_ASN_TIME)
561566
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
562567
WOLFSSL_ASN1_TIME* date = NULL;
563568
char timeStr[CTC_DATE_SIZE];
@@ -585,7 +590,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1nextUpdate
585590
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1print
586591
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
587592
{
588-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
593+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
589594
WOLFSSL_BIO* bio;
590595
int sz = 0;
591596
char* mem = NULL;
@@ -636,7 +641,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1print
636641
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1der
637642
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
638643
{
639-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
644+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
640645
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
641646
unsigned char* der = NULL;
642647
jbyteArray derArr = NULL;
@@ -695,7 +700,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1der
695700
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1pem
696701
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
697702
{
698-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
703+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
699704
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
700705
unsigned char* der = NULL;
701706
unsigned char* pem = NULL;

native/com_wolfssl_WolfSSLCRL.h

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/java/com/wolfssl/WolfSSL.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,14 @@ protected static byte[] fileToBytes(File file)
978978
*/
979979
public static native boolean FileSystemEnabled();
980980

981+
/**
982+
* Tests if CRL generation support has been compiled into the native
983+
* wolfSSL library.
984+
*
985+
* @return true if enabled, otherwise false if not compiled in.
986+
*/
987+
public static native boolean CrlGenerationEnabled();
988+
981989
/**
982990
* Tests if Certificate Signing Request (CSR) support has been compiled
983991
* into the native wolfSSL library.
@@ -1862,4 +1870,3 @@ protected void finalize() throws Throwable
18621870
}
18631871

18641872
} /* end WolfSSL */
1865-

0 commit comments

Comments
 (0)