You should continue following the code, but IIRC, internally "MD5andSHA1withRSA" does a Signature.getInstance("NONEwithRSA"), and then MessageDigest.getInstance("MD5") and ("SHA").
As long as your provider provides those algorithms and is prioritized ahead of other providers which do provide them, you should get them.
Note this is an implementation detail which could change, but AFAIK Oracle isn't doing any development in the Open 6 tree.
brad On 5/20/2014 7:53 AM, Marcin Kaszubski wrote:
Hi, I want to use private key stored in client TPM to establish MTLS (so both client and server will be verified) connection with server. So during ssl handshake this key will be used to sign some data. I wanted to write my own provider and implement required services to achieve it. Unfortunately during code review of jdk i found a problem. During sign operation on client side provider seems to be hardcoded. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/ssl/RSASignature.java#82 How can I use my own providers and its implementation of Signature to achieve it? Is there a different implementation of SSLSocket which my be used to achieve it? This is calling stack: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/ssl/ClientHandshaker.java#734 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/ssl/HandshakeMessage.java#1262 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/ssl/RSASignature.java#82 Best Regards, Marcin