BLACKPIQ / POST-QUANTUM IPsec

Post-quantum IPsec.
Locked to the port.

Protect industrial Ethernet with a post-quantum IPsec tunnel using optional hybrid ML-KEM key establishment, plus physical locking at the controller.
Hybrid ML-KEM / Encrypted IPsec / Port locking
*Optional hybrid ML-KEM-768/1024 in Standard Mode. Both endpoints must support and enable the selected profile.
The supplied BlackPiQ product photo shows the device physically secured to the controller. A highlighted post-quantum IPsec tunnel connects a compatible control-center gateway to BlackPiQ, with optional hybrid ML-KEM and classical key establishment.
The supplied BlackPiQ product photo shows the device physically secured to the controller. A highlighted post-quantum IPsec tunnel connects a compatible control-center gateway to BlackPiQ, with optional hybrid ML-KEM and classical key establishment.
BLACKEDGE / SECURE REMOTE CONSOLE ACCESS

Remote access.
Physical control.

Connect authorized operators to critical RS232 consoles with SSH or HTTPS, strong authentication and physical port security.
SSH & HTTPS / MFA & AAA / Tamper alerts
Simplified BlackEdge diagram: remote operator connects by SSH or HTTPS over Ethernet to BlackEdge, physically locked to a router or switch RS232 console. Optional TACACS+ or RADIUS AAA is a separate side connection.
Simplified BlackEdge diagram: remote operator connects by SSH or HTTPS over Ethernet to BlackEdge, physically locked to a router or switch RS232 console. Optional TACACS+ or RADIUS AAA is a separate side connection.
BLACKVAULT HSMs / HARDWARE KEY PROTECTION

Protect the keys.
Keep control.

Generate, safeguard and manage cryptographic keys in protected hardware for enterprise applications and critical infrastructure.
Key generation / Tamper response / Access control
BlackVault HSM touchscreen model with inserted smart card, shown as the example for the BlackVault HSM family.
BLACKVAULT TOUCHSCREEN
HSM / HSM.TAC / HSM.RAS
BLACKSER AES / SERIAL DATA ENCRYPTION

Encrypt serial data.
Protect operations.

Add AES-256 protection to existing RS232 communications serving RTUs, PLCs, meters and protective relays.
RS232 / Modbus · DNP · IEC101 / Inline encryption
BlackSER AES inline RS232 serial data encryptor, front view.
AES-256
SERIAL DATA PROTECTION
RS232
EXISTING SERIAL ASSETS
INDUSTRIAL CONTROL SYSTEM PROTECTION

Critical control.
Post-quantum IPsec.

Protect PLCs, RTUs and IEDs with an optional hybrid post-quantum IPsec tunnel, physically locked to the industrial controller by BlackPiQ.
Hybrid ML-KEM / PLCs · RTUs · IEDs / Port locking
*Optional hybrid ML-KEM-768/1024 in Standard Mode. Both endpoints must support and enable the selected profile.
The supplied BlackPiQ and controller photo with a highlighted post-quantum IPsec tunnel terminating at BlackPiQ and physical protection at the controller Ethernet port. Hybrid ML-KEM key establishment is optional and requires a compatible configuration at both endpoints.
previous arrowprevious arrow
next arrownext arrow
PlayPause
Slider

Android Studio
 

The BlackVault HSM's integration with Android Studio enables code developers to performs code builds that are signed each time a build is successful.  The integration involves a straight forward modification of the build.gradle file.  

The following lines are added at the end of the build.gradle file:

task sign(type: Exec) {
executable "jarsigner"
args "=keystore", "NONE", "-storetype", "PKCS11", "-storepass", "2222",\
"home/user/ANdroidStudioProjects/SampleApplication/app/build/outputs/apk/app-release-unsigned.apk",\
"SampleKey"
}

Prior to being able to execute the "jarsigner” command the BlackVault HSM needs to be setup and the build machine's JAVA environment needs to be installed and configured.  

