Package org.cryptacular.generator
Class AESP12Generator
java.lang.Object
org.cryptacular.generator.AbstractP12Generator
org.cryptacular.generator.AESP12Generator
- All Implemented Interfaces:
P12Generator
Generates PKCS12 containers using the PBES2 algorithm with the AES-256-CBC cipher for encryption, which is the
most portable and secure algorithm in use with PKCS12 at this time.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classBuilds an output encryptor based on PBKDF2 domain parameters. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Map<org.bouncycastle.asn1.ASN1ObjectIdentifier, DigestSpec> Map of digest algorithm identifiers to digest specifications.private static final Map<org.bouncycastle.asn1.ASN1ObjectIdentifier, org.bouncycastle.asn1.ASN1ObjectIdentifier> Map of digest algorithm identifiers to HMAC algorithm IDs.private final org.bouncycastle.asn1.ASN1ObjectIdentifierDigest algorithm used for all HMAC operations.private final AESP12Generator.PBES2OutputEncryptorBuilderProduces encryptors that use the PBES2 algorithm.private final org.bouncycastle.crypto.util.PBKDF2ConfigPBKDF2 configuration.static final Set<org.bouncycastle.asn1.ASN1ObjectIdentifier> Set of supported digest algorithms. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance that encrypts with AES-256-CBC and SHA256 using 2048 rounds of hashing.AESP12Generator(int iterations) Creates a new instance that encrypts with AES-256-CBC and SHA256 using the given number of hashing rounds.AESP12Generator(org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgId, int iterations) Creates a new instances that uses AES-256-CBC and the given digest algorithm to encrypt data. -
Method Summary
Modifier and TypeMethodDescriptionprotected org.bouncycastle.operator.OutputEncryptordataOutputEncryptor(char[] password) Builds a new output encryptor that performs password-based encryption on encrypted data in the P12 file.protected org.bouncycastle.asn1.ASN1ObjectIdentifierprotected DigestSpecintprotected org.bouncycastle.operator.OutputEncryptorkeyOutputEncryptor(char[] password) Builds a new output encryptor that performs password-based encryption on keys in the P12 file.Methods inherited from class org.cryptacular.generator.AbstractP12Generator
generate, generate
-
Field Details
-
SUPPORTED_DIGEST_ALGORITHMS
Set of supported digest algorithms. -
DIGEST_ID_TO_DIGEST_SPEC_MAP
private static final Map<org.bouncycastle.asn1.ASN1ObjectIdentifier,DigestSpec> DIGEST_ID_TO_DIGEST_SPEC_MAPMap of digest algorithm identifiers to digest specifications. -
DIGEST_ID_TO_HMAC_ID_MAP
private static final Map<org.bouncycastle.asn1.ASN1ObjectIdentifier,org.bouncycastle.asn1.ASN1ObjectIdentifier> DIGEST_ID_TO_HMAC_ID_MAPMap of digest algorithm identifiers to HMAC algorithm IDs. -
digestAlgorithm
private final org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgorithmDigest algorithm used for all HMAC operations. -
pbkdf2Config
private final org.bouncycastle.crypto.util.PBKDF2Config pbkdf2ConfigPBKDF2 configuration. -
outputEncryptorBuilder
Produces encryptors that use the PBES2 algorithm.
-
-
Constructor Details
-
AESP12Generator
public AESP12Generator()Creates a new instance that encrypts with AES-256-CBC and SHA256 using 2048 rounds of hashing. -
AESP12Generator
public AESP12Generator(int iterations) Creates a new instance that encrypts with AES-256-CBC and SHA256 using the given number of hashing rounds.- Parameters:
iterations- Number of rounds of encryption.
-
AESP12Generator
public AESP12Generator(org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgId, int iterations) Creates a new instances that uses AES-256-CBC and the given digest algorithm to encrypt data.- Parameters:
digestAlgId- Digest algorithm identifier.iterations- Number of rounds of hashing.
-
-
Method Details
-
getIterations
public int getIterations()- Specified by:
getIterationsin classAbstractP12Generator- Returns:
- Number of hashing rounds.
-
getDigestAlgorithmId
protected org.bouncycastle.asn1.ASN1ObjectIdentifier getDigestAlgorithmId()- Specified by:
getDigestAlgorithmIdin classAbstractP12Generator- Returns:
- Digest algorithm object identifier.
-
getDigestSpec
- Specified by:
getDigestSpecin classAbstractP12Generator- Returns:
- Digest specification.
-
keyOutputEncryptor
protected org.bouncycastle.operator.OutputEncryptor keyOutputEncryptor(char[] password) Description copied from class:AbstractP12GeneratorBuilds a new output encryptor that performs password-based encryption on keys in the P12 file.- Specified by:
keyOutputEncryptorin classAbstractP12Generator- Parameters:
password- Password tha will the basis of an encryption key.- Returns:
- Output encryptor.
-
dataOutputEncryptor
protected org.bouncycastle.operator.OutputEncryptor dataOutputEncryptor(char[] password) Description copied from class:AbstractP12GeneratorBuilds a new output encryptor that performs password-based encryption on encrypted data in the P12 file.- Specified by:
dataOutputEncryptorin classAbstractP12Generator- Parameters:
password- Password tha will the basis of an encryption key.- Returns:
- Output encryptor.
-