Android: update example app CMakeLists.txt for wolfSSL FIPS Ready compatibility
parent
4b00da2c7b
commit
ff26562bdb
|
@ -1,4 +1,3 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="DesignSurface">
|
<component name="DesignSurface">
|
||||||
<option name="filePathToZoomLevelMap">
|
<option name="filePathToZoomLevelMap">
|
||||||
|
|
|
@ -40,6 +40,8 @@ $ mv wolfssl-X.X.X wolfssljni/IDE/Android/app/src/main/cpp/wolfssl
|
||||||
```
|
```
|
||||||
$ cd /IDE/Android/app/src/main/cpp/
|
$ cd /IDE/Android/app/src/main/cpp/
|
||||||
$ git clone https://github.com/wolfssl/wolfssl
|
$ git clone https://github.com/wolfssl/wolfssl
|
||||||
|
$ cd wolfssl
|
||||||
|
$ ./autogen.sh
|
||||||
$ cp wolfssl/options.h.in wolfssl/options.h
|
$ cp wolfssl/options.h.in wolfssl/options.h
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -125,44 +125,64 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Add preprocessor defines to CFLAGS, these match those placed into
|
# Add preprocessor defines to CFLAGS, these match those placed into
|
||||||
# wolfssl/options.h by configure if using: "./configure" on a Unix/Linux
|
# wolfssl/options.h by configure if using the following configure on a Unix/Linux
|
||||||
# platform. The options below have been chosen to match a FIPS Ready build,
|
# platform with a wolfSSL FIPS Ready GPLv3 bundle:
|
||||||
# and are based on the example user_settings.h file located here:
|
#
|
||||||
# https://github.com/wolfSSL/wolfssl/blob/master/examples/configs/user_settings_fipsv5.h
|
# ./configure --enable-fips=ready --enable-jni
|
||||||
|
#
|
||||||
# This list may be configurable depending on use case and desired
|
# This list may be configurable depending on use case and desired
|
||||||
# optimizations, being careful not to break FIPS compatibility if targeting
|
# optimizations, being careful not to break FIPS compatibility if targeting
|
||||||
# FIPS proper in the future.
|
# FIPS proper in the future. Please contact support@wolfssl.com for assistance
|
||||||
add_definitions(-DHAVE_FIPS -DHAVE_FIPS_VERSION=5 -DHAVE_FIPS_VERSION_MINOR=3
|
# properly compiling for use with wolfCrypt FIPS variants.
|
||||||
-DHAVE_HASHDRBG -DHAVE_THREAD_LS -DHAVE_REPRODUCIBLE_BUILD
|
add_definitions(
|
||||||
-DFP_MAX_BITS=16384 -DSP_INT_BITS=8192 -DWOLFSSL_PUBLIC_MP
|
-DWOLFSSL_FIPS_READY -DHAVE_FIPS -DHAVE_FIPS_VERSION=7
|
||||||
-DTFM_TIMING_RESISTANT -DECC_TIMING_RESISTANT -DWC_RSA_BLINDING
|
-DHAVE_FIPS_VERSION_MAJOR=7 -DHAVE_FIPS_VERSION_MINOR=0
|
||||||
-DWC_RNG_SEED_CB -DWOLFSSL_VALIDATE_ECC_IMPORT -DWOLFSSL_VALIDATE_ECC_KEYGEN
|
-DHAVE_FIPS_VERSION_PATCH=0 -DWC_RNG_SEED_CB -DHAVE_THREAD_LS
|
||||||
-DWOLFSSL_VALIDATE_FFC_IMPORT
|
|
||||||
-DWOLFSSL_TLS13 -DHAVE_TLS_EXTENSIONS -DHAVE_ENCRYPT_THEN_MAC
|
-DWOLFSSL_WOLFSSH -DNO_DO178 -DHAVE_REPRODUCIBLE_BUILD -DWC_NO_ASYNC_THREADING
|
||||||
-DHAVE_SUPPORTED_CURVES -DHAVE_EXTENDED_MASTER -DHAVE_ONE_TIME_AUTH
|
-DNO_OLD_TLS -DWOLFSSL_TLS13 -DHAVE_TLS_EXTENSIONS -DHAVE_SNI
|
||||||
-DHAVE_SECURE_RENEGOTIATION -DHAVE_SERVER_RENEGOTIATION_INFO -DHAVE_SESSION_TICKET
|
-DHAVE_KEYING_MATERIAL -DHAVE_TLS_EXTENSIONS -DHAVE_SUPPORTED_CURVES
|
||||||
-DWOLFSSL_USE_ALIGN -DWOLFSSL_BASE64_ENCODE -DHAVE_CRL
|
-DHAVE_EXTENDED_MASTER -DHAVE_ENCRYPT_THEN_MAC -DWOLFSSL_JNI -DHAVE_EX_DATA
|
||||||
-DHAVE_EXT_CACHE -DWOLFSSL_VERIFY_CB_ALL_CERTS -DWOLFSSL_ALWAYS_VERIFY_CB
|
-DKEEP_PEER_CERT -DWOLFSSL_ALWAYS_VERIFY_CB -DWOLFSSL_DTLS -DOPENSSL_EXTRA
|
||||||
-DWOLFSSL_DH_EXTRA -DWOLFSSL_WOLFSSH -DOPENSSL_EXTRA -DOPENSSL_ALL
|
-DOPENSSL_ALL -DWOLFSSL_ERROR_CODE_OPENSSL -DHAVE_CRL -DHAVE_CRL_MONITOR
|
||||||
-DHAVE_FFDHE_Q -DHAVE_FFDHE_2048 -DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096
|
-DHAVE_OCSP -DPERSIST_SESSION_CACHE -DPERSIST_CERT_CACHE -DATOMIC_USER
|
||||||
-DHAVE_FFDHE_6144 -DHAVE_FFDHE_8192 -DHAVE_DH_DEFAULT_PARAMS -DHAVE_PUBLIC_FFDHE
|
-DWOLFSSL_CERT_EXT -DWOLFSSL_CERT_GEN -DWOLFSSL_CERT_REQ -DWOLFSSL_KEY_GEN
|
||||||
-DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR -DHAVE_ECC_CDH -DECC_USER_CURVES
|
-DHAVE_ALPN -DWOLFSSL_ALT_CERT_CHAINS -DSESSION_CERTS -DWOLFSSL_ENCRYPTED_KEYS
|
||||||
-DHAVE_ECC256 -DHAVE_ECC384 -DHAVE_ECC521 -DWOLFSSL_ECDSA_SET_K
|
-DWOLFSSL_SYS_CA_CERTS -DWOLFSSL_ALT_NAMES -DWOLFSSL_EITHER_SIDE
|
||||||
-DWC_RSA_PSS -DWOLFSSL_KEY_GEN -DWC_RSA_NO_PADDING
|
-DWOLFSSL_TICKET_HAVE_ID -DWOLFSSL_CERT_NAME_ALL
|
||||||
-DWOLFSSL_AES_COUNTER -DHAVE_AESCCM -DHAVE_AES_ECB -DWOLFSSL_AES_DIRECT
|
-DHAVE_SERVER_RENEGOTIATION_INFO -DWOLFSSL_ASN_TEMPLATE -DWOLFSSL_ASN_PRINT
|
||||||
-DWOLFSSL_AES_OFB -DHAVE_AESGCM -DGCM_TABLE_4BIT -DWOLFSSL_CMAC
|
-DWOLFSSL_BASE64_ENCODE -DERROR_QUEUE_PER_THREAD -DNO_ERROR_QUEUE
|
||||||
-DWOLFSSL_SHA224 -DWOLFSSL_SHA512 -DWOLFSSL_SHA384 -DWOLFSSL_NO_SHAKE256
|
-DTFM_TIMING_RESISTANT -DECC_TIMING_RESISTANT -DWOLFSSL_USE_ALIGN
|
||||||
-DWOLFSSL_NOSHA512_224 -DWOLFSSL_NOSHA512_256 -DWOLFSSL_SHA3 -DHAVE_HKDF
|
-DWOLFSSL_PUBLIC_MP
|
||||||
-DNO_OLD_TLS -DNO_PSK -DNO_DO178
|
|
||||||
-DNO_RC4 -DNO_MD4 -DNO_MD5 -DNO_DES3 -DNO_DSA -DNO_RABBIT
|
-DWC_RSA_BLINDING -DWC_RSA_PSS -DWOLFSSL_PSS_LONG_SALT -DWC_RSA_NO_PADDING
|
||||||
|
|
||||||
|
-DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR -DECC_MIN_KEY_SZ=192 -DHAVE_ECC_CDH
|
||||||
|
-DECC_USER_CURVES -DHAVE_ECC192 -DHAVE_ECC224 -DHAVE_ECC256 -DHAVE_ECC384
|
||||||
|
-DHAVE_ECC521 -DWOLFSSL_ECDSA_SET_K -DWOLFSSL_VALIDATE_ECC_IMPORT
|
||||||
|
-DWOLFSSL_VALIDATE_ECC_KEYGEN
|
||||||
|
|
||||||
|
-DWOLFSSL_VALIDATE_FFC_IMPORT -DHAVE_FFDHE_Q -DHAVE_FFDHE_2048
|
||||||
|
-DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096 -DHAVE_FFDHE_6144 -DHAVE_FFDHE_8192
|
||||||
|
-DHAVE_DH_DEFAULT_PARAMS
|
||||||
|
|
||||||
|
-DHAVE_HKDF -DHAVE_PBKDF2 -DHAVE_HASHDRBG -DWC_SRTP_KDF -DWOLFSSL_SRTP
|
||||||
|
|
||||||
|
-DHAVE_AESGCM -DGCM_TABLE_4BIT -DWOLFSSL_AESGCM_STREAM -DHAVE_AESCCM
|
||||||
|
-DWOLFSSL_AES_COUNTER -DWOLFSSL_CMAC -DWOLFSSL_AES_OFB -DWOLFSSL_AES_CFB
|
||||||
|
-DWOLFSSL_AES_XTS -DWOLFSSL_AESXTS_STREAM -DWOLFSSL_AES_DIRECT
|
||||||
|
-DHAVE_AES_ECB -DHAVE_AES_KEYWRAP -DWOLFSSL_AES_XTS -DHAVE_AES_KEYWRAP
|
||||||
|
|
||||||
|
-DHAVE_ED25519 -DHAVE_ED25519_KEY_IMPORT -DHAVE_ED448 -DHAVE_ED448_KEY_IMPORT
|
||||||
|
-DWOLFSSL_ED448_STREAMING_VERIFY
|
||||||
|
|
||||||
|
-DHAVE_CURVE25519 -DHAVE_CURVE448
|
||||||
|
|
||||||
|
-DWOLFSSL_SHA224 -DWOLFSSL_SHA384 -DWOLFSSL_SHA512 -DWOLFSSL_NOSHA512_224
|
||||||
|
-DWOLFSSL_NOSHA512_256 -DWOLFSSL_SHA3 -DWOLFSSL_SHAKE128 -DWOLFSSL_SHAKE256
|
||||||
|
|
||||||
|
-DNO_DSA -DNO_RC4 -DNO_MD4 -DNO_DES3 -DNO_DES3_TLS_SUITES
|
||||||
|
|
||||||
-DWOLFSSL_JNI -DHAVE_EX_DATA -DHAVE_OCSP -DHAVE_CRL_MONITOR
|
|
||||||
-DWOLFSSL_CERT_EXT -DWOLFSSL_CERT_GEN -DWOLFSSL_CERT_REQ
|
|
||||||
-DHAVE_SNI -DHAVE_ALPN -DWOLFSSL_ENCRYPTED_KEYS -DNO_ERROR_QUEUE
|
|
||||||
-DWOLFSSL_EITHER_SIDE -DWOLFSSL_PSS_LONG_SALT
|
|
||||||
-DWOLFSSL_TICKET_HAVE_ID -DWOLFSSL_ERROR_CODE_OPENSSL
|
|
||||||
-DWOLFSSL_EXTRA_ALERTS -DWOLFSSL_FORCE_CACHE_ON_TICKET
|
|
||||||
-DWOLFSSL_AKID_NAME -DHAVE_CTS -DKEEP_PEER_CERT -DSESSION_CERTS
|
|
||||||
-DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWOLFSSL_CUSTOM_CONFIG
|
-DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWOLFSSL_CUSTOM_CONFIG
|
||||||
|
|
||||||
# For gethostbyname()
|
# For gethostbyname()
|
||||||
|
@ -191,7 +211,8 @@ elseif("${WOLFSSL_MATH_LIB}" MATCHES "spmath")
|
||||||
-DWOLFSSL_HAVE_SP_RSA -DWOLFSSL_SP_4096
|
-DWOLFSSL_HAVE_SP_RSA -DWOLFSSL_SP_4096
|
||||||
-DWOLFSSL_HAVE_SP_DH
|
-DWOLFSSL_HAVE_SP_DH
|
||||||
-DWOLFSSL_HAVE_SP_ECC -DWOLFSSL_SP_384 -DWOLFSSL_SP_521
|
-DWOLFSSL_HAVE_SP_ECC -DWOLFSSL_SP_384 -DWOLFSSL_SP_521
|
||||||
-DWOLFSSL_SP_LARGE_CODE)
|
-DWOLFSSL_SP_LARGE_CODE
|
||||||
|
-DFP_MAX_BITS=16384 -DSP_INT_BITS=8192)
|
||||||
|
|
||||||
# SP Math architecture-specific settings (ex: assembly optimizations)
|
# SP Math architecture-specific settings (ex: assembly optimizations)
|
||||||
if("${ANDROID_ABI}" MATCHES "arm64-v8a")
|
if("${ANDROID_ABI}" MATCHES "arm64-v8a")
|
||||||
|
@ -203,8 +224,7 @@ elseif("${WOLFSSL_MATH_LIB}" MATCHES "spmath")
|
||||||
# Not using ASM, need to use WOLFSSL_SP_MATH_ALL for SW-only implementation
|
# Not using ASM, need to use WOLFSSL_SP_MATH_ALL for SW-only implementation
|
||||||
add_definitions(-DWOLFSSL_SP_MATH_ALL)
|
add_definitions(-DWOLFSSL_SP_MATH_ALL)
|
||||||
elseif("${ANDROID_ABI}" MATCHES "x86_64")
|
elseif("${ANDROID_ABI}" MATCHES "x86_64")
|
||||||
# Using ASM for SP, need to use WOLFSSL_SP_MATH instead of WOLFSSL_SP_MATH_ALL
|
add_definitions(-DWOLFSSL_SP_MATH_ALL)
|
||||||
add_definitions(-DWOLFSSL_SP_MATH)
|
|
||||||
add_definitions(-DWOLFSSL_SP_ASM -DWOLFSSL_SP_X86_64 -DWOLFSSL_SP_X86_64_ASM -DHAVE___UINT128_T)
|
add_definitions(-DWOLFSSL_SP_ASM -DWOLFSSL_SP_X86_64 -DWOLFSSL_SP_X86_64_ASM -DHAVE___UINT128_T)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sp_x86_64_asm.S)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sp_x86_64_asm.S)
|
||||||
elseif("${ANDROID_ABI}" MATCHES "x86")
|
elseif("${ANDROID_ABI}" MATCHES "x86")
|
||||||
|
@ -245,16 +265,21 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wolfcrypt_first.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wolfcrypt_first.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/hmac.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/hmac.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/random.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/random.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha256.c)
|
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/kdf.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/kdf.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/rsa.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/rsa.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ecc.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ecc.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/aes.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/aes.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha256.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha512.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha512.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha3.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/sha3.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/dh.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/dh.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/cmac.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/cmac.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/curve448.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ed448.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/curve25519.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ed25519.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pwdbased.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fips.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fips.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fips_test.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fips_test.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wolfcrypt_last.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wolfcrypt_last.c)
|
||||||
|
@ -278,9 +303,18 @@ elseif("${WOLFSSL_PKG_TYPE}" MATCHES "fipsready")
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/memory.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/memory.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/asn.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/asn.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/coding.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/coding.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/md5.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pwdbased.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pwdbased.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pkcs12.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/pkcs12.c)
|
||||||
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/tfm.c)
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/tfm.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_lms.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_lms_impl.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_xmss.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/wc_xmss_impl.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fe_operations.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ge_operations.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/fe_448.c)
|
||||||
|
list(APPEND CRYPTO_SOURCES ${wolfssl_DIR}/wolfcrypt/src/ge_448.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# wolfSSL will be compiled as a SHARED library
|
# wolfSSL will be compiled as a SHARED library
|
||||||
|
|
|
@ -52,6 +52,22 @@ public class MainActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private void setDisplayText(String s)
|
||||||
|
{
|
||||||
|
runOnUiThread(() -> {
|
||||||
|
TextView tv = (TextView) findViewById(R.id.sample_text);
|
||||||
|
tv.setText(s);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendDisplayText(String s)
|
||||||
|
{
|
||||||
|
runOnUiThread(() -> {
|
||||||
|
TextView tv = (TextView) findViewById(R.id.sample_text);
|
||||||
|
tv.append(s);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
@ -60,8 +76,7 @@ public class MainActivity extends AppCompatActivity {
|
||||||
Button button = (Button) findViewById(R.id.button);
|
Button button = (Button) findViewById(R.id.button);
|
||||||
button.setOnClickListener(buttonListener);
|
button.setOnClickListener(buttonListener);
|
||||||
|
|
||||||
TextView tv = (TextView) findViewById(R.id.sample_text);
|
setDisplayText("wolfSSL JNI Android Studio Example App\n");
|
||||||
tv.setText("wolfSSL JNI Android Studio Example App");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testFindProvider(TextView tv)
|
public void testFindProvider(TextView tv)
|
||||||
|
@ -71,15 +86,18 @@ public class MainActivity extends AppCompatActivity {
|
||||||
WolfSSL.loadLibrary();
|
WolfSSL.loadLibrary();
|
||||||
|
|
||||||
/* create new SSLEngine */
|
/* create new SSLEngine */
|
||||||
Security.addProvider(new WolfSSLProvider());
|
Security.insertProviderAt(new WolfSSLProvider(), 1);
|
||||||
|
|
||||||
Provider p = Security.getProvider("wolfJSSE");
|
Provider p = Security.getProvider("wolfJSSE");
|
||||||
if (p == null) {
|
if (p == null) {
|
||||||
System.out.println("Unable to find wolfJSSE provider");
|
appendDisplayText("Unable to find wolfJSSE provider\n");
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
appendDisplayText("Successfully found wolfJSSE provider\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
appendDisplayText("\n");
|
||||||
|
appendDisplayText("For more detailed example, see:\n");
|
||||||
|
appendDisplayText("github.com/wolfssl/wolfssl-examples\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue