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 =
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)
}
}
}