Sha1RsaSignature
insteadpublic class ShaRSASignature extends RSASignature
This class only creates a new RSASignature object and sets the hash
function to be used to SHA.
This RSASignature algorithm implementation follows the guidelines described in PKCS #1: RSA Encryption Version 1.5 (RFC 2313). The signature algorithms described in PKCS#1 use either MD2, MD4 or MD5 as message digest algorithm and are recommended to be used in signing X.509/PEM certificates, certificate-revocation lists, PKCS#6 extended certificates, and other objects employing digital signatures such as X.401 message tokens. The algorithms presented in PKCS#1 are not intended to be used in PKCS#7, where signatures (encrypted message digests) are treated as octet strings, in contrast to the bit string interpretation of PKCS#1. Since this class follows the general signature algorithm description of PKCS#1 (but using SHA as message digest algorithm) it also is not intended to be used with PKCS#7.
An application wishing to sign some message (e.g. the TBSCertificate contents of a X.509 certificate) or to verify some signature using the "SHA with RSA" algorithm, generally has to perform three steps:
getInstance method, e.g.
Signature sha_rsa = Signature.getInstance("SHA/RSA");
sha_rsa.initSign(rsaPrivateKey);
sha_rsa.initVerify(rsaPublicKey);
sign method returning the signature as DER encoded byte
array. Otherwise, if the Signature object has been initialized for verifying,
first the data to be verified is supplied to the Signature object, and
subsequently the signature is verified by calling the verify
method, supplied with the DER encoded byte array holding the corresponding
signature:
sha_rsa.update(data); byte[] signature = sha_rsa.sign();
sha_rsa.update(data);
System.out.println("Signature " + (sha_rsa.verify(signature) ? "correct!" : "not correct!"));
RSASignature,
Md5RSASignature,
SslRsaSignature,
Signature,
SHA1hash| Constructor and Description |
|---|
ShaRSASignature()
Deprecated.
Default Constructor.
|
engineGetParameter, engineInitSign, engineInitVerify, engineSetParameter, engineSign, engineUpdate, engineUpdate, engineVerifyclone, getAlgorithm, getInstance, getInstance, getInstance, getParameter, getParameters, getProvider, initSign, initSign, initVerify, initVerify, setParameter, setParameter, sign, sign, toString, update, update, update, update, verify, verifypublic ShaRSASignature()
Applications do not call this constructor. They shall use one of the
getInstance methods of the java.security.Signature
class for obtaining a ShaRSASignature object.
java.security.NoSuchAlgorithmException - shows that there is no implementation
of the SHA hash algorithm.Signature.getInstance(java.lang.String)