diff --git a/IDE/WIN/README.md b/IDE/WIN/README.md index 6f3ba2f5..33997b6a 100644 --- a/IDE/WIN/README.md +++ b/IDE/WIN/README.md @@ -391,4 +391,37 @@ ant test-win32-release-fips ant test-win64-debug-fips ant test-win64-release-fips ``` +# Running Examples + +Windows batch scripts have been included to easily run some of the provided +examples from the Windows command line. + +After the above steps have been followed to compile native wolfSSL and +wolfSSL JNI/JSSE, open a Command Prompt and navigate to the wolfSSL JNI/JSSE +directory root (ie: wolfssljni). + +Compile the examples: + +``` +ant examples +``` + +Edit the Windows configuration batch script to set the appropriate paths +for native wolfSSL and wolfSSL JNI DLL locations. This can change between +build types (ex: normal wolfSSL, FIPS 140-2, etc): + +**Edit examples\WindowsConfig.bat** + +From the root wolfssljni directory, run the desired .bat file. For example, +to run the ProviderTest: + +``` +examples\provider\ProviderTest.bat +``` + +Or to run the X509v3 certificate generation example: + +``` +examples\X509v3CertificateGeneration.bat +``` diff --git a/examples/WindowsConfig.bat b/examples/WindowsConfig.bat new file mode 100644 index 00000000..a093e2a3 --- /dev/null +++ b/examples/WindowsConfig.bat @@ -0,0 +1,42 @@ + +:: ----------------------------------------------------------------------------- +:: Build Configuration +:: ----------------------------------------------------------------------------- + +:: Set below directories containing native wolfSSL DLL and wolfSSL JNI DLL +:: Default pathing expects wolfssl and wolfssljni dirs to be side by side +:: May uncomment / comment lines below that match your build. This file is +:: included by other example .bat files. + +:: wolfSSL Normal non-FIPS (DLL Debug x64) +SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Debug\x64 +SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Debug\x64 + +:: wolfSSL Normal non-FIPS (DLL Release x64) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Release\x64 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Release\x64 + +:: wolfSSL Normal non-FIPS (DLL Debug Win32) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Debug\Win32 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Debug\Win32 + +:: wolfSSL Normal non-FIPS (DLL Release Win32) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Release\Win32 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Release\Win32 + +:: wolfSSL FIPS 140-2 #3389 Build (DLL Debug x64) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Debug\x64 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Debug FIPS\x64 + +:: wolfSSL FIPS 140-2 #3389 Build (DLL Release x64) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Release\x64 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Release FIPS\x64 + +:: wolfSSL FIPS 140-2 #3389 Build (DLL Debug Win32) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Debug\Win32 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Debug FIPS\Win32 + +:: wolfSSL FIPS 140-2 #3389 Build (DLL Release Win32) +:: SET WOLFSSL_DLL_DIR=..\..\..\wolfssl\IDE\WIN10\DLL Release\Win32 +:: SET WOLFSSLJNI_DLL_DIR=..\..\IDE\WIN\DLL Release FIPS\Win32 + diff --git a/examples/X509v3CertificateGeneration.bat b/examples/X509v3CertificateGeneration.bat new file mode 100644 index 00000000..c2f59ee2 --- /dev/null +++ b/examples/X509v3CertificateGeneration.bat @@ -0,0 +1,14 @@ + +cd %~dp0\build >NUL 2>NUL +SETLOCAL + +:: Populate correct config for build +call ..\WindowsConfig.bat + +:: Set PATH to include DLL for native wolfSSL and wolfSSL JNI (native library) +SET PATH="%WOLFSSLJNI_DLL_DIR%;%WOLFSSL_DLL_DIR%";%PATH% + +java -cp ".;..\..\lib\wolfssl.jar;..\..\lib\wolfssl-jsse.jar" -Djava.library.path="%WOLFSSLJNI_DLL_DIR%;%WOLFSSL_DLL_DIR%" X509v3CertificateGeneration + +ENDLOCAL +cd %~dp0\.. diff --git a/examples/provider/ProviderTest.bat b/examples/provider/ProviderTest.bat new file mode 100644 index 00000000..b6dfd9d8 --- /dev/null +++ b/examples/provider/ProviderTest.bat @@ -0,0 +1,14 @@ + +cd %~dp0\..\build >NUL 2>NUL +SETLOCAL + +:: Populate correct config for build +call ..\WindowsConfig.bat + +:: Set PATH to include DLL for native wolfSSL and wolfSSL JNI (native library) +SET PATH="%WOLFSSLJNI_DLL_DIR%;%WOLFSSL_DLL_DIR%";%PATH% + +java -cp ".;..\..\lib\wolfssl.jar;..\..\lib\wolfssl-jsse.jar" -Djava.library.path="%WOLFSSLJNI_DLL_DIR%;%WOLFSSL_DLL_DIR%" ProviderTest + +ENDLOCAL +cd %~dp0\..\..