import java.security.*; import java.security.spec.X509EncodedKeySpec; public class Turva1{ public static void main(String argumendid[]) throws Exception{ String teade="Juku tuli kooli"; byte[] teatebaidid=teade.getBytes(); KeyPairGenerator votmepaarilooja=KeyPairGenerator.getInstance("DSA"); votmepaarilooja.initialize(512); //jagamisja"a"k KeyPair votmepaar=votmepaarilooja.generateKeyPair(); Signature allkirjalooja=Signature.getInstance("SHA1withDSA"); allkirjalooja.initSign(votmepaar.getPrivate()); allkirjalooja.update(teatebaidid); byte[] allkiri=allkirjalooja.sign(); byte[] avalikuvotmebaidid=votmepaar.getPublic().getEncoded(); //--- Teate kontrollimine X509EncodedKeySpec avavotmekirjeldus = new X509EncodedKeySpec(avalikuvotmebaidid); KeyFactory votmekoostaja=KeyFactory.getInstance("DSA"); PublicKey avavoti2=votmekoostaja.generatePublic(avavotmekirjeldus); Signature sig=Signature.getInstance("SHA1withDSA"); sig.initVerify(avavoti2); sig.update(teatebaidid); if(sig.verify(allkiri)){ System.out.println("Teade '"+new String(teatebaidid)+ "' saabus sobiva allkirjaga."); } else { System.out.println("Sobimatu allkiri."); } } }