import java.io.*; import java.security.*; public class SingHandler{ // public static void main(String args[]) { try { FileInputStream fis = new FileInputStream(args[0]); FileOutputStream fos = new FileOutputStream(args[6]); KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); ks.load(fis, args[1].toCharArray()); fis.close(); PrivateKey pk = (PrivateKey)ks.getKey(args[2], args[3].toCharArray()); Signature sign = Signature.getInstance("SHA1withDSA"); sign.initSign(pk); fis = new FileInputStream(args[4]); byte b[] = new byte[8]; int i = fis.read(b); while (i != -1){ sign.update(b, 0, i); i = fis.read(b); } ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(sign.sign()); oos.close(); fos.close(); fis.close(); fos = new FileOutputStream(args[5]); oos = new ObjectOutputStream(fos); java.security.cert.Certificate cer = ks.getCertificate(args[2]); oos.writeObject(cer); oos.close(); fos.close(); } catch (Exception e) { e.printStackTrace( ); } } }