_ 4.1.3 Signering/verifiering asymmetriska algoritmer och certifikat I den här uppgiften så ska vi, precis som i uppgiften [4.1.2 Signering/verifiering med asymmetriska algoritmer och nyckelpar, 05_ass/ip1/4.1.2.txt], signera och verifiera en godtycklig fil. Denna gång ska vi delvis använda de verktyg för säkerhet som finns i JDK och resten ska vi ska programmera utifrån de API:er som finns i JDK. __ Uppgift Skapa först ett nyckelpar med verktyget keytool. Detta nyckelpar lagras då i en keystore. Skapa sedan följande 2 fristående program som vid kommando-prompten startas med: - §java SignHandler § som signerar filen §§ med (den privata) nyckeln som finns i §§ under namnet §§, sparar ett certifikat (innehållande den publika nyckeln) i filen §§ och sparar signaturen i filen §§ (sändaren kan sedan skicka filerna §§, §§ och §§ till mottagaren för verifiering) - §java VerifyHandler § som kontrollerar om certifikatet (med den publika nyckeln) i filen §§ och signaturen i filen §§ verifierar filen §§ Testa verifieringen både med en oförändrad och en förändrad datafil. Allt utom konstruktionen av nyckelparet ska göras utan användning av de verktyg för säkerhet som ingår i JDK. Algoritmerna som ska användas är samma som för uppgiften [4.1.2 Signering/verifiering med asymmetriska algoritmer och nyckelpar, 05_ass/ip1/4.1.2.txt]. __ Exempel Ett enkelt exempel kan köras enligt följande: = Hämta filen: §[SignHandler.class, 05_ass/ip1/4/4.1.3/SignHandler.class]§ = Hämta filen: §[keystore, 05_ass/ip1/4/4.1.3/keystore]§ = Hämta filen: §[data, 05_ass/ip1/4/4.1.3/data]§ = Kör programmet och signera: §java SignHandler keystore abcdef pierre fedcba data § = Hämta filen: §[VerifyHandler.class, 05_ass/ip1/4/4.1.3/VerifyHandler.class]§ = Kör programmet och verifiera: §java VerifyHandler data § __ Tips Se tips för uppgiften [4.1.2 Signering/verifiering med asymmetriska algoritmer och nyckelpar, 05_ass/ip1/4.1.2.txt]. Se även under rubriken "Generating and Verifying Signatures" [Oracle: The Java Tutorial: Trail: Security Features in Java SE, https://docs.oracle.com/javase/tutorial/security/index.html]. __ Hjälp ~ 05_ass/help/01.txt > [Klicka här för hjälp, helper.dsv@gmail.com, Prog Internet: 4.1.3 Signering/verifiering asymmetriska algoritmer och certifikat: http://people.dsv.su.se/~pierre/i/i.cgi?href=05_ass/ip1/4.1.3.txt] ½===system_tutoring_message===½ < ~ 05_ass/help/02.txt