Class PKCS12ParametersGenerator

java.lang.Object
org.gudy.bouncycastle.crypto.PBEParametersGenerator
org.gudy.bouncycastle.crypto.generators.PKCS12ParametersGenerator

public class PKCS12ParametersGenerator extends PBEParametersGenerator
Generator for PBE derived keys and ivs as defined by PKCS 12 V1.0.

The document this implementation is based on can be found at RSA's PKCS12 Page

  • Field Details

  • Constructor Details

    • PKCS12ParametersGenerator

      public PKCS12ParametersGenerator(Digest digest)
      Construct a PKCS 12 Parameters generator. This constructor will accept MD5, SHA1, and RIPEMD160.
      Parameters:
      digest - the digest to be used as the source of derived keys.
      Throws:
      IllegalArgumentException - if an unknown digest is passed in.
  • Method Details

    • adjust

      private void adjust(byte[] a, int aOff, byte[] b)
      add a + b + 1, returning the result in a. The a value is treated as a BigInteger of length (b.length * 8) bits. The result is modulo 2^b.length in case of overflow.
    • generateDerivedKey

      private byte[] generateDerivedKey(int idByte, int n)
      generation of a derived key ala PKCS12 V1.0.
    • generateDerivedParameters

      public CipherParameters generateDerivedParameters(int keySize)
      Generate a key parameter derived from the password, salt, and iteration count we are currently initialised with.
      Specified by:
      generateDerivedParameters in class PBEParametersGenerator
      Parameters:
      keySize - the size of the key we want (in bits)
      Returns:
      a KeyParameter object.
    • generateDerivedParameters

      public CipherParameters generateDerivedParameters(int keySize, int ivSize)
      Generate a key with initialisation vector parameter derived from the password, salt, and iteration count we are currently initialised with.
      Specified by:
      generateDerivedParameters in class PBEParametersGenerator
      Parameters:
      keySize - the size of the key we want (in bits)
      ivSize - the size of the iv we want (in bits)
      Returns:
      a ParametersWithIV object.
    • generateDerivedMacParameters

      public CipherParameters generateDerivedMacParameters(int keySize)
      Generate a key parameter for use with a MAC derived from the password, salt, and iteration count we are currently initialised with.
      Specified by:
      generateDerivedMacParameters in class PBEParametersGenerator
      Parameters:
      keySize - the size of the key we want (in bits)
      Returns:
      a KeyParameter object.