1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-04-22 06:24:47 +02:00

SOP inline-sign: Wrap data in LiteralData(text) packet if signing mode is text

Fixes 
This commit is contained in:
Paul Schaub 2025-02-22 13:37:51 +01:00
parent 8d03810bf3
commit 25c720b033
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311

View file

@ -12,6 +12,7 @@ import org.bouncycastle.openpgp.PGPSecretKeyRing
import org.bouncycastle.util.io.Streams
import org.pgpainless.PGPainless
import org.pgpainless.algorithm.DocumentSignatureType
import org.pgpainless.algorithm.StreamEncoding
import org.pgpainless.bouncycastle.extensions.openPgpFingerprint
import org.pgpainless.encryption_signing.ProducerOptions
import org.pgpainless.encryption_signing.SigningOptions
@ -56,11 +57,20 @@ class InlineSignImpl : InlineSign {
val producerOptions =
ProducerOptions.sign(signingOptions).apply {
if (mode == InlineSignAs.clearsigned) {
setCleartextSigned()
setAsciiArmor(true) // CSF is always armored
} else {
setAsciiArmor(armor)
when (mode) {
InlineSignAs.clearsigned -> {
setCleartextSigned()
setAsciiArmor(true) // CSF is always armored
setEncoding(StreamEncoding.TEXT)
applyCRLFEncoding()
}
InlineSignAs.text -> {
setEncoding(StreamEncoding.TEXT)
applyCRLFEncoding()
}
else -> {
setAsciiArmor(armor)
}
}
}