Package org.mozilla.jss.pkcs12
Class MacData
- java.lang.Object
-
- org.mozilla.jss.pkcs12.MacData
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MacData.Template
A Template for decoding a MacData from its BER encoding.
-
Constructor Summary
Constructors Constructor Description MacData()
MacData(DigestInfo mac, OCTET_STRING macSalt, INTEGER macIterationCount)
Creates a MacData from the given parameters.MacData(Password password, byte[] macSalt, int iterations, byte[] toBeMACed)
Creates a MacData by computing a HMAC on the given bytes.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
encode(java.io.OutputStream ostream)
Write this value's DER encoding to an output stream using its own base tag.void
encode(Tag implicitTag, java.io.OutputStream ostream)
Write this value's DER encoding to an output stream using an implicit tag.DigestInfo
getMac()
INTEGER
getMacIterationCount()
OCTET_STRING
getMacSalt()
Tag
getTag()
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.static MacData.Template
getTemplate()
-
-
-
Constructor Detail
-
MacData
public MacData()
-
MacData
public MacData(DigestInfo mac, OCTET_STRING macSalt, INTEGER macIterationCount)
Creates a MacData from the given parameters.- Parameters:
macIterationCount
- 1 is the default and should be used for maximum compatibility. null can also be used, in which case the macIterationCount will be omitted from the structure (and the default value of 1 will be implied).
-
MacData
public MacData(Password password, byte[] macSalt, int iterations, byte[] toBeMACed) throws NotInitializedException, java.security.DigestException, TokenException, java.io.CharConversionException
Creates a MacData by computing a HMAC on the given bytes. An HMAC is a message authentication code, which is a keyed digest. It proves not only that data has not been tampered with, but also that the entity that created the HMAC possessed the symmetric key.- Parameters:
password
- The password used to generate a key using a PBE mechanism.macSalt
- The salt used as input to the PBE key generation mechanism. If null is passed in, new random salt will be created.iterations
- The iteration count for creating the PBE key.toBeMACed
- The data on which the HMAC will be computed.- Throws:
NotInitializedException
- If the crypto subsystem has not been initialized yet.TokenException
- If an error occurs on a crypto token.java.security.DigestException
java.io.CharConversionException
-
-
Method Detail
-
getMac
public DigestInfo getMac()
-
getMacSalt
public OCTET_STRING getMacSalt()
-
getMacIterationCount
public INTEGER getMacIterationCount()
-
getTag
public Tag getTag()
Description copied from interface:ASN1Value
Returns the base tag for this type, not counting any tags that may be imposed on it by its context.
-
encode
public void encode(java.io.OutputStream ostream) throws java.io.IOException
Description copied from interface:ASN1Value
Write this value's DER encoding to an output stream using its own base tag.
-
encode
public void encode(Tag implicitTag, java.io.OutputStream ostream) throws java.io.IOException
Description copied from interface:ASN1Value
Write this value's DER encoding to an output stream using an implicit tag.
-
getTemplate
public static final MacData.Template getTemplate()
-
-