What can i use equivalent to RSAPKCS1SignatureDeformatter in java?

535 Views Asked by At

I have file creation process in which we create a signature using RSAPKCS1Signature class for signing & validating in c#. Now we are moving to Java, we are using the same algorithm used in c# but it's not validating the same file in java which is created in c#. I have attached the sample code using. Please suggest need full. Thanks..!

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));

Java:

        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();
0

There are 0 best solutions below