From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/VerifySignature.java | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/VerifySignature.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/VerifySignature.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/VerifySignature.java b/Master/Reference Architectures and Patterns/hjp5/examples/VerifySignature.java new file mode 100644 index 0000000..c3597bc --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/VerifySignature.java @@ -0,0 +1,49 @@ +/* VerifySignature.java */ + +import java.io.*; +import java.security.cert.Certificate; +import java.security.*; + +public class VerifySignature +{ + static final String KEYSTORE = "c:\\windows\\.keystore"; + static final char[] KSPASS = {'h','j','p','3','k','s'}; + static final String ALIAS = "hjp3"; + + public static void main(String[] args) + { + try { + //Laden der Schlüsseldatenbank + KeyStore ks = KeyStore.getInstance("JKS"); + FileInputStream ksin = new FileInputStream(KEYSTORE); + ks.load(ksin, KSPASS); + ksin.close(); + //Zertifikat "hjp3" lesen + Certificate cert = ks.getCertificate(ALIAS); + //Signature-Objekt erstellen + Signature signature = Signature.getInstance("SHA/DSA"); + signature.initVerify(cert.getPublicKey()); + //Eingabedatei lesen + FileInputStream in = new FileInputStream(args[0]); + int len; + byte[] data = new byte[1024]; + while ((len = in.read(data)) > 0) { + //Signatur updaten + signature.update(data, 0, len); + } + in.close(); + //Signaturdatei einlesen + in = new FileInputStream(args[1]); + len = in.read(data); + in.close(); + byte[] sign = new byte[len]; + System.arraycopy(data, 0, sign, 0, len); + //Signatur ausgeben + boolean result = signature.verify(sign); + System.out.println("verification result: " + result); + } catch (Exception e) { + System.err.println(e.toString()); + System.exit(1); + } + } +} \ No newline at end of file -- cgit v1.2.3