feat(sheet2): task 2 solution

This commit is contained in:
Julian
2026-04-29 13:28:34 +02:00
parent 3b9e9034ba
commit 76d4003957
4 changed files with 49 additions and 2 deletions

View File

@@ -1,5 +1,28 @@
package sheet02.a2;
import java.security.KeyFactory;
import java.security.Signature;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
public class VerifyECDSA {
public static void main(String[] args) throws Exception {
if (args.length < 3) {
System.out.println(
"Please specify in the following order: Public Key (X509), Signature (Base64), Message (plain text)");
return;
}
final String PUBLIC_KEY = args[0];
final String SIGNATURE = args[1];
final String MESSAGE = args[2];
final var kf = KeyFactory.getInstance("EC");
final var pub = kf.generatePublic(new X509EncodedKeySpec(Base64.getDecoder().decode(PUBLIC_KEY)));
final var sig = Signature.getInstance("SHA256withECDSA");
sig.initVerify(pub);
sig.update(MESSAGE.getBytes());
System.out.println("Correct: " + sig.verify(Base64.getDecoder().decode(SIGNATURE)));
}
}