![JAR search and dependency download from the Maven repository](/logo.png)
org.bouncycastle.openpgp.api.bc.BcOpenPGPV6KeyGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcpg-jdk14 Show documentation
Show all versions of bcpg-jdk14 Show documentation
The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.4. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
The newest version!
package org.bouncycastle.openpgp.api.bc;
import org.bouncycastle.openpgp.api.OpenPGPV6KeyGenerator;
import org.bouncycastle.openpgp.operator.PBESecretKeyEncryptorFactory;
import org.bouncycastle.openpgp.operator.bc.BcAEADSecretKeyEncryptorFactory;
import org.bouncycastle.openpgp.operator.bc.BcCFBSecretKeyEncryptorFactory;
import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator;
import org.bouncycastle.openpgp.operator.bc.BcPGPContentSignerBuilderProvider;
import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider;
import org.bouncycastle.openpgp.operator.bc.BcPGPKeyPairGeneratorProvider;
import java.util.Date;
/**
* Bouncy Castle implementation of {@link OpenPGPV6KeyGenerator}.
*/
public class BcOpenPGPV6KeyGenerator
extends OpenPGPV6KeyGenerator
{
/**
* Create a new key generator for OpenPGP v6 keys.
*/
public BcOpenPGPV6KeyGenerator()
{
this(new Date());
}
/**
* Create a new key generator for OpenPGP v6 keys.
* The key creation time will be set to {@code creationTime}
*
* @param creationTime creation time of the generated OpenPGP key
*/
public BcOpenPGPV6KeyGenerator(Date creationTime)
{
this(DEFAULT_SIGNATURE_HASH_ALGORITHM, creationTime, true);
}
/**
* Create a new key generator for OpenPGP v6 keys.
* Signatures on the key will be generated using the specified {@code signatureHashAlgorithm}.
*
* @param signatureHashAlgorithm ID of the hash algorithm to be used for signature generation
*/
public BcOpenPGPV6KeyGenerator(int signatureHashAlgorithm)
{
this(signatureHashAlgorithm, new Date(), true);
}
/**
* Create a new OpenPGP key generator for v6 keys.
*
* @param signatureHashAlgorithm ID of the hash algorithm used for signatures on the key
* @param creationTime creation time of the key and signatures
*/
public BcOpenPGPV6KeyGenerator(int signatureHashAlgorithm, Date creationTime, boolean aeadProtection)
{
super(
new BcPGPKeyPairGeneratorProvider(),
new BcPGPContentSignerBuilderProvider(signatureHashAlgorithm),
new BcPGPDigestCalculatorProvider(),
keyEncryptorFactory(aeadProtection),
new BcKeyFingerprintCalculator(),
creationTime);
}
private static PBESecretKeyEncryptorFactory keyEncryptorFactory(boolean aeadProtection)
{
if (aeadProtection)
{
return new BcAEADSecretKeyEncryptorFactory();
}
else
{
return new BcCFBSecretKeyEncryptorFactory();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy