Exemplo de assinatura e verificação utilizando EdDsa.
package doxy.examples;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class SignVerifyDataEdDsa {
public static void main(String[] args) throws TacException {
Dinamo api = new Dinamo();
api.openSession("127.0.0.1", "master", "12345678", false);
String message = "teste teste teste";
byte messageBytes[] = message.getBytes();
String keyId = "ed22519";
api.createKey(keyId, TacNDJavaLib.ALG_ECX_ED25519);
int hasAlg = TacNDJavaLib.ALG_IDENTITY_FUNC;
byte[] signature = api.signHashedData(keyId, hasAlg, messageBytes);
api.verifySignature(keyId, hasAlg, signature, message.getBytes());
byte[] privateKeyHandle = api.getUserKey(keyId);
signature = api.signHashedData(privateKeyHandle, hasAlg, messageBytes, 0);
api.releaseKeyHandle(privateKeyHandle);
api.verifySignature(keyId, hasAlg, signature, message.getBytes());
api.deleteKey(keyId);
api.closeSession();
}
}