Java SDK for Minisign
May 8, 2026 ยท View on GitHub
Minisign is a dead simple tool to sign files and verify signatures. It is portable, lightweight, and uses the highly secure Ed25519 public-key signature system.
Java SDK for Minisign
MinisignService: Minisign Service interfaceMinisignServiceImpl: Minisign Service implementationMinisignPublicKey: Minisign Public Key with parsingMinisignSecretKey: Minisign Secret Key with parsing
Note: Java 17 or later is required for native EdDSA support.
Get Started
Add the dependency to the pom.xml file:
<dependency>
<groupId>org.mvnsearch</groupId>
<artifactId>minisign-java</artifactId>
<version>0.2.1</version>
</dependency>
Create MinisignService instance and use it to sign or verify:
MinisignService service = new MinisignServiceImpl();
// get secret key from base64
final MinisignSecretKey secretKey = MinisignSecretKey.fromBase64("xxx");
// get public key from base64
final MinisignPublicKey publicKey = MinisignPublicKey.fromBase64("xxx");
// signature data
byte[] data = "hello world!".getBytes();
MinisignSignature sig = service.sign(data, keyPair.getSecretKey());
// base64(<signature_algorithm> || <key_id> || <signature>)
final String signatureBase64 = sig.toSignatureBase64();
// verify signature
boolean result = service.verify(data, signatureBase64, publicKey);
Compare to Command Line
| Command | API | |
|---|---|---|
| create key pair | minisign -G | MinisignService.generateKeyPair(), MinisignService.saveKeyPair() |
| Signing a file | minisign -Sm myfile.txt | MiniSignService.sign(data/file, secretKey) |
| verify a fil | minisign -Vm myfile.txt | MiniSignService.verify(data/file, signature, publicKey) |
- Load private key:
MinisignSecretKey.fromBase64()orMinisignSecretKey.fromFileContent() - Load public key:
MinisignPublicKey.fromBase64()orMinisignPublicKey.fromFileContent() - Load global key pair:
MinisignService.loadKeyPair()
Attention: password of the secret key is not supported now, please use minisign -C -W to clear the password.