Skip to content

Environment

WhiteHorseKPI edited this page Jul 24, 2025 · 3 revisions

Environment for library development

Requirements

  • Java 8
    • It was decided to use Java 8 to maintain backward compatibility
  • Python 3.10

Build environment variables

  • JAVA_HOME - [string] points to the file system location where the JDK or JRE was installed

Environment for library usage

Requirements

  • Java 8+
  • JCA cryptographic service provider implementation that supports the following algorithms:
    • RSA
    • EC
    • ECDH
    • SHA256
    • AES-CMAC
    • AES-ECB
    • AES-CBC
    • X.509

If a default crypto provider from your JDK doesn't support needed algorithms, an external provider implementation can be used. Here is an example of the Bouncy Castle provider usage in the Gradle project:

dependencies {
  ...
  implementation 'org.bouncycastle:bcpkix-jdk15to18:1.78.1'
}
import org.bouncycastle.jce.provider.BouncyCastleProvider;
...
final SecurityDomainSession session = new SecurityDomainSession(connection, new BouncyCastleProvider());

Dependencies

  • Simple Logging Facade for Java (SLF4J)

Note that logging implementation should be also added as a dependency to avoid the "logger not set" warnings.

SLF4J include example using 'slf4j-simple' (other slf4j loggers are also acceptable):

dependencies {
    ...
    implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.29'
    implementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.16'
}

Clone this wiki locally