From 4e27e861c7baf047dc89365ed09f42385126c82d Mon Sep 17 00:00:00 2001 From: Lysann Tranvouez Date: Tue, 10 Mar 2026 21:22:20 +0100 Subject: [PATCH] add PassGetHexSubkeyIDsJSON helper for passforios --- helper/helper.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/helper/helper.go b/helper/helper.go index 6d350ac..59d4024 100644 --- a/helper/helper.go +++ b/helper/helper.go @@ -10,6 +10,9 @@ import ( "github.com/ProtonMail/go-crypto/openpgp" "io" "bytes" + "encoding/json" + "fmt" + "strconv" ) func PassGetEncryptedMPI1(pgpMessage *crypto.PGPMessage) (encryptedMPI1 []byte, err error) { @@ -55,6 +58,21 @@ Loop1: } +func PassGetHexSubkeyIDsJSON(key *crypto.Key) []byte { + subKeys := key.GetEntity().Subkeys + hexSubkeyIDs := make([]string, len(subKeys)) + for i, subKey := range subKeys { + hexSubkeyIDs[i] = fmt.Sprintf("%016v", strconv.FormatUint(subKey.PublicKey.KeyId, 16)) + } + + result, err := json.Marshal(hexSubkeyIDs) + if err != nil { + return nil + } + return result +} + + func PassDecryptWithSessionKey(pgpMessage *crypto.PGPMessage, sk *crypto.SessionKey) (plain_message *crypto.PlainMessage, err error) { var p packet.Packet packets := packet.NewReader(pgpMessage.NewReader())