// Die Signatur Signature signature = Signature.getInstance( "SHA256WITHRSA"); // Lade des privaten Schlüssels und Zertifikats char[] keystorePasswort = new char[] {'n', 'o', 'M', 'o', 'r', 'e', 'S', 'e', 'c', 'r', 'e', 't', 's'}; FileInputStream fis = new FileInputStream("../rincewind.keystore"); KeyStore keystore = KeyStore.getInstance("JKS") ; keystore.load(fis, keystorePasswort); KeyStore.PrivateKeyEntry entry = (KeyStore.PrivateKeyEntry) keystore.getEntry("rincewind", new KeyStore.PasswordProtection(keystorePasswort)); PrivateKey privateKey = entry.getPrivateKey(); signature.initSign(privateKey ); // Der Inhalt String klartext = "Die Botschaft"; // Signature berechnen signature.update( klartext.getBytes()); byte[] sig = signature.sign(); String sigB64 = new String(Base64.encodeBase64(sig)); System.out.println( "Signatur " + sigB64); // Signatur prüfen Certificate cert = entry.getCertificate(); signature.initVerify( cert); signature.update(klartext.getBytes()); System.out.println("Wert unverändert " + signature.verify(sig));