I'm trying to sign/verify data between a C application and a Java application.
In java for now I was using the built-in JCE provider with
SHA256withRSA as algorithm. On the C part I'm using OpenSSL
RSA_verify methods with
NID_sha256 as type.
With this configuration I can't verify in my java application data signed from the C one and vice versa. It seems that
SHA256withRSA is using PKCS#1 v1.5 and openssl state that they use PKCS# 2.0 as padding (source).
This is why I think that the problem could come from this padding difference, but I can't find any JCE provider that support the v2.0 padding.
Is this correct? What is the difference between these paddings?