package sheet02.a2; 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("signature.txt"), Base64.getEncoder().encode(signature)); Files.write(Path.of("sign-key.pub"), Base64.getEncoder().encode(kp.getPublic().getEncoded())); Files.write(Path.of("sign-key"), Base64.getEncoder().encode(kp.getPrivate().getEncoded())); } }