public abstract class RsaPkcs1v1_5Signature extends RsaSignature
The RSA-PKCS1-v1_5 signature algorithm combines the RSA signature and verification primitives with the PKCS1-v1_5 encoding method. The lengths of messages on which RSA-PKCS1-v1_5 can operate is either unrestricted or constrained by a very large number, depending on the hash function used in the underlying PKCS1-v1_5 encoding method. Entrust provides several RSA-PKCS1-v1_5 signature algorithms each using a different underlying hash function.
PKCS1-v1_5 Encoding
M to produce a
hash value H.DigestInfo structure is created containing the hash
algorithm identifier and the hash value.DigestInfo structure is DER encoded to produce
T.EM is created as follows, where
EM must be the same number of bytes as the RSA key modulus: EM = 0x00 || 0x01 || 0xff || ... || 0xff || TRSA-PKCS1-v1_5 Signature Generation
M
being signed to produced the encoded message EM.EM to
produce the signature S.RSA-PKCS1-v1_5 Signature Verification
S being verified to produce the first encoded message
EM1.M
being verified to produce the second encoded message EM2.EM1 and EM2 are
compared; if they are the same the signature is valid, otherwise the
signature is invalid.Although no attacks are known against RSA-PKCS1-v1_5, in the interest of increased robustness, RSA-PSS is recommended for eventual adoption in new applications. RSA-PKCS1-v1_5 is included for compatibility with existing applications, and while still appropriate for new applications, a gradual transition to RSA-PSS is encouraged.
This digital signature algorithm does not use any algorithm parameters; if
any are provided, an InvalidAlgorithmParameterException will
result.
An RSA-PKCS1-v1_5 digital signature algorithm instance can be obtained using
the Java Cryptography Architecture (JCA), by requesting the
'<digestAlgorithm>withRSA' algorithm from the
Entrust cryptographic
service provider. This can be done using the following call:
Signature.getInstance("<digestAlgorithm>withRSA", "Entrust");
getDigitalSignatureImplassertParametersValid, engineGetParameter, engineGetParameters, engineInitSign, engineInitSign, engineInitVerify, engineSetParameter, engineSetParameter, engineSign, engineSign, engineUpdate, engineUpdate, engineVerify, engineVerify, generateDefaultParameters, getDigest, getPrng, toAlgorithmParameters