Page:
Building BorderCastle
No results
3
Building BorderCastle
Leon Poyyayil edited this page 2025-10-25 08:07:45 +02:00
Table of Contents
Build Instructions for BorderCastle
- Clone this repository into a local work directory, called
IC_HOMEin the following steps, and make it the current directory. - Download the full distribution from the BouncyCastle GitHub release page, e.g.
bc-java-r1v81.zip. - Unpack the downloaded archive and rename the created folder to
crypto:
IC_HOME$ unzip bc-java-r1v81.zip
IC_HOME$ mv bc-java-r1v81 crypto
IC_HOME$ chmod -R u+w crypto/*
- This should result in a directory structure similar to the following:
IC_HOME$ ls -Al
total 296260
drwx------ 0 lep lep 0 2015-06-21 08:34:29 bin/
drwx------ 0 lep lep 0 2016-12-10 20:26:29 bordercastle/
drwx------ 0 lep lep 0 2016-12-10 20:02:26 bouncycastle/
drwx------ 0 lep lep 0 2017-01-25 17:40:00 crypto/
-rw------- 0 lep lep 53387945 2025-06-17 12:43:17 bc-java-r1v81.zip
drwx------ 0 lep lep 0 2013-08-08 13:40:42 doc/
drwx------ 0 lep lep 0 2015-06-21 08:34:28 maven/
IC_HOME$
- Execute the script to convert the project structure to maven:
IC_HOME$ bin/bouncycastle-to-maven-layout.sh
- Execute the script to perform the package renaming and other replacements:
IC_HOME$ bin/bouncycastle-to-bordercastle.sh
- Apply the patch for the chosen version to add the BorderCastle specific additions and changes:
IC_HOME$ patch -p1 < bouncycastle/crypto-1.81.patch
- Compile the libraries with Maven (assuming a version compatible with Maven 3.0.5):
IC_HOME$ mvn clean install
- If all went well, you'll find the built libraries in the target folder in each of the maven project folders, e.g.:
IC_HOME$ find -name "*.jar"
./ic-light/target/ic-light-1.81.jar
./ic-mail/target/ic-mail-1.81.jar
./ic-pg/target/ic-pg-1.81.jar
./ic-pkix/target/ic-pkix-1.81.jar
./ic-prov/target/ic-prov-1.81.jar
./ic-test/target/ic-test-1.81.jar
./ic-tls/target/ic-tls-1.81.jar
./ic-util/target/ic-util-1.81.jar
IC_HOME$