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

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

Fixes #465
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.bouncycastle.util.io.Streams
import org.pgpainless.PGPainless import org.pgpainless.PGPainless
import org.pgpainless.algorithm.DocumentSignatureType import org.pgpainless.algorithm.DocumentSignatureType
import org.pgpainless.algorithm.StreamEncoding
import org.pgpainless.bouncycastle.extensions.openPgpFingerprint import org.pgpainless.bouncycastle.extensions.openPgpFingerprint
import org.pgpainless.encryption_signing.ProducerOptions import org.pgpainless.encryption_signing.ProducerOptions
import org.pgpainless.encryption_signing.SigningOptions import org.pgpainless.encryption_signing.SigningOptions
@ -56,13 +57,22 @@ class InlineSignImpl : InlineSign {
val producerOptions = val producerOptions =
ProducerOptions.sign(signingOptions).apply { ProducerOptions.sign(signingOptions).apply {
if (mode == InlineSignAs.clearsigned) { when (mode) {
InlineSignAs.clearsigned -> {
setCleartextSigned() setCleartextSigned()
setAsciiArmor(true) // CSF is always armored setAsciiArmor(true) // CSF is always armored
} else { setEncoding(StreamEncoding.TEXT)
applyCRLFEncoding()
}
InlineSignAs.text -> {
setEncoding(StreamEncoding.TEXT)
applyCRLFEncoding()
}
else -> {
setAsciiArmor(armor) setAsciiArmor(armor)
} }
} }
}
return object : Ready() { return object : Ready() {
override fun writeTo(outputStream: OutputStream) { override fun writeTo(outputStream: OutputStream) {