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

Generate-Key: Use new packet tags

This commit is contained in:
Paul Schaub 2025-05-13 15:36:09 +02:00
parent f97591a509
commit ed92f321dd
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
4 changed files with 21 additions and 10 deletions

View file

@ -8,6 +8,7 @@ import java.io.OutputStream
import java.lang.RuntimeException
import java.security.InvalidAlgorithmParameterException
import java.security.NoSuchAlgorithmException
import org.bouncycastle.bcpg.PacketFormat
import org.bouncycastle.openpgp.PGPException
import org.bouncycastle.openpgp.api.OpenPGPKey
import org.pgpainless.PGPainless
@ -49,10 +50,10 @@ class GenerateKeyImpl(private val api: PGPainless) : GenerateKey {
return object : Ready() {
override fun writeTo(outputStream: OutputStream) {
if (armor) {
val armored = key.toAsciiArmoredString()
val armored = key.toAsciiArmoredString(PacketFormat.CURRENT)
outputStream.write(armored.toByteArray())
} else {
key.pgpKeyRing.encode(outputStream)
outputStream.write(key.getEncoded(PacketFormat.CURRENT))
}
}
}

View file

@ -7,7 +7,6 @@ package org.pgpainless.sop
import java.io.InputStream
import java.io.OutputStream
import org.bouncycastle.bcpg.KeyIdentifier
import org.bouncycastle.bcpg.PacketFormat
import org.bouncycastle.openpgp.api.OpenPGPCertificate
import org.pgpainless.PGPainless
import org.pgpainless.util.ArmoredOutputStreamFactory
@ -56,7 +55,7 @@ class MergeCertsImpl(private val api: PGPainless) : MergeCerts {
// emit merged and updated base certs
for (merged in baseCerts.values) {
out.write(merged.getEncoded(PacketFormat.CURRENT))
out.write(merged.getEncoded())
}
if (armor) {

View file

@ -7,9 +7,7 @@ package org.pgpainless.sop
import java.io.IOException
import java.io.InputStream
import java.io.OutputStream
import java.lang.RuntimeException
import org.bouncycastle.openpgp.PGPException
import org.bouncycastle.openpgp.PGPPublicKeyRingCollection
import org.bouncycastle.openpgp.api.OpenPGPCertificate
import org.pgpainless.PGPainless
import org.pgpainless.bouncycastle.extensions.toOpenPGPCertificate
@ -68,14 +66,16 @@ class RevokeKeyImpl(private val api: PGPainless) : RevokeKey {
return object : Ready() {
override fun writeTo(outputStream: OutputStream) {
val collection =
PGPPublicKeyRingCollection(revocationCertificates.map { it.pgpPublicKeyRing })
if (armor) {
val armorOut = ArmoredOutputStreamFactory.get(outputStream)
collection.encode(armorOut)
for (cert in revocationCertificates) {
armorOut.write(cert.getEncoded())
}
armorOut.close()
} else {
collection.encode(outputStream)
for (cert in revocationCertificates) {
outputStream.write(cert.getEncoded())
}
}
}
}

View file

@ -0,0 +1,11 @@
// SPDX-FileCopyrightText: 2025 Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: Apache-2.0
package sop.testsuite.pgpainless.operation;
import sop.testsuite.operation.MergeCertsTest;
public class PGPainlessMergeCertsTest extends MergeCertsTest {
}