From b7dedbd61934f50681fa58034efb001630db1f07 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Thu, 10 Apr 2025 15:26:59 +0200 Subject: [PATCH] SOP certify-userid: Properly throw KeyCannotCertify exception --- .../org/pgpainless/sop/CertifyUserIdImpl.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/CertifyUserIdImpl.kt b/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/CertifyUserIdImpl.kt index 498ed3d7..4ab85803 100644 --- a/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/CertifyUserIdImpl.kt +++ b/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/CertifyUserIdImpl.kt @@ -9,6 +9,7 @@ import java.io.OutputStream import org.bouncycastle.bcpg.PacketFormat import org.bouncycastle.openpgp.api.OpenPGPKey import org.pgpainless.PGPainless +import org.pgpainless.exception.KeyException import org.pgpainless.util.ArmoredOutputStreamFactory import org.pgpainless.util.Passphrase import sop.Ready @@ -45,12 +46,16 @@ class CertifyUserIdImpl(private val api: PGPainless) : CertifyUserId { var certificate = cert keys.forEach { key -> userIds.forEach { userId -> - certificate = - api.generateCertification() - .certifyUserId(userId, certificate) - .withKey(key, protector) - .build() - .certifiedCertificate + try { + certificate = + api.generateCertification() + .certifyUserId(userId, certificate) + .withKey(key, protector) + .build() + .certifiedCertificate + } catch (e: KeyException) { + throw SOPGPException.KeyCannotCertify(e) + } } }