org.mozilla.jss.pkcs11
Class PK11MessageDigest
java.lang.Object
|
+--org.mozilla.jss.crypto.JSSMessageDigest
|
+--org.mozilla.jss.pkcs11.PK11MessageDigest
- public final class PK11MessageDigest
- extends JSSMessageDigest
Message Digesting with PKCS #11.
Method Summary |
int |
digest(byte[] outbuf,
int offset,
int len)
Completes digesting, storing the result into the provided array. |
private static int |
digest(CipherContextProxy proxy,
byte[] outbuf,
int offset,
int len)
|
DigestAlgorithm |
getAlgorithm()
Returns the algorithm that this digest uses. |
private static CipherContextProxy |
initDigest(DigestAlgorithm alg)
|
private static CipherContextProxy |
initHMAC(PK11Token token,
DigestAlgorithm alg,
PK11SymKey key)
|
void |
initHMAC(SymmetricKey key)
Initializes an HMAC digest with the given symmetric key. |
void |
reset()
Resets this digest for further use. |
void |
update(byte[] input,
int offset,
int len)
Updates the digest with a portion of an array. |
private static void |
update(CipherContextProxy proxy,
byte[] inbuf,
int offset,
int len)
|
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
token
private PK11Token token
digestProxy
private CipherContextProxy digestProxy
hmacKey
private PK11SymKey hmacKey
alg
private DigestAlgorithm alg
PK11MessageDigest
PK11MessageDigest(PK11Token token,
DigestAlgorithm alg)
throws java.security.NoSuchAlgorithmException,
java.security.DigestException
initHMAC
public void initHMAC(SymmetricKey key)
throws java.security.DigestException,
java.security.InvalidKeyException
- Description copied from class:
JSSMessageDigest
- Initializes an HMAC digest with the given symmetric key. This also
has the effect of resetting the digest.
- Overrides:
initHMAC
in class JSSMessageDigest
- Following copied from class:
org.mozilla.jss.crypto.JSSMessageDigest
- Throws:
java.security.DigestException
- If this algorithm is not an HMAC algorithm.java.security.InvalidKeyException
- If the given key is not valid.
update
public void update(byte[] input,
int offset,
int len)
throws java.security.DigestException
- Description copied from class:
JSSMessageDigest
- Updates the digest with a portion of an array.
- Overrides:
update
in class JSSMessageDigest
- Following copied from class:
org.mozilla.jss.crypto.JSSMessageDigest
- Parameters:
input
- An array from which to update the digest.offset
- The index in the array at which to start digesting.len
- The number of bytes to digest.- Throws:
java.security.DigestException
- If an error occurs while digesting.
digest
public int digest(byte[] outbuf,
int offset,
int len)
throws java.security.DigestException
- Description copied from class:
JSSMessageDigest
- Completes digesting, storing the result into the provided array.
- Overrides:
digest
in class JSSMessageDigest
- Following copied from class:
org.mozilla.jss.crypto.JSSMessageDigest
- Parameters:
buf
- The buffer in which to place the digest output.offset
- The offset in the buffer at which to store the output.len
- The amount of space available in the buffer for the
digest output.- Returns:
- The number of bytes actually stored into buf.
- Throws:
java.security.DigestException
- If the provided space is too small for
the digest, or an error occurs with the digest.
reset
public void reset()
throws java.security.DigestException
- Description copied from class:
JSSMessageDigest
- Resets this digest for further use. This clears all input and
output streams. If this is an HMAC digest, the HMAC key is not
cleared.
- Overrides:
reset
in class JSSMessageDigest
getAlgorithm
public DigestAlgorithm getAlgorithm()
- Description copied from class:
JSSMessageDigest
- Returns the algorithm that this digest uses.
- Overrides:
getAlgorithm
in class JSSMessageDigest
initDigest
private static CipherContextProxy initDigest(DigestAlgorithm alg)
throws java.security.DigestException
initHMAC
private static CipherContextProxy initHMAC(PK11Token token,
DigestAlgorithm alg,
PK11SymKey key)
throws java.security.DigestException
update
private static void update(CipherContextProxy proxy,
byte[] inbuf,
int offset,
int len)
digest
private static int digest(CipherContextProxy proxy,
byte[] outbuf,
int offset,
int len)