Files
it-sec-exercises/sheet02/a2/SignECDSA.java
2026-05-01 01:31:17 +02:00

24 lines
938 B
Java

import java.nio.file.Files;
import java.nio.file.Path;
import java.security.KeyPairGenerator;
import java.security.Signature;
import java.util.Base64;
public class SignECDSA {
public static void main(String[] args) throws Exception {
final var gen = KeyPairGenerator.getInstance("EC");
final var kp = gen.genKeyPair();
final var bytes = Files.readAllBytes(Path.of("plaintext.txt"));
final var sig = Signature.getInstance("SHA256withECDSA");
sig.initVerify(kp.getPublic());
sig.initSign(kp.getPrivate());
sig.update(bytes);
final var signature = sig.sign();
Files.write(Path.of("b-signature.txt"), Base64.getEncoder().encode(signature));
Files.write(Path.of("b-publickey.txt"), Base64.getEncoder().encode(kp.getPublic().getEncoded()));
Files.write(Path.of("b-privatekey.txt"), Base64.getEncoder().encode(kp.getPrivate().getEncoded()));
}
}