Overview | Package | Class | Tree | Deprecated | Index | Help
| JSS 3.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mozilla.jss.pkcs12
Class MacData

    java.lang.Object
      |
      +--org.mozilla.jss.pkcs12.MacData

All Implemented Interfaces:
  ASN1Value

public class MacData
extends java.lang.Object
implements ASN1Value

Nested Class Summary
`static class` | `MacData.Template` A Template for decoding a MacData from its BER encoding.

Field Summary
`private static int` | `DEFAULT_ITERATIONS`
`private DigestInfo` | `mac`
`private INTEGER` | `macIterationCount`
`private OCTET_STRING` | `macSalt`
`private static int` | `SALT_LENGTH`
`private static Tag` | `TAG`
`private static MacData.Template` | `templateInstance`

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
`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()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### mac

    private DigestInfo mac

### macSalt

    private OCTET_STRING macSalt

### macIterationCount

    private INTEGER macIterationCount

### DEFAULT_ITERATIONS

    private static final int DEFAULT_ITERATIONS

See Also:
  Constant Field Values

### SALT_LENGTH

    private static final int SALT_LENGTH

See Also:
  Constant Field Values

### TAG

    private static final Tag TAG

### templateInstance

    private static final MacData.Template templateInstance

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 CryptoManager.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:
  `CryptoManager.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.

  Specified by:
    `getTag` in interface `ASN1Value`

### 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.

  Specified by:
    `encode` in interface `ASN1Value`
    `java.io.IOException`

### 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.

  Specified by:
    `encode` in interface `ASN1Value`
    `java.io.IOException`

### getTemplate

    public static final MacData.Template getTemplate()

Overview | Package | Class | Tree | Deprecated | Index | Help
| JSS 3.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD