Package org.bouncycastle.crypto
Class PBEParametersGenerator
- java.lang.Object
-
- org.bouncycastle.crypto.PBEParametersGenerator
-
- Direct Known Subclasses:
OpenSSLPBEParametersGenerator,PKCS12ParametersGenerator,PKCS5S1ParametersGenerator,PKCS5S2ParametersGenerator
public abstract class PBEParametersGenerator extends java.lang.Objectsuper class for all Password Based Encryption (PBE) parameter generator classes.
-
-
Field Summary
Fields Modifier and Type Field Description protected intiterationCountprotected byte[]passwordprotected byte[]salt
-
Constructor Summary
Constructors Modifier Constructor Description protectedPBEParametersGenerator()base constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract CipherParametersgenerateDerivedMacParameters(int keySize)generate derived parameters for a key of length keySize, specifically for use with a MAC.abstract CipherParametersgenerateDerivedParameters(int keySize)generate derived parameters for a key of length keySize.abstract CipherParametersgenerateDerivedParameters(int keySize, int ivSize)generate derived parameters for a key of length keySize, and an initialisation vector (IV) of length ivSize.intgetIterationCount()return the iteration count.byte[]getPassword()return the password byte array.byte[]getSalt()return the salt byte array.voidinit(byte[] password, byte[] salt, int iterationCount)initialise the PBE generator.static byte[]PKCS12PasswordToBytes(char[] password)converts a password to a byte array according to the scheme in PKCS12 (unicode, big endian, 2 zero pad bytes at the end).static byte[]PKCS5PasswordToBytes(char[] password)converts a password to a byte array according to the scheme in PKCS5 (ascii, no padding)static byte[]PKCS5PasswordToUTF8Bytes(char[] password)converts a password to a byte array according to the scheme in PKCS5 (UTF-8, no padding)
-
-
-
Method Detail
-
init
public void init(byte[] password, byte[] salt, int iterationCount)initialise the PBE generator.- Parameters:
password- the password converted into bytes (see below).salt- the salt to be mixed with the password.iterationCount- the number of iterations the "mixing" function is to be applied for.
-
getPassword
public byte[] getPassword()
return the password byte array.- Returns:
- the password byte array.
-
getSalt
public byte[] getSalt()
return the salt byte array.- Returns:
- the salt byte array.
-
getIterationCount
public int getIterationCount()
return the iteration count.- Returns:
- the iteration count.
-
generateDerivedParameters
public abstract CipherParameters generateDerivedParameters(int keySize)
generate derived parameters for a key of length keySize.- Parameters:
keySize- the length, in bits, of the key required.- Returns:
- a parameters object representing a key.
-
generateDerivedParameters
public abstract CipherParameters generateDerivedParameters(int keySize, int ivSize)
generate derived parameters for a key of length keySize, and an initialisation vector (IV) of length ivSize.- Parameters:
keySize- the length, in bits, of the key required.ivSize- the length, in bits, of the iv required.- Returns:
- a parameters object representing a key and an IV.
-
generateDerivedMacParameters
public abstract CipherParameters generateDerivedMacParameters(int keySize)
generate derived parameters for a key of length keySize, specifically for use with a MAC.- Parameters:
keySize- the length, in bits, of the key required.- Returns:
- a parameters object representing a key.
-
PKCS5PasswordToBytes
public static byte[] PKCS5PasswordToBytes(char[] password)
converts a password to a byte array according to the scheme in PKCS5 (ascii, no padding)- Parameters:
password- a character array representing the password.- Returns:
- a byte array representing the password.
-
PKCS5PasswordToUTF8Bytes
public static byte[] PKCS5PasswordToUTF8Bytes(char[] password)
converts a password to a byte array according to the scheme in PKCS5 (UTF-8, no padding)- Parameters:
password- a character array representing the password.- Returns:
- a byte array representing the password.
-
PKCS12PasswordToBytes
public static byte[] PKCS12PasswordToBytes(char[] password)
converts a password to a byte array according to the scheme in PKCS12 (unicode, big endian, 2 zero pad bytes at the end).- Parameters:
password- a character array representing the password.- Returns:
- a byte array representing the password.
-
-