Package org.pgpainless.signature.builder
Class AbstractSignatureBuilder<B extends AbstractSignatureBuilder<B>>
- java.lang.Object
-
- org.pgpainless.signature.builder.AbstractSignatureBuilder<B>
-
- Direct Known Subclasses:
DirectKeySignatureBuilder,PrimaryKeyBindingSignatureBuilder,RevocationSignatureBuilder,SelfSignatureBuilder,SubkeyBindingSignatureBuilder,ThirdPartyCertificationSignatureBuilder,UniversalSignatureBuilder
public abstract class AbstractSignatureBuilder<B extends AbstractSignatureBuilder<B>> extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected HashAlgorithmhashAlgorithmprotected SignatureSubpacketshashedSubpacketsprotected org.bouncycastle.openpgp.PGPPrivateKeyprivateSigningKeyprotected org.bouncycastle.openpgp.PGPPublicKeypublicSigningKeyprotected SignatureTypesignatureTypeprotected SignatureSubpacketsunhashedSubpackets
-
Constructor Summary
Constructors Modifier Constructor Description AbstractSignatureBuilder(org.bouncycastle.openpgp.PGPSecretKey certificationKey, SecretKeyRingProtector protector, org.bouncycastle.openpgp.PGPSignature archetypeSignature)AbstractSignatureBuilder(SignatureType signatureType, org.bouncycastle.openpgp.PGPSecretKey signingKey, SecretKeyRingProtector protector)protectedAbstractSignatureBuilder(SignatureType signatureType, org.bouncycastle.openpgp.PGPSecretKey signingKey, SecretKeyRingProtector protector, HashAlgorithm hashAlgorithm, SignatureSubpackets hashedSubpackets, SignatureSubpackets unhashedSubpackets)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected org.bouncycastle.openpgp.PGPSignatureGeneratorbuildAndInitSignatureGenerator()Build an instance ofPGPSignatureGeneratorinitialized with the signing key and with hashed and unhashed subpackets.protected abstract booleanisValidSignatureType(SignatureType type)Return true if the givenSignatureTypeis a valid choice for the concrete implementation ofAbstractSignatureBuilder.protected static HashAlgorithmnegotiateHashAlgorithm(org.bouncycastle.openpgp.PGPPublicKey publicKey)Negotiate aHashAlgorithmto be used when creating the signature.BoverrideHashAlgorithm(HashAlgorithm hashAlgorithm)BsetSignatureType(SignatureType type)Set the buildersSignatureType.
-
-
-
Field Detail
-
privateSigningKey
protected final org.bouncycastle.openpgp.PGPPrivateKey privateSigningKey
-
publicSigningKey
protected final org.bouncycastle.openpgp.PGPPublicKey publicSigningKey
-
hashAlgorithm
protected HashAlgorithm hashAlgorithm
-
signatureType
protected SignatureType signatureType
-
unhashedSubpackets
protected SignatureSubpackets unhashedSubpackets
-
hashedSubpackets
protected SignatureSubpackets hashedSubpackets
-
-
Constructor Detail
-
AbstractSignatureBuilder
protected AbstractSignatureBuilder(SignatureType signatureType, org.bouncycastle.openpgp.PGPSecretKey signingKey, SecretKeyRingProtector protector, HashAlgorithm hashAlgorithm, SignatureSubpackets hashedSubpackets, SignatureSubpackets unhashedSubpackets) throws org.bouncycastle.openpgp.PGPException
- Throws:
org.bouncycastle.openpgp.PGPException
-
AbstractSignatureBuilder
public AbstractSignatureBuilder(SignatureType signatureType, org.bouncycastle.openpgp.PGPSecretKey signingKey, SecretKeyRingProtector protector) throws org.bouncycastle.openpgp.PGPException
- Throws:
org.bouncycastle.openpgp.PGPException
-
AbstractSignatureBuilder
public AbstractSignatureBuilder(org.bouncycastle.openpgp.PGPSecretKey certificationKey, SecretKeyRingProtector protector, org.bouncycastle.openpgp.PGPSignature archetypeSignature) throws org.bouncycastle.openpgp.PGPException
- Throws:
org.bouncycastle.openpgp.PGPException
-
-
Method Detail
-
negotiateHashAlgorithm
protected static HashAlgorithm negotiateHashAlgorithm(org.bouncycastle.openpgp.PGPPublicKey publicKey)
Negotiate aHashAlgorithmto be used when creating the signature.- Parameters:
publicKey- signing public key- Returns:
- hash algorithm
-
overrideHashAlgorithm
public B overrideHashAlgorithm(@Nonnull HashAlgorithm hashAlgorithm)
-
setSignatureType
public B setSignatureType(SignatureType type)
Set the buildersSignatureType. Note that only those types who are valid for the concrete subclass of thisAbstractSignatureBuilderare allowed. Invalid choices result in anIllegalArgumentExceptionto be thrown.- Parameters:
type- signature type- Returns:
- builder
-
buildAndInitSignatureGenerator
protected org.bouncycastle.openpgp.PGPSignatureGenerator buildAndInitSignatureGenerator() throws org.bouncycastle.openpgp.PGPException
Build an instance ofPGPSignatureGeneratorinitialized with the signing key and with hashed and unhashed subpackets.- Returns:
- pgp signature generator
- Throws:
org.bouncycastle.openpgp.PGPException
-
isValidSignatureType
protected abstract boolean isValidSignatureType(SignatureType type)
Return true if the givenSignatureTypeis a valid choice for the concrete implementation ofAbstractSignatureBuilder.- Parameters:
type- type- Returns:
- return true if valid, false otherwise
-
-