1 /*
2 * Copyright 2017 The Netty Project
3 *
4 * The Netty Project licenses this file to you under the Apache License,
5 * version 2.0 (the "License"); you may not use this file except in compliance
6 * with the License. You may obtain a copy of the License at:
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations
14 * under the License.
15 */
16
17 #include "tcn.h"
18 #include "ssl_private.h"
19
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslVerifyNone)20 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyNone)(TCN_STDARGS) {
21 return SSL_VERIFY_NONE;
22 }
23
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslVerifyPeer)24 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyPeer)(TCN_STDARGS) {
25 return SSL_VERIFY_PEER;
26 }
27
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslVerifyFailIfNoPeerCert)28 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyFailIfNoPeerCert)(TCN_STDARGS) {
29 return SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
30 }
31
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslVerifyClientOnce)32 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyClientOnce)(TCN_STDARGS) {
33 return SSL_VERIFY_CLIENT_ONCE;
34 }
35
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpCipherServerPreference)36 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpCipherServerPreference)(TCN_STDARGS) {
37 return SSL_OP_CIPHER_SERVER_PREFERENCE;
38 }
39
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoSSLv2)40 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoSSLv2)(TCN_STDARGS) {
41 return SSL_OP_NO_SSLv2;
42 }
43
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoSSLv3)44 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoSSLv3)(TCN_STDARGS) {
45 return SSL_OP_NO_SSLv3;
46 }
47
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoTLSv1)48 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv1)(TCN_STDARGS) {
49 return SSL_OP_NO_TLSv1;
50 }
51
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoTLSv11)52 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv11)(TCN_STDARGS) {
53 return SSL_OP_NO_TLSv1_1;
54 }
55
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoTLSv12)56 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv12)(TCN_STDARGS) {
57 return SSL_OP_NO_TLSv1_2;
58 }
59
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoTicket)60 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTicket)(TCN_STDARGS) {
61 return SSL_OP_NO_TICKET;
62 }
63
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslOpNoCompression)64 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoCompression)(TCN_STDARGS) {
65 return SSL_OP_NO_COMPRESSION;
66 }
67
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslSessCacheOff)68 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSessCacheOff)(TCN_STDARGS) {
69 return SSL_SESS_CACHE_OFF;
70 }
71
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslSessCacheServer)72 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSessCacheServer)(TCN_STDARGS) {
73 return SSL_SESS_CACHE_SERVER;
74 }
75
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslStConnect)76 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslStConnect)(TCN_STDARGS) {
77 return SSL_ST_CONNECT;
78 }
79
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslStAccept)80 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslStAccept)(TCN_STDARGS) {
81 return SSL_ST_ACCEPT;
82 }
83
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslModeEnablePartialWrite)84 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeEnablePartialWrite)(TCN_STDARGS) {
85 return SSL_MODE_ENABLE_PARTIAL_WRITE;
86 }
87
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslModeAcceptMovingWriteBuffer)88 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeAcceptMovingWriteBuffer)(TCN_STDARGS) {
89 return SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER;
90 }
91
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslModeReleaseBuffers)92 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeReleaseBuffers)(TCN_STDARGS) {
93 return SSL_MODE_RELEASE_BUFFERS;
94 }
95
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslSendShutdown)96 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSendShutdown)(TCN_STDARGS) {
97 return SSL_SENT_SHUTDOWN;
98 }
99
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslReceivedShutdown)100 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslReceivedShutdown)(TCN_STDARGS) {
101 return SSL_RECEIVED_SHUTDOWN;
102 }
103
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorNone)104 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorNone)(TCN_STDARGS) {
105 return SSL_ERROR_NONE;
106 }
107
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorSSL)108 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorSSL)(TCN_STDARGS) {
109 return SSL_ERROR_SSL;
110 }
111
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorWantRead)112 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantRead)(TCN_STDARGS) {
113 return SSL_ERROR_WANT_READ;
114 }
115
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorWantWrite)116 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantWrite)(TCN_STDARGS) {
117 return SSL_ERROR_WANT_WRITE;
118 }
119
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorWantX509Lookup)120 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantX509Lookup)(TCN_STDARGS) {
121 return SSL_ERROR_WANT_X509_LOOKUP;
122 }
123
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorSyscall)124 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorSyscall)(TCN_STDARGS) {
125 return SSL_ERROR_SYSCALL;
126 }
127
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorZeroReturn)128 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorZeroReturn)(TCN_STDARGS) {
129 return SSL_ERROR_ZERO_RETURN;
130 }
131
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorWantConnect)132 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantConnect)(TCN_STDARGS) {
133 return SSL_ERROR_WANT_CONNECT;
134 }
135
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,sslErrorWantAccept)136 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantAccept)(TCN_STDARGS) {
137 return SSL_ERROR_WANT_ACCEPT;
138 }
139
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509CheckFlagAlwaysCheckSubject)140 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagAlwaysCheckSubject)(TCN_STDARGS) {
141 #ifdef X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT
142 return X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT;
143 #else
144 return 0;
145 #endif
146 }
147
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509CheckFlagDisableWildCards)148 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagDisableWildCards)(TCN_STDARGS) {
149 #ifdef X509_CHECK_FLAG_NO_WILD_CARDS
150 return X509_CHECK_FLAG_NO_WILD_CARDS;
151 #else
152 return 0;
153 #endif
154 }
155
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509CheckFlagNoPartialWildCards)156 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagNoPartialWildCards)(TCN_STDARGS) {
157 #ifdef X509_CHECK_FLAG_NO_PARTIAL_WILD_CARDS
158 return X509_CHECK_FLAG_NO_PARTIAL_WILD_CARDS;
159 #else
160 return 0;
161 #endif
162 }
163
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509CheckFlagMultiLabelWildCards)164 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagMultiLabelWildCards)(TCN_STDARGS) {
165 #ifdef X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS
166 return X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS;
167 #else
168 return 0;
169 #endif
170 }
171
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vOK)172 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vOK)(TCN_STDARGS) {
173 return X509_V_OK;
174 }
175
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnspecified)176 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnspecified)(TCN_STDARGS) {
177 #ifdef X509_V_ERR_UNSPECIFIED
178 return X509_V_ERR_UNSPECIFIED;
179 #else
180 return TCN_X509_V_ERR_UNSPECIFIED;
181 #endif
182 }
183
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToGetIssuerCert)184 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetIssuerCert)(TCN_STDARGS) {
185 return X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT;
186 }
187
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToGetCrl)188 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetCrl)(TCN_STDARGS) {
189 return X509_V_ERR_UNABLE_TO_GET_CRL;
190 }
191
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToDecryptCertSignature)192 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecryptCertSignature)(TCN_STDARGS) {
193 return X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE;
194 }
195
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToDecryptCrlSignature)196 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecryptCrlSignature)(TCN_STDARGS) {
197 return X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE;
198 }
199
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToDecodeIssuerPublicKey)200 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecodeIssuerPublicKey)(TCN_STDARGS) {
201 return X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY;
202 }
203
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertSignatureFailure)204 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertSignatureFailure)(TCN_STDARGS) {
205 return X509_V_ERR_CERT_SIGNATURE_FAILURE;
206 }
207
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCrlSignatureFailure)208 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlSignatureFailure)(TCN_STDARGS) {
209 return X509_V_ERR_CRL_SIGNATURE_FAILURE;
210 }
211
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertNotYetValid)212 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertNotYetValid)(TCN_STDARGS) {
213 return X509_V_ERR_CERT_NOT_YET_VALID;
214 }
215
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertHasExpired)216 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertHasExpired)(TCN_STDARGS) {
217 return X509_V_ERR_CERT_HAS_EXPIRED;
218 }
219
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCrlNotYetValid)220 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlNotYetValid)(TCN_STDARGS) {
221 return X509_V_ERR_CRL_NOT_YET_VALID;
222 }
223
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCrlHasExpired)224 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlHasExpired)(TCN_STDARGS) {
225 return X509_V_ERR_CRL_HAS_EXPIRED;
226 }
227
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrErrorInCertNotBeforeField)228 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCertNotBeforeField)(TCN_STDARGS) {
229 return X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD;
230 }
231
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrErrorInCertNotAfterField)232 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCertNotAfterField)(TCN_STDARGS) {
233 return X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD;
234 }
235
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrErrorInCrlLastUpdateField)236 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCrlLastUpdateField)(TCN_STDARGS) {
237 return X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD;
238 }
239
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrErrorInCrlNextUpdateField)240 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCrlNextUpdateField)(TCN_STDARGS) {
241 return X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD;
242 }
243
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrOutOfMem)244 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrOutOfMem)(TCN_STDARGS) {
245 return X509_V_ERR_OUT_OF_MEM;
246 }
247
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrDepthZeroSelfSignedCert)248 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDepthZeroSelfSignedCert)(TCN_STDARGS) {
249 return X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT;
250 }
251
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSelfSignedCertInChain)252 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSelfSignedCertInChain)(TCN_STDARGS) {
253 return X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN;
254 }
255
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToGetIssuerCertLocally)256 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetIssuerCertLocally)(TCN_STDARGS) {
257 return X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY;
258 }
259
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToVerifyLeafSignature)260 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToVerifyLeafSignature)(TCN_STDARGS) {
261 return X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE;
262 }
263
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertChainTooLong)264 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertChainTooLong)(TCN_STDARGS) {
265 return X509_V_ERR_CERT_CHAIN_TOO_LONG;
266 }
267
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertRevoked)268 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertRevoked)(TCN_STDARGS) {
269 return X509_V_ERR_CERT_REVOKED;
270 }
271
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrInvalidCa)272 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidCa)(TCN_STDARGS) {
273 return X509_V_ERR_INVALID_CA;
274 }
275
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrPathLengthExceeded)276 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPathLengthExceeded)(TCN_STDARGS) {
277 return X509_V_ERR_PATH_LENGTH_EXCEEDED;
278 }
279
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrInvalidPurpose)280 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidPurpose)(TCN_STDARGS) {
281 return X509_V_ERR_INVALID_PURPOSE;
282 }
283
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertUntrusted)284 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertUntrusted)(TCN_STDARGS) {
285 return X509_V_ERR_CERT_UNTRUSTED;
286 }
287
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCertRejected)288 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertRejected)(TCN_STDARGS) {
289 return X509_V_ERR_CERT_REJECTED;
290 }
291
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSubjectIssuerMismatch)292 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSubjectIssuerMismatch)(TCN_STDARGS) {
293 return X509_V_ERR_SUBJECT_ISSUER_MISMATCH;
294 }
295
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrAkidSkidMismatch)296 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrAkidSkidMismatch)(TCN_STDARGS) {
297 return X509_V_ERR_AKID_SKID_MISMATCH;
298 }
299
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrAkidIssuerSerialMismatch)300 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrAkidIssuerSerialMismatch)(TCN_STDARGS) {
301 return X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH;
302 }
303
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrKeyUsageNoCertSign)304 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoCertSign)(TCN_STDARGS) {
305 return X509_V_ERR_KEYUSAGE_NO_CERTSIGN;
306 }
307
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnableToGetCrlIssuer)308 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetCrlIssuer)(TCN_STDARGS) {
309 return X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER;
310 }
311
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnhandledCriticalExtension)312 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnhandledCriticalExtension)(TCN_STDARGS) {
313 return X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION;
314 }
315
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrKeyUsageNoCrlSign)316 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoCrlSign)(TCN_STDARGS) {
317 return X509_V_ERR_KEYUSAGE_NO_CRL_SIGN;
318 }
319
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnhandledCriticalCrlExtension)320 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnhandledCriticalCrlExtension)(TCN_STDARGS) {
321 return X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION;
322 }
323
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrInvalidNonCa)324 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidNonCa)(TCN_STDARGS) {
325 return X509_V_ERR_INVALID_NON_CA;
326 }
327
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrProxyPathLengthExceeded)328 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrProxyPathLengthExceeded)(TCN_STDARGS) {
329 return X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED;
330 }
331
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrKeyUsageNoDigitalSignature)332 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoDigitalSignature)(TCN_STDARGS) {
333 return X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE;
334 }
335
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrProxyCertificatesNotAllowed)336 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrProxyCertificatesNotAllowed)(TCN_STDARGS) {
337 return X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED;
338 }
339
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrInvalidExtension)340 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidExtension)(TCN_STDARGS) {
341 return X509_V_ERR_INVALID_EXTENSION;
342 }
343
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrInvalidPolicyExtension)344 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidPolicyExtension)(TCN_STDARGS) {
345 return X509_V_ERR_INVALID_POLICY_EXTENSION;
346 }
347
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrNoExplicitPolicy)348 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrNoExplicitPolicy)(TCN_STDARGS) {
349 return X509_V_ERR_NO_EXPLICIT_POLICY;
350 }
351
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrDifferntCrlScope)352 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDifferntCrlScope)(TCN_STDARGS) {
353 return X509_V_ERR_DIFFERENT_CRL_SCOPE;
354 }
355
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnsupportedExtensionFeature)356 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedExtensionFeature)(TCN_STDARGS) {
357 return X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE;
358 }
359
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnnestedResource)360 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnnestedResource)(TCN_STDARGS) {
361 return X509_V_ERR_UNNESTED_RESOURCE;
362 }
363
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrPermittedViolation)364 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPermittedViolation)(TCN_STDARGS) {
365 return X509_V_ERR_PERMITTED_VIOLATION;
366 }
367
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrExcludedViolation)368 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrExcludedViolation)(TCN_STDARGS) {
369 return X509_V_ERR_EXCLUDED_VIOLATION;
370 }
371
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSubtreeMinMax)372 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSubtreeMinMax)(TCN_STDARGS) {
373 return X509_V_ERR_SUBTREE_MINMAX;
374 }
375
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrApplicationVerification)376 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrApplicationVerification)(TCN_STDARGS) {
377 return X509_V_ERR_APPLICATION_VERIFICATION;
378 }
379
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnsupportedConstraintType)380 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedConstraintType)(TCN_STDARGS) {
381 return X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE;
382 }
383
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnsupportedConstraintSyntax)384 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedConstraintSyntax)(TCN_STDARGS) {
385 return X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX;
386 }
387
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrUnsupportedNameSyntax)388 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedNameSyntax)(TCN_STDARGS) {
389 return X509_V_ERR_UNSUPPORTED_NAME_SYNTAX;
390 }
391
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrCrlPathValidationError)392 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlPathValidationError)(TCN_STDARGS) {
393 return X509_V_ERR_CRL_PATH_VALIDATION_ERROR;
394 }
395
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrPathLoop)396 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPathLoop)(TCN_STDARGS) {
397 #ifdef X509_V_ERR_PATH_LOOP
398 return X509_V_ERR_PATH_LOOP;
399 #else
400 return TCN_X509_V_ERR_UNSPECIFIED;
401 #endif
402 }
403
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSuiteBInvalidVersion)404 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidVersion)(TCN_STDARGS) {
405 #ifdef X509_V_ERR_SUITE_B_INVALID_VERSION
406 return X509_V_ERR_SUITE_B_INVALID_VERSION;
407 #else
408 return TCN_X509_V_ERR_UNSPECIFIED;
409 #endif
410 }
411
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSuiteBInvalidAlgorithm)412 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidAlgorithm)(TCN_STDARGS) {
413 #ifdef X509_V_ERR_SUITE_B_INVALID_ALGORITHM
414 return X509_V_ERR_SUITE_B_INVALID_ALGORITHM;
415 #else
416 return TCN_X509_V_ERR_UNSPECIFIED;
417 #endif
418 }
419
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSuiteBInvalidCurve)420 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidCurve)(TCN_STDARGS) {
421 #ifdef X509_V_ERR_SUITE_B_INVALID_CURVE
422 return X509_V_ERR_SUITE_B_INVALID_CURVE;
423 #else
424 return TCN_X509_V_ERR_UNSPECIFIED;
425 #endif
426 }
427
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSuiteBInvalidSignatureAlgorithm)428 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidSignatureAlgorithm)(TCN_STDARGS) {
429 #ifdef X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM
430 return X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM;
431 #else
432 return TCN_X509_V_ERR_UNSPECIFIED;
433 #endif
434 }
435
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSuiteBLosNotAllowed)436 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBLosNotAllowed)(TCN_STDARGS) {
437 #ifdef X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED
438 return X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED;
439 #else
440 return TCN_X509_V_ERR_UNSPECIFIED;
441 #endif
442 }
443
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrSuiteBCannotSignP384WithP256)444 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBCannotSignP384WithP256)(TCN_STDARGS) {
445 #ifdef X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256
446 return X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256;
447 #else
448 return TCN_X509_V_ERR_UNSPECIFIED;
449 #endif
450 }
451
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrHostnameMismatch)452 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrHostnameMismatch)(TCN_STDARGS) {
453 #ifdef X509_V_ERR_HOSTNAME_MISMATCH
454 return X509_V_ERR_HOSTNAME_MISMATCH;
455 #else
456 return TCN_X509_V_ERR_UNSPECIFIED;
457 #endif
458 }
459
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrEmailMismatch)460 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrEmailMismatch)(TCN_STDARGS) {
461 #ifdef X509_V_ERR_EMAIL_MISMATCH
462 return X509_V_ERR_EMAIL_MISMATCH;
463 #else
464 return TCN_X509_V_ERR_UNSPECIFIED;
465 #endif
466 }
467
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrIpAddressMismatch)468 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrIpAddressMismatch)(TCN_STDARGS) {
469 #ifdef X509_V_ERR_IP_ADDRESS_MISMATCH
470 return X509_V_ERR_IP_ADDRESS_MISMATCH;
471 #else
472 return TCN_X509_V_ERR_UNSPECIFIED;
473 #endif
474 }
475
TCN_IMPLEMENT_CALL(jint,NativeStaticallyReferencedJniMethods,x509vErrDaneNoMatch)476 TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDaneNoMatch)(TCN_STDARGS) {
477 #ifdef X509_V_ERR_DANE_NO_MATCH
478 return X509_V_ERR_DANE_NO_MATCH;
479 #else
480 return TCN_X509_V_ERR_UNSPECIFIED;
481 #endif
482 }
483