1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-09-09 10:19:39 +02:00

SigningOptions: Properly init PGPSignatureGenerator to support v6 keys

This commit is contained in:
Paul Schaub 2025-03-07 12:01:40 +01:00
parent fc87d985b6
commit 321053d66e
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311

View file

@ -450,7 +450,7 @@ class SigningOptions {
} }
val generator: PGPSignatureGenerator = val generator: PGPSignatureGenerator =
createSignatureGenerator(signingKey.keyPair.privateKey, hashAlgorithm, signatureType) createSignatureGenerator(signingKey.keyPair, hashAlgorithm, signatureType)
// Subpackets // Subpackets
val hashedSubpackets = val hashedSubpackets =
@ -491,16 +491,15 @@ class SigningOptions {
@Throws(PGPException::class) @Throws(PGPException::class)
private fun createSignatureGenerator( private fun createSignatureGenerator(
privateKey: PGPPrivateKey, signingKey: PGPKeyPair,
hashAlgorithm: HashAlgorithm, hashAlgorithm: HashAlgorithm,
signatureType: DocumentSignatureType signatureType: DocumentSignatureType
): PGPSignatureGenerator { ): PGPSignatureGenerator {
return ImplementationFactory.getInstance() return ImplementationFactory.getInstance()
.getPGPContentSignerBuilder( .getPGPContentSignerBuilder(signingKey.publicKey.algorithm, hashAlgorithm.algorithmId)
privateKey.publicKeyPacket.algorithm, hashAlgorithm.algorithmId)
.let { csb -> .let { csb ->
PGPSignatureGenerator(csb).also { PGPSignatureGenerator(csb, signingKey.publicKey).also {
it.init(signatureType.signatureType.code, privateKey) it.init(signatureType.signatureType.code, signingKey.privateKey)
} }
} }
} }