Jag började med att skapa en keystore med kommandot: keytool -genkey -keystore .\mykey -alias adam -keypass jabberwock Som jag förstod det hela skapar detta ett keypair med både publik och privat nyckel. Rent intuitivt känns det skummt att de skulle vara i samma fil... Jag signerade min jarfil med kommadot: jarsigner -keystore file:/e:/mykey -storepass jabberwock -keypass jabberwock Inl8_1_signed.jar adam Jag exproterade ett certifikat från keystorefilen med kommandot: keytool -export -alias adam -file mycert.cer -keystore mykey Jag importerade sedan certifikatet till en ny keyrorefil med följande kommando: keytool -import -alias adam -file mycert.cer -keystore somestore Jag specificerade keystorefil i en ny policyfil 'certPolicy' genom att välja edit keystore. Jag signerade filen med adam, och gav permission för socket. Filen ser nu ut såhär: keystore "http://www.dsv.su.se/~karl-kar/ip/ip1/ip8.2.1/somestore", "JKS"; grant signedBy "adam" { permission java.net.SocketPermission "*", "accept, connect, listen, resolve"; }; Jag lade upp det hela till mitt konto. För att först försäkra mig om att key fungerade som den skulle testade jag att köra med mypolicy (som använder orginalkey filen): appletviewer -J-Djava.security.policy=http://www.dsv.su.se/~karl-kar/ip/ip1/ip8.2.1/mypolicy http://www.dsv.su.se/~karl-kar/ip/ip1/ip8.2.1/URLApplet.html Testade att det fungerade där genom att ändra i URLApplet.html filen mellan Inl8_1_signed.jar och Inl8_1_unsigned.jar Resultatet var att signed fungerade medan unsigned gav ett socket exception. Vilket jag tolkade som att det var okej. Jag kontrollerade sedan min nya policy certPolicy på samma sätt: appletviewer -J-Djava.security.policy=http://www.dsv.su.se/~karl-kar/ip/ip1/ip8.2.1/certPolicy http://www.dsv.su.se/~karl-kar/ip/ip1/ip8.2.1/URLApplet.html Detta fungerade. Jag ändrade i html filen för att testa att köra med den ickesignerade jarfilen, och fick socket exception. Jag tolkar detta som det fungerar som det skall.