mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-09-09 18:29:39 +02:00
SOP inline-sign: Wrap data in LiteralData(text) packet if signing mode is text
Fixes #465
This commit is contained in:
parent
8d03810bf3
commit
25c720b033
1 changed files with 15 additions and 5 deletions
|
@ -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,11 +57,20 @@ class InlineSignImpl : InlineSign {
|
||||||
|
|
||||||
val producerOptions =
|
val producerOptions =
|
||||||
ProducerOptions.sign(signingOptions).apply {
|
ProducerOptions.sign(signingOptions).apply {
|
||||||
if (mode == InlineSignAs.clearsigned) {
|
when (mode) {
|
||||||
setCleartextSigned()
|
InlineSignAs.clearsigned -> {
|
||||||
setAsciiArmor(true) // CSF is always armored
|
setCleartextSigned()
|
||||||
} else {
|
setAsciiArmor(true) // CSF is always armored
|
||||||
setAsciiArmor(armor)
|
setEncoding(StreamEncoding.TEXT)
|
||||||
|
applyCRLFEncoding()
|
||||||
|
}
|
||||||
|
InlineSignAs.text -> {
|
||||||
|
setEncoding(StreamEncoding.TEXT)
|
||||||
|
applyCRLFEncoding()
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
setAsciiArmor(armor)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue