| /* |
| * Copyright 2017 The Netty Project |
| * |
| * The Netty Project licenses this file to you under the Apache License, |
| * version 2.0 (the "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| #include "tcn.h" |
| #include "ssl_private.h" |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyNone)(TCN_STDARGS) { |
| return SSL_VERIFY_NONE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyPeer)(TCN_STDARGS) { |
| return SSL_VERIFY_PEER; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyFailIfNoPeerCert)(TCN_STDARGS) { |
| return SSL_VERIFY_FAIL_IF_NO_PEER_CERT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyClientOnce)(TCN_STDARGS) { |
| return SSL_VERIFY_CLIENT_ONCE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpCipherServerPreference)(TCN_STDARGS) { |
| return SSL_OP_CIPHER_SERVER_PREFERENCE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoSSLv2)(TCN_STDARGS) { |
| return SSL_OP_NO_SSLv2; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoSSLv3)(TCN_STDARGS) { |
| return SSL_OP_NO_SSLv3; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv1)(TCN_STDARGS) { |
| return SSL_OP_NO_TLSv1; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv11)(TCN_STDARGS) { |
| return SSL_OP_NO_TLSv1_1; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv12)(TCN_STDARGS) { |
| return SSL_OP_NO_TLSv1_2; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTicket)(TCN_STDARGS) { |
| return SSL_OP_NO_TICKET; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoCompression)(TCN_STDARGS) { |
| return SSL_OP_NO_COMPRESSION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSessCacheOff)(TCN_STDARGS) { |
| return SSL_SESS_CACHE_OFF; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSessCacheServer)(TCN_STDARGS) { |
| return SSL_SESS_CACHE_SERVER; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslStConnect)(TCN_STDARGS) { |
| return SSL_ST_CONNECT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslStAccept)(TCN_STDARGS) { |
| return SSL_ST_ACCEPT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeEnablePartialWrite)(TCN_STDARGS) { |
| return SSL_MODE_ENABLE_PARTIAL_WRITE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeAcceptMovingWriteBuffer)(TCN_STDARGS) { |
| return SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeReleaseBuffers)(TCN_STDARGS) { |
| return SSL_MODE_RELEASE_BUFFERS; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSendShutdown)(TCN_STDARGS) { |
| return SSL_SENT_SHUTDOWN; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslReceivedShutdown)(TCN_STDARGS) { |
| return SSL_RECEIVED_SHUTDOWN; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorNone)(TCN_STDARGS) { |
| return SSL_ERROR_NONE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorSSL)(TCN_STDARGS) { |
| return SSL_ERROR_SSL; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantRead)(TCN_STDARGS) { |
| return SSL_ERROR_WANT_READ; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantWrite)(TCN_STDARGS) { |
| return SSL_ERROR_WANT_WRITE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantX509Lookup)(TCN_STDARGS) { |
| return SSL_ERROR_WANT_X509_LOOKUP; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorSyscall)(TCN_STDARGS) { |
| return SSL_ERROR_SYSCALL; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorZeroReturn)(TCN_STDARGS) { |
| return SSL_ERROR_ZERO_RETURN; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantConnect)(TCN_STDARGS) { |
| return SSL_ERROR_WANT_CONNECT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantAccept)(TCN_STDARGS) { |
| return SSL_ERROR_WANT_ACCEPT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagAlwaysCheckSubject)(TCN_STDARGS) { |
| #ifdef X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT |
| return X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT; |
| #else |
| return 0; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagDisableWildCards)(TCN_STDARGS) { |
| #ifdef X509_CHECK_FLAG_NO_WILD_CARDS |
| return X509_CHECK_FLAG_NO_WILD_CARDS; |
| #else |
| return 0; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagNoPartialWildCards)(TCN_STDARGS) { |
| #ifdef X509_CHECK_FLAG_NO_PARTIAL_WILD_CARDS |
| return X509_CHECK_FLAG_NO_PARTIAL_WILD_CARDS; |
| #else |
| return 0; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagMultiLabelWildCards)(TCN_STDARGS) { |
| #ifdef X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS |
| return X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS; |
| #else |
| return 0; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vOK)(TCN_STDARGS) { |
| return X509_V_OK; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnspecified)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_UNSPECIFIED |
| return X509_V_ERR_UNSPECIFIED; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetIssuerCert)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetCrl)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_GET_CRL; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecryptCertSignature)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecryptCrlSignature)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecodeIssuerPublicKey)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertSignatureFailure)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_SIGNATURE_FAILURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlSignatureFailure)(TCN_STDARGS) { |
| return X509_V_ERR_CRL_SIGNATURE_FAILURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertNotYetValid)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_NOT_YET_VALID; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertHasExpired)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_HAS_EXPIRED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlNotYetValid)(TCN_STDARGS) { |
| return X509_V_ERR_CRL_NOT_YET_VALID; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlHasExpired)(TCN_STDARGS) { |
| return X509_V_ERR_CRL_HAS_EXPIRED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCertNotBeforeField)(TCN_STDARGS) { |
| return X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCertNotAfterField)(TCN_STDARGS) { |
| return X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCrlLastUpdateField)(TCN_STDARGS) { |
| return X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCrlNextUpdateField)(TCN_STDARGS) { |
| return X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrOutOfMem)(TCN_STDARGS) { |
| return X509_V_ERR_OUT_OF_MEM; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDepthZeroSelfSignedCert)(TCN_STDARGS) { |
| return X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSelfSignedCertInChain)(TCN_STDARGS) { |
| return X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetIssuerCertLocally)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToVerifyLeafSignature)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertChainTooLong)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_CHAIN_TOO_LONG; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertRevoked)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_REVOKED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidCa)(TCN_STDARGS) { |
| return X509_V_ERR_INVALID_CA; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPathLengthExceeded)(TCN_STDARGS) { |
| return X509_V_ERR_PATH_LENGTH_EXCEEDED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidPurpose)(TCN_STDARGS) { |
| return X509_V_ERR_INVALID_PURPOSE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertUntrusted)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_UNTRUSTED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertRejected)(TCN_STDARGS) { |
| return X509_V_ERR_CERT_REJECTED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSubjectIssuerMismatch)(TCN_STDARGS) { |
| return X509_V_ERR_SUBJECT_ISSUER_MISMATCH; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrAkidSkidMismatch)(TCN_STDARGS) { |
| return X509_V_ERR_AKID_SKID_MISMATCH; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrAkidIssuerSerialMismatch)(TCN_STDARGS) { |
| return X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoCertSign)(TCN_STDARGS) { |
| return X509_V_ERR_KEYUSAGE_NO_CERTSIGN; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetCrlIssuer)(TCN_STDARGS) { |
| return X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnhandledCriticalExtension)(TCN_STDARGS) { |
| return X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoCrlSign)(TCN_STDARGS) { |
| return X509_V_ERR_KEYUSAGE_NO_CRL_SIGN; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnhandledCriticalCrlExtension)(TCN_STDARGS) { |
| return X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidNonCa)(TCN_STDARGS) { |
| return X509_V_ERR_INVALID_NON_CA; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrProxyPathLengthExceeded)(TCN_STDARGS) { |
| return X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoDigitalSignature)(TCN_STDARGS) { |
| return X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrProxyCertificatesNotAllowed)(TCN_STDARGS) { |
| return X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidExtension)(TCN_STDARGS) { |
| return X509_V_ERR_INVALID_EXTENSION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidPolicyExtension)(TCN_STDARGS) { |
| return X509_V_ERR_INVALID_POLICY_EXTENSION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrNoExplicitPolicy)(TCN_STDARGS) { |
| return X509_V_ERR_NO_EXPLICIT_POLICY; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDifferntCrlScope)(TCN_STDARGS) { |
| return X509_V_ERR_DIFFERENT_CRL_SCOPE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedExtensionFeature)(TCN_STDARGS) { |
| return X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnnestedResource)(TCN_STDARGS) { |
| return X509_V_ERR_UNNESTED_RESOURCE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPermittedViolation)(TCN_STDARGS) { |
| return X509_V_ERR_PERMITTED_VIOLATION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrExcludedViolation)(TCN_STDARGS) { |
| return X509_V_ERR_EXCLUDED_VIOLATION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSubtreeMinMax)(TCN_STDARGS) { |
| return X509_V_ERR_SUBTREE_MINMAX; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrApplicationVerification)(TCN_STDARGS) { |
| return X509_V_ERR_APPLICATION_VERIFICATION; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedConstraintType)(TCN_STDARGS) { |
| return X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedConstraintSyntax)(TCN_STDARGS) { |
| return X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedNameSyntax)(TCN_STDARGS) { |
| return X509_V_ERR_UNSUPPORTED_NAME_SYNTAX; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlPathValidationError)(TCN_STDARGS) { |
| return X509_V_ERR_CRL_PATH_VALIDATION_ERROR; |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPathLoop)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_PATH_LOOP |
| return X509_V_ERR_PATH_LOOP; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidVersion)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_SUITE_B_INVALID_VERSION |
| return X509_V_ERR_SUITE_B_INVALID_VERSION; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidAlgorithm)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_SUITE_B_INVALID_ALGORITHM |
| return X509_V_ERR_SUITE_B_INVALID_ALGORITHM; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidCurve)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_SUITE_B_INVALID_CURVE |
| return X509_V_ERR_SUITE_B_INVALID_CURVE; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidSignatureAlgorithm)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM |
| return X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBLosNotAllowed)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED |
| return X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBCannotSignP384WithP256)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 |
| return X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrHostnameMismatch)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_HOSTNAME_MISMATCH |
| return X509_V_ERR_HOSTNAME_MISMATCH; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrEmailMismatch)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_EMAIL_MISMATCH |
| return X509_V_ERR_EMAIL_MISMATCH; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrIpAddressMismatch)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_IP_ADDRESS_MISMATCH |
| return X509_V_ERR_IP_ADDRESS_MISMATCH; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |
| |
| TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDaneNoMatch)(TCN_STDARGS) { |
| #ifdef X509_V_ERR_DANE_NO_MATCH |
| return X509_V_ERR_DANE_NO_MATCH; |
| #else |
| return TCN_X509_V_ERR_UNSPECIFIED; |
| #endif |
| } |