Skip to content

Commit e3c6435

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

6 files changed

Lines changed: 94 additions & 51 deletions

File tree

native/com_wolfssl_WolfSSL.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,6 +1025,21 @@ 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) && defined(WOLFSSL_CERT_GEN)
1037+
return JNI_TRUE;
1038+
#else
1039+
return JNI_FALSE;
1040+
#endif
1041+
}
1042+
10281043
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_certReqEnabled
10291044
(JNIEnv* jenv, jclass jcl)
10301045
{

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: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,16 @@
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) && defined(WOLFSSL_CERT_GEN)
43+
#define WOLFSSL_JNI_CRL_GEN_ENABLED
44+
#endif
45+
4046
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1new
4147
(JNIEnv* jenv, jclass jcl)
4248
{
43-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
49+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
4450
WOLFSSL_X509_CRL* crl = NULL;
4551
(void)jcl;
4652

@@ -64,7 +70,7 @@ JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1new
6470
JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1free
6571
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
6672
{
67-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
73+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
6874
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
6975
(void)jcl;
7076

@@ -83,7 +89,7 @@ JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1free
8389
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1version
8490
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jint version)
8591
{
86-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
92+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
8793
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
8894
(void)jcl;
8995

@@ -104,7 +110,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1version
104110
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1issuer_1name
105111
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jlong x509NamePtr)
106112
{
107-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
113+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
108114
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
109115
WOLFSSL_X509_NAME* name = (WOLFSSL_X509_NAME*)(uintptr_t)x509NamePtr;
110116
(void)jcl;
@@ -126,7 +132,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1issuer_1name
126132
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1lastUpdate
127133
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray time)
128134
{
129-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
135+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
130136
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
131137
byte* timeBuf = NULL;
132138
int timeSz = 0;
@@ -182,7 +188,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1lastUpdate
182188
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1set_1nextUpdate
183189
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray time)
184190
{
185-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
191+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
186192
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
187193
byte* timeBuf = NULL;
188194
int timeSz = 0;
@@ -239,7 +245,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1add_1revoked
239245
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray serial,
240246
jbyteArray revDate, jint dateFmt)
241247
{
242-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
248+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
243249
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
244250
byte* serialBuf = NULL;
245251
byte* dateBuf = NULL;
@@ -292,7 +298,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1add_1revoked_1cert
292298
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jbyteArray certDer,
293299
jbyteArray revDate, jint dateFmt)
294300
{
295-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
301+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
296302
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
297303
byte* certBuf = NULL;
298304
byte* dateBuf = NULL;
@@ -345,7 +351,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1sign
345351
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jint keyType, jbyteArray keyBytes,
346352
jint format, jstring digestAlg)
347353
{
348-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
354+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
349355
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
350356
byte* keyBuf = NULL;
351357
int keySz = 0;
@@ -474,7 +480,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1sign
474480
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_write_1X509_1CRL
475481
(JNIEnv* jenv, jclass jcl, jlong crlPtr, jstring path, jint format)
476482
{
477-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
483+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
478484
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
479485
const char* cPath = NULL;
480486
int ret = WOLFSSL_FAILURE;
@@ -507,7 +513,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_write_1X509_1CRL
507513
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1version
508514
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
509515
{
510-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
516+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
511517
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
512518
(void)jcl;
513519

@@ -527,8 +533,7 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1version
527533
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1lastUpdate
528534
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
529535
{
530-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && \
531-
defined(WOLFSSL_CERT_GEN) && !defined(NO_ASN_TIME)
536+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED) && !defined(NO_ASN_TIME)
532537
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
533538
WOLFSSL_ASN1_TIME* date = NULL;
534539
char timeStr[CTC_DATE_SIZE];
@@ -556,8 +561,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1lastUpdate
556561
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1nextUpdate
557562
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
558563
{
559-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && \
560-
defined(WOLFSSL_CERT_GEN) && !defined(NO_ASN_TIME)
564+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED) && !defined(NO_ASN_TIME)
561565
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
562566
WOLFSSL_ASN1_TIME* date = NULL;
563567
char timeStr[CTC_DATE_SIZE];
@@ -585,7 +589,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1nextUpdate
585589
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1print
586590
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
587591
{
588-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
592+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
589593
WOLFSSL_BIO* bio;
590594
int sz = 0;
591595
char* mem = NULL;
@@ -636,7 +640,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1print
636640
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1der
637641
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
638642
{
639-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
643+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
640644
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
641645
unsigned char* der = NULL;
642646
jbyteArray derArr = NULL;
@@ -695,7 +699,7 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1der
695699
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1pem
696700
(JNIEnv* jenv, jclass jcl, jlong crlPtr)
697701
{
698-
#if defined(HAVE_CRL) && defined(OPENSSL_EXTRA) && defined(WOLFSSL_CERT_GEN)
702+
#if defined(WOLFSSL_JNI_CRL_GEN_ENABLED)
699703
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
700704
unsigned char* der = NULL;
701705
unsigned char* pem = NULL;

native/com_wolfssl_WolfSSLCRL.h

Lines changed: 9 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)