Skip to content

Commit cb49abb

Browse files
committed
Add cert/CRL capabilities: skid, akid, dist point, netscape
1 parent d3ddcc2 commit cb49abb

9 files changed

Lines changed: 1208 additions & 1 deletion

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDbTCCAlWgAwIBAgIUZqjaWzuAIDjJjqQW/x9Lyn5H2McwDQYJKoZIhvcNAQEL
3+
BQAwOjEUMBIGA1UEAwwLVGVzdCBDUkwgRFAxFTATBgNVBAoMDHdvbGZTU0wgVGVz
4+
dDELMAkGA1UEBhMCVVMwHhcNMjYwMjA5MTgxMTQzWhcNMjcwMjA5MTgxMTQzWjA6
5+
MRQwEgYDVQQDDAtUZXN0IENSTCBEUDEVMBMGA1UECgwMd29sZlNTTCBUZXN0MQsw
6+
CQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALP/1lo5
7+
T10/LJAck3ImKvrinzS1oubA/YP/w2NTJLzlZQtbvNPW4WhY2LcuUWOSv/VmMSpq
8+
J/mEqEn8P9CfIgtRo0z39+HJJ3aE3ClioH6fTpj284nHZnJdYQFy/9+T4DTLcuiJ
9+
VILqRotqH06JRU4mhR2hqiw7YHI76BlPJAB9pVwGbit6BKWbF5vJRy440AYNCWjs
10+
t/NEhrKnCJugaPqvyhH9ByWI8/wPeyFNXUpuEiZVg+rSYwPr0w4kVBRUVWnDxEam
11+
WKEEPSM1CdY2LJGDT6Qjm6WyVQbWppu1mz6Dg+nvw+h125PyW4Cyim6HAFj3IJcI
12+
6YcDC2lGep7PNmECAwEAAaNrMGkwCQYDVR0TBAIwADALBgNVHQ8EBAMCB4AwMAYD
13+
VR0fBCkwJzAloCOgIYYfaHR0cDovL2NybC5leGFtcGxlLmNvbS90ZXN0LmNybDAd
14+
BgNVHQ4EFgQUXEABbBfseiUjqacQWYMRluxQV+kwDQYJKoZIhvcNAQELBQADggEB
15+
AF21pa2SQXeqmDtYLvhwNWpwpt814nRfejAzlLBLpJB8nf1NE89a53U7ELbZMPNj
16+
tQC/ADNoNGFQmSaPNytXtHNslPM17kSWN+6/JFhKGcWHXgPPM4E5VOZ94H1BK4fh
17+
PMCfMMh+826Y+RK/nsi4NnlmeJy5/QdRgbDfGY4ZZECssHSIbKPP7pgxH/YzDUd/
18+
HIzf5vXeiUG7PXXJhzA38k1HRhuyxOYnsrLMYw/FsDOl/knhH9dF8f+XFVHuFfQv
19+
GH9cm+btX0gM1EaBi1huQcYYNRp2BSa2qSjIeDRg5Bs4i5BENh7wVtZDheGD0SpE
20+
3jhznnX5L4CwmLzlfQkARuU=
21+
-----END CERTIFICATE-----

examples/certs/update-certs.sh

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,37 @@ if [ $? -ne 0 ]; then
9898
fi
9999
printf "Generated ca-keyPkcs8.der\n"
100100

101+
# Generate CRL Distribution Points test cert
102+
printf "Generating test/crl-dp-cert.pem\n"
103+
mkdir -p test
104+
TMP_DIR="$(mktemp -d)"
105+
cat > "${TMP_DIR}/openssl.cnf" <<EOF
106+
[ req ]
107+
distinguished_name = dn
108+
x509_extensions = v3_req
109+
prompt = no
110+
111+
[ dn ]
112+
CN = Test CRL DP
113+
O = wolfSSL Test
114+
C = US
115+
116+
[ v3_req ]
117+
basicConstraints = CA:FALSE
118+
keyUsage = digitalSignature
119+
crlDistributionPoints = URI:http://crl.example.com/test.crl
120+
EOF
121+
122+
openssl req -new -newkey rsa:2048 -nodes -x509 -days 365 \
123+
-keyout "${TMP_DIR}/crl-dp-key.pem" -out test/crl-dp-cert.pem \
124+
-config "${TMP_DIR}/openssl.cnf" >/dev/null 2>&1
125+
if [ $? -ne 0 ]; then
126+
printf "Failed to generate test/crl-dp-cert.pem\n"
127+
rm -rf "${TMP_DIR}"
128+
exit 1
129+
fi
130+
rm -rf "${TMP_DIR}"
131+
101132
# Remove text info from intermediate certs, causes issues on Android (WRONG TAG)
102133
printf "Removing text info from intermediate certs\n"
103134
sed -i.bak -n '/-----BEGIN CERTIFICATE-----/,$p' ca-cert.pem
@@ -131,4 +162,3 @@ else
131162
fi
132163

133164
printf "\nFinished successfully\n"
134-

native/com_wolfssl_WolfSSL.c

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,58 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1dnQualifier
545545
return NID_dnQualifier;
546546
}
547547

548+
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1subject_1key_1identifier
549+
(JNIEnv* jenv, jclass jcl)
550+
{
551+
(void)jenv;
552+
(void)jcl;
553+
554+
#ifdef WOLFSSL_CERT_EXT
555+
return NID_subject_key_identifier;
556+
#else
557+
return 0;
558+
#endif
559+
}
560+
561+
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1authority_1key_1identifier
562+
(JNIEnv* jenv, jclass jcl)
563+
{
564+
(void)jenv;
565+
(void)jcl;
566+
567+
#ifdef WOLFSSL_CERT_EXT
568+
return NID_authority_key_identifier;
569+
#else
570+
return 0;
571+
#endif
572+
}
573+
574+
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1crl_1distribution_1points
575+
(JNIEnv* jenv, jclass jcl)
576+
{
577+
(void)jenv;
578+
(void)jcl;
579+
580+
#ifdef WOLFSSL_CERT_EXT
581+
return NID_crl_distribution_points;
582+
#else
583+
return 0;
584+
#endif
585+
}
586+
587+
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1netscape_1cert_1type
588+
(JNIEnv* jenv, jclass jcl)
589+
{
590+
(void)jenv;
591+
(void)jcl;
592+
593+
#ifndef IGNORE_NETSCAPE_CERT_TYPE
594+
return NID_netscape_cert_type;
595+
#else
596+
return 0;
597+
#endif
598+
}
599+
548600
/* functions to return BulkCipherAlgorithm enum values from ./wolfssl/ssl.h */
549601
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumNULL
550602
(JNIEnv* jenv, jclass jcl)

native/com_wolfssl_WolfSSL.h

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

0 commit comments

Comments
 (0)