У меня есть процесс создания файла, в котором мы создаем подпись с использованием класса RSAPKCS1Signature для подписи и проверки в C#. Теперь мы переходим на Java, мы используем тот же алгоритм, что и в C#, но он не проверяет тот же файл в java, который создан в C#. Я приложил образец кода, используя. Пожалуйста, предложите полную. Спасибо..!
C#:
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};
RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
RSAFormatter.SetHashAlgorithm("SHA1");
byte[] SignedHash = RSAFormatter.CreateSignature(Hash);
RSAPKCS1SignatureDeformatter RSADeformatter = new
RSAPKCS1SignatureDeformatter(RSA);
RSADeformatter.SetHashAlgorithm("SHA1");
Console.WriteLine(RSADeformatter.VerifySignature(Hash, SignedHash));
Ява:
KeyStore ex = KeyStore.getInstance("JKS");
ex.load("c://sample.jks", "password");
PrivateKey privateKey = (PrivateKey) ex.getKey("1", "password");
Signature signature = Signature.getInstance("SHA1WithRSA");
signature.initSign(privateKey);
String line = null;
while ((line = reader.readLine()) != null) {
signature.update(line.getBytes());
}
signature.sign();
@JamesKPolkI Я обновил фрагмент кода, он компилируется и запускается.




Ваша Java не завершена, на самом деле она даже не компилируется.