@@ -75,7 +75,34 @@ del wolfssl
7575mklink /D wolfssl ..\..\..\..\..\..\..\src\java\com\wolfssl\
7676```
7777
78- ## 3. Push Certificate and KeyStore Files to Android Device
78+ ## 3. Convert JKS KeyStore Files to BKS for Android Use
79+
80+ Android does not support JKS format KeyStores. Several JUnit tests
81+ require BKS format KeyStore files which must be converted from the existing
82+ JKS files.
83+
84+ To convert, you will need to download a Bouncy Castle provider JAR from the
85+ [ Bouncy Castle website] ( https://www.bouncycastle.org/download/bouncy-castle-java/ ) .
86+ Then run the conversion script from the ` examples/certs ` directory:
87+
88+ ```
89+ cd examples/certs
90+ ./convert-to-bks.sh <path/to/bcprov.jar>
91+ ```
92+
93+ For example, when using ` bcprov-jdk18on-1.78.1.jar ` :
94+
95+ ```
96+ cd examples/certs
97+ ./convert-to-bks.sh ~/Downloads/bcprov-jdk18on-1.78.1.jar
98+ ```
99+
100+ This will create the following BKS files needed by the Android tests:
101+
102+ - ` ca-server-rsa-2048.bks `
103+ - ` ca-server-ecc-256.bks `
104+
105+ ## 4. Push Certificate and KeyStore Files to Android Device
79106
80107Several JUnit tests require access to certificate and KeyStore files. These
81108files are located in the ` examples/certs ` directory and must be pushed to
@@ -92,18 +119,20 @@ adb shell mkdir -p /data/local/tmp/examples/certs/crl
92119adb push ./examples/certs/ /data/local/tmp/examples/
93120```
94121
95- This will push all certificate files, KeyStore files (.jks, .wks, .p12),
96- and subdirectories (intermediate, rsapss, crl) needed by the JUnit tests.
122+ This will push all certificate files, KeyStore files (.jks, .wks, .bks,
123+ .p12), and subdirectories (intermediate, rsapss, crl) needed by the JUnit
124+ tests.
97125
98- If this step is skipped, tests in the following classes will be skipped due
99- to missing certificate files:
126+ If step 3 (BKS conversion) or this step is skipped, tests in the following
127+ classes will be skipped due to missing files:
100128
101- - ` WolfSSLKeyStoreTest `
129+ - ` WolfCryptPKIXCertPathBuilderTest `
102130- ` WolfCryptPKIXCertPathValidatorTest `
103131- ` WolfCryptPKIXRevocationCheckerTest `
132+ - ` WolfSSLKeyStoreTest `
104133- ` WolfSSLCertManagerOCSPTest `
105134
106- ## 4 . Import and Build the Example Project with Android Studio
135+ ## 5 . Import and Build the Example Project with Android Studio
107136
1081371 ) Open the Android Studio project by double clicking on the ` Android ` folder
109138in wolfcrypt-jni/IDE/. Or, from inside Android Studio, open the ` Android `
0 commit comments