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:
parent
963e442b3c
commit
e552255aa6
4 changed files with 21 additions and 10 deletions
|
@ -8,6 +8,7 @@ import java.io.OutputStream
|
||||||
import java.lang.RuntimeException
|
import java.lang.RuntimeException
|
||||||
import java.security.InvalidAlgorithmParameterException
|
import java.security.InvalidAlgorithmParameterException
|
||||||
import java.security.NoSuchAlgorithmException
|
import java.security.NoSuchAlgorithmException
|
||||||
|
import org.bouncycastle.bcpg.PacketFormat
|
||||||
import org.bouncycastle.openpgp.PGPException
|
import org.bouncycastle.openpgp.PGPException
|
||||||
import org.bouncycastle.openpgp.api.OpenPGPKey
|
import org.bouncycastle.openpgp.api.OpenPGPKey
|
||||||
import org.pgpainless.PGPainless
|
import org.pgpainless.PGPainless
|
||||||
|
@ -49,10 +50,10 @@ class GenerateKeyImpl(private val api: PGPainless) : GenerateKey {
|
||||||
return object : Ready() {
|
return object : Ready() {
|
||||||
override fun writeTo(outputStream: OutputStream) {
|
override fun writeTo(outputStream: OutputStream) {
|
||||||
if (armor) {
|
if (armor) {
|
||||||
val armored = key.toAsciiArmoredString()
|
val armored = key.toAsciiArmoredString(PacketFormat.CURRENT)
|
||||||
outputStream.write(armored.toByteArray())
|
outputStream.write(armored.toByteArray())
|
||||||
} else {
|
} else {
|
||||||
key.pgpKeyRing.encode(outputStream)
|
outputStream.write(key.getEncoded(PacketFormat.CURRENT))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@ package org.pgpainless.sop
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import java.io.OutputStream
|
import java.io.OutputStream
|
||||||
import org.bouncycastle.bcpg.KeyIdentifier
|
import org.bouncycastle.bcpg.KeyIdentifier
|
||||||
import org.bouncycastle.bcpg.PacketFormat
|
|
||||||
import org.bouncycastle.openpgp.api.OpenPGPCertificate
|
import org.bouncycastle.openpgp.api.OpenPGPCertificate
|
||||||
import org.pgpainless.PGPainless
|
import org.pgpainless.PGPainless
|
||||||
import org.pgpainless.util.ArmoredOutputStreamFactory
|
import org.pgpainless.util.ArmoredOutputStreamFactory
|
||||||
|
@ -56,7 +55,7 @@ class MergeCertsImpl(private val api: PGPainless) : MergeCerts {
|
||||||
|
|
||||||
// emit merged and updated base certs
|
// emit merged and updated base certs
|
||||||
for (merged in baseCerts.values) {
|
for (merged in baseCerts.values) {
|
||||||
out.write(merged.getEncoded(PacketFormat.CURRENT))
|
out.write(merged.getEncoded())
|
||||||
}
|
}
|
||||||
|
|
||||||
if (armor) {
|
if (armor) {
|
||||||
|
|
|
@ -7,9 +7,7 @@ package org.pgpainless.sop
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import java.io.OutputStream
|
import java.io.OutputStream
|
||||||
import java.lang.RuntimeException
|
|
||||||
import org.bouncycastle.openpgp.PGPException
|
import org.bouncycastle.openpgp.PGPException
|
||||||
import org.bouncycastle.openpgp.PGPPublicKeyRingCollection
|
|
||||||
import org.bouncycastle.openpgp.api.OpenPGPCertificate
|
import org.bouncycastle.openpgp.api.OpenPGPCertificate
|
||||||
import org.pgpainless.PGPainless
|
import org.pgpainless.PGPainless
|
||||||
import org.pgpainless.bouncycastle.extensions.toOpenPGPCertificate
|
import org.pgpainless.bouncycastle.extensions.toOpenPGPCertificate
|
||||||
|
@ -68,14 +66,16 @@ class RevokeKeyImpl(private val api: PGPainless) : RevokeKey {
|
||||||
|
|
||||||
return object : Ready() {
|
return object : Ready() {
|
||||||
override fun writeTo(outputStream: OutputStream) {
|
override fun writeTo(outputStream: OutputStream) {
|
||||||
val collection =
|
|
||||||
PGPPublicKeyRingCollection(revocationCertificates.map { it.pgpPublicKeyRing })
|
|
||||||
if (armor) {
|
if (armor) {
|
||||||
val armorOut = ArmoredOutputStreamFactory.get(outputStream)
|
val armorOut = ArmoredOutputStreamFactory.get(outputStream)
|
||||||
collection.encode(armorOut)
|
for (cert in revocationCertificates) {
|
||||||
|
armorOut.write(cert.getEncoded())
|
||||||
|
}
|
||||||
armorOut.close()
|
armorOut.close()
|
||||||
} else {
|
} else {
|
||||||
collection.encode(outputStream)
|
for (cert in revocationCertificates) {
|
||||||
|
outputStream.write(cert.getEncoded())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue