org.mozilla.jss.pkcs12

Class MacData

public class MacData extends Object implements ASN1Value

Nested Class Summary
static classMacData.Template
A Template for decoding a MacData from its BER encoding.
Constructor Summary
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
voidencode(OutputStream ostream)
voidencode(Tag implicitTag, OutputStream ostream)
DigestInfogetMac()
INTEGERgetMacIterationCount()
OCTET_STRINGgetMacSalt()
TaggetTag()
static MacData.TemplategetTemplate()

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)
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: CryptoManager.NotInitializedException If the crypto subsystem has not been initialized yet. TokenException If an error occurs on a crypto token.

Method Detail

encode

public void encode(OutputStream ostream)

encode

public void encode(Tag implicitTag, OutputStream ostream)

getMac

public DigestInfo getMac()

getMacIterationCount

public INTEGER getMacIterationCount()

getMacSalt

public OCTET_STRING getMacSalt()

getTag

public Tag getTag()

getTemplate

public static final MacData.Template getTemplate()