| java.lang.Object com.sun.midp.crypto.Signature
All known Subclasses: com.sun.midp.crypto.RsaShaSig, com.sun.midp.crypto.RsaMd5Sig,
Signature | abstract public class Signature (Code) | | This Signature class is used to provide applications
the functionality
of a digital signature algorithm. Digital signatures are used for
authentication and integrity assurance of digital data.
The signature algorithm can be, among others, the NIST standard
DSA, using DSA and SHA-1. The DSA algorithm using the
SHA-1 message digest algorithm can be specified as SHA1withDSA.
In the case of RSA, there are multiple choices for the message digest
algorithm, so the signing algorithm could be specified as, for example,
MD2withRSA, MD5withRSA, or SHA1withRSA.
The algorithm name must be specified, as there is no default.
When an algorithm name is specified, the system will
determine if there is an implementation of the algorithm requested
available in the environment, and if there is more than one, if
there is a preferred one.
A Signature object can be used to generate and
verify digital signatures.
There are three phases to the use of a Signature
object for verifying a signature:
- Initialization, with a public key, which initializes the
signature for verification
- Updating
Depending on the type of initialization, this will update the
bytes to be verified.
- Verifying a signature on all updated bytes.
|
Constructor Summary | |
protected | Signature() Protected constructor. |
Method Summary | |
abstract public String | getAlgorithm() Gets the signature algorithm. | public static Signature | getInstance(String algorithm) Generates a Signature object that implements
the specified digest
algorithm.
Parameters: algorithm - the standard name of the algorithm requested. | abstract public int | getLength() Gets the byte length of the signature data. | abstract public void | initSign(PrivateKey theKey) Initializes the Signature object with the appropriate
Key for signature creation. | abstract public void | initVerify(PublicKey theKey) Initializes the Signature object with the appropriate
Key for signature verification. | public int | sign(byte[] outbuf) Generates the signature of all/last input data. | abstract public int | sign(byte[] outbuf, int offset, int len) Generates the signature of all/last input data. | abstract public void | update(byte[] inBuf, int inOff, int inLen) Accumulates a signature of the input data. | public boolean | verify(byte[] signature) Verifies the passed-in signature. | abstract public boolean | verify(byte[] signature, int offset, int length) Verifies the passed-in signature. |
Signature | protected Signature()(Code) | | Protected constructor.
|
getAlgorithm | abstract public String getAlgorithm()(Code) | | Gets the signature algorithm.
the algorithm code defined above |
getInstance | public static Signature getInstance(String algorithm) throws NoSuchAlgorithmException(Code) | | Generates a Signature object that implements
the specified digest
algorithm.
Parameters: algorithm - the standard name of the algorithm requested. See Appendix A in the Java Cryptography Architecture API Specification & Reference for information about standard algorithm names. the new Signature object. exception: NoSuchAlgorithmException - if the algorithm isnot available in the environment. |
getLength | abstract public int getLength()(Code) | | Gets the byte length of the signature data.
the byte length of signature data |
initSign | abstract public void initSign(PrivateKey theKey) throws InvalidKeyException(Code) | | Initializes the Signature object with the appropriate
Key for signature creation.
Parameters: theKey - the key object to use for signing exception: InvalidKeyException - if the key type is inconsistent with the mode or signature implementation. |
initVerify | abstract public void initVerify(PublicKey theKey) throws InvalidKeyException(Code) | | Initializes the Signature object with the appropriate
Key for signature verification.
Parameters: theKey - the key object to use for verification exception: InvalidKeyException - if the key type is inconsistent with the mode or signature implementation. |
sign | public int sign(byte[] outbuf) throws SignatureException(Code) | | Generates the signature of all/last input data. A call to this
method also resets this signature object to the state it was in
when previously initialized via a call to initSign() and the
message to sign given via a call to update().
That is, the object is reset and available to sign another message.
Parameters: outbuf - the output buffer to store signature data number of bytes of signature output in sigBuf exception: SignatureException - if this signature object is not initialized properly, or outbuf.length is less than the actual signature |
sign | abstract public int sign(byte[] outbuf, int offset, int len) throws SignatureException(Code) | | Generates the signature of all/last input data. A call to this
method also resets this signature object to the state it was in
when previously initialized via a call to initSign() and the
message to sign given via a call to update().
That is, the object is reset and available to sign another message.
Parameters: outbuf - the output buffer to store signature data Parameters: offset - starting offset within the output buffer at whichto begin signature data Parameters: len - max byte to write to the buffer number of bytes of signature output in sigBuf exception: SignatureException - if this signature object is not initialized properly, or len is less than the actual signature |
update | abstract public void update(byte[] inBuf, int inOff, int inLen) throws SignatureException(Code) | | Accumulates a signature of the input data. When this method is used,
temporary storage of intermediate results is required. This method
should only be used if all the input data required for the signature
is not available in one byte array. The sign() or verify() method is
recommended whenever possible.
Parameters: inBuf - the input buffer of data to be signed Parameters: inOff - starting offset within the input buffer for data tobe signed Parameters: inLen - the byte length of data to be signed exception: SignatureException - if this signature object is not initialized properly. |
verify | public boolean verify(byte[] signature) throws SignatureException(Code) | | Verifies the passed-in signature.
A call to this method resets this signature object to the state
it was in when previously initialized for verification via a
call to initVerify(PublicKey) . That is, the object is
reset and available to verify another signature from the identity
whose public key was specified in the call to initVerify .
Parameters: signature - the signature bytes to be verified. true if the signature was verified, false if not. exception: SignatureException - if this signature object is not initialized properly, or the passed-in signature is improperly encoded or of the wrong type, etc. |
verify | abstract public boolean verify(byte[] signature, int offset, int length) throws SignatureException(Code) | | Verifies the passed-in signature.
A call to this method resets this signature object to the state
it was in when previously initialized for verification via a
call to initVerify(PublicKey) . That is, the object is
reset and available to verify another signature from the identity
whose public key was specified in the call to initVerify .
Parameters: signature - the input buffer containing signature data Parameters: offset - starting offset within the sigBuf where signaturedata begins Parameters: length - byte length of signature data true if signature verifies, false otherwise exception: SignatureException - if this signature object is not initialized properly, or the passed-in signature is improperly encoded or of the wrong type, etc. |
|
|