Refer to the BlackVault HSM User Guide Setup Section for the step by step details. To recieve a copy of the User Guide click the User Guide Inquiry tab up at the top of the page
 
The following is an overview of what is required to set up an Eclipse environment to be integrated with the BlackVault HSM.

  • The BlackVault HSM initialization is accomplished via a menu driven Touch Screen interface
    • Crypto Officer Smart Card(s) M of N
    • User Smart Card(s) M of N
    • Time and Date
    • Ethernet
      • IP Address and Mask
      • Gateway
      • TLS Port
         
  • Build Machine JAVA Environment (Engage Install Script Configures the JAVA Environment)
    • Pkcs.dat in the project folder contains the BlackVault HSM:
      • IP address
      • TLS Port 
      • TLS certificate path – Linux only.  Default location is /etc/ssl/certs.
    • BlackVault PKCS#11 library (libbv.so)
    • Set the JAVA_HOME environmental variable
      • JAVA_HOME = "/usr/lib/jvm=java-8-oracle/jre"
    • JAVA Security File /usr/lib/jvm/java-8-oracle/jre/lib/security
      • Append the following to the list of security providers:
           security.provider.10=sun.security.pkcs11.SunPKCS11 nss.cfg
    • BlackVault nss.cfg file
      • Installed in $JAVA_HOME/lib/security
      • nss.cfg file has: “library =path to the libbv.so
         
  • Generation of the Code Signing Keys Pairs (Exampe of RSA 2048; Note: Elliptical Keys supported)
    • Key Generation with Java keytool 
      • keytool -genkeypair -keystore NONE -storepass 2222 -storetype PKCS11 -alias “YOUR_KEY_NAME_HERE” -keyalg “RSA” -keysize “2048” -dsname “CN=Bob Joe, OU=Development, O=Engage Black L=Aptos, S=California, C=US”
         
  • Verification of BlackVault HSM initialization and Build Machine's Java environment (note: requires your.jar file on Desktop)
    • signjar jar="/home/user/Desktop/your.jar" alias="YOUR_KEY_NAME_HERE" keystore ="NONE" storetype="PKCS11" storepass="2222"

 

Android Studio Integration

  1. Create a project in Android Studio by selecting File > New > Project. Once the project has been created, ensure that a copy of updated pkcs.dat and nss.cfg files are in the project folder.
     
  2. Click the Project tab if not already selected.
     


 

  1. Select the drop-down menu and click Project.

 

 

  1. Select the project, and then double-click build.gradle.

 

 

  1. Create a signing task in the project folder using the following lines:

task sign(type: Exec) {
executable "jarsigner"
args "=keystore", "NONE", "-storetype", "PKCS11", "-storepass", "2222",\
"home/user/ANdroidStudioProjects/SampleApplication/app/build/outputs/apk/app-release-unsigned.apk",\
"SampleKey"
}
 


 

  1. From the Tool Bar, click “app”, and then select Edit Configurations.

 


 

  1. Select the plus sign and click Gradle.
     

 

  1. Name the new gradle, and select the “...” by Gradle Project.
     


 

  1. Double-click build.gradle.
     


 

  1. Type “assembleRelease sign” in Tasks. When completed, the gradle configurations should look like this:
     


 

  1. Click Apply and Okay. Then run the program to sign the APK.
     
  2. Verify that the signing happened correctly. From a command prompt window, enter:

    jarsigner -verify -verbose -certs <jarfilename>.jar
     
    1. if it is successful it will give the certificates used in signing the jar. It will also at the end state:
      “jar verified”
       
    2. If it is unsuccessful the command will output:
      “jar is unsigned. (signatures missing or not parsable)”

 


Engage logo 990000 rev 2.000
9565 Soquel Drive Dr,
Aptos, CA 95003
 
Telephone: +1-831-688-1021
Toll Free : +1-877-ENGAGE4
​Designed, Fabricated, and Assembled
in America icon
Supported Worldwide

© 1989-2025 Engage Communication, Inc. All Rights Reserved.