This week's giveaway is in the Android forum. We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line! See this thread for details.

I'm trying to extract the SHA-1 digest from a SHA1withRSA signature value. Given that I have the X.509 certificate, which means that I can extract the X.509 public key, and given that I have the signature value, computed using RSA over the SHA-1 digest value, how can I extract back the SHA-1 digest value?

Sorry, I didn't explain the case correctly: I don't want to obtain the original value that the SHA-1 digest represents, but the digest value itself which is coded on a RSA signature. I mean, I have this encrypted value (the RSA signature) which was generated based on a value (the SHA-1 digest value), and from the public key and the encrypted value, I want to obtain back the decrypted value. Any hints on how to do that?

Also, I'm having problems ensuring the validity of the signature value against the certificate. I'm using the following code:

, but this always return , no matter if the signature is valid against the certificate or not. Any hints on that too?