From a1caf19d54a342a4c6e2005e03cc00ba6f8c0441 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Fri, 7 Mar 2025 12:01:40 +0100 Subject: [PATCH] SigningOptions: Properly init PGPSignatureGenerator to support v6 keys --- .../pgpainless/encryption_signing/SigningOptions.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/encryption_signing/SigningOptions.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/encryption_signing/SigningOptions.kt index cc675619..9159a71e 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/encryption_signing/SigningOptions.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/encryption_signing/SigningOptions.kt @@ -450,7 +450,7 @@ class SigningOptions { } val generator: PGPSignatureGenerator = - createSignatureGenerator(signingKey.keyPair.privateKey, hashAlgorithm, signatureType) + createSignatureGenerator(signingKey.keyPair, hashAlgorithm, signatureType) // Subpackets val hashedSubpackets = @@ -491,16 +491,15 @@ class SigningOptions { @Throws(PGPException::class) private fun createSignatureGenerator( - privateKey: PGPPrivateKey, + signingKey: PGPKeyPair, hashAlgorithm: HashAlgorithm, signatureType: DocumentSignatureType ): PGPSignatureGenerator { return ImplementationFactory.getInstance() - .getPGPContentSignerBuilder( - privateKey.publicKeyPacket.algorithm, hashAlgorithm.algorithmId) + .getPGPContentSignerBuilder(signingKey.publicKey.algorithm, hashAlgorithm.algorithmId) .let { csb -> - PGPSignatureGenerator(csb).also { - it.init(signatureType.signatureType.code, privateKey) + PGPSignatureGenerator(csb, signingKey.publicKey).also { + it.init(signatureType.signatureType.code, signingKey.privateKey) } } }