Мне нужно сверить мои данные с данными в цифровой подписи, как я могу сравнить их. В этом коде проверьте подпись, которая расшифровывается открытым ключом и оригинальной подписью.
- генерация открытого ключа, частного ключа и подписи.
- прочтите мои данные.
- хэшировать этот код.
- читать подпись.
сравнить подпись и мои данные. // У меня проблема на этом этапе. Я хочу сравнить мои данные и подпись.
public static void verify () { BufferedReader in = new BufferedReader(new FileReader("EndSignatuer.txt")); FileInputStream keyfis = new FileInputStream("EndSignatuer.txt"); byte[] Signen = new byte[keyfis.available()]; keyfis.read(Signen); keyfis.close(); String signatureString = new String(Signde); System.out.println("SignatureString:" + signatureString); len = Signde.length; X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey); KeyFactory keyFactory = KeyFactory.getInstance("DSA", "SUN"); PublicKey pubKey = keyFactory.generatePublic(pubKeySpec); Signature sig = Signature.getInstance("SHA1withDSA", "SUN"); sig.initVerify(pubKey);
}
Мне нужно:
public static void verify (byte[] mydata) {
........
sig.initVerify(mydata);
}