diff options
Diffstat (limited to 'models/gpg_key.go')
-rw-r--r-- | models/gpg_key.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/models/gpg_key.go b/models/gpg_key.go index bebd33191a..49e510839f 100644 --- a/models/gpg_key.go +++ b/models/gpg_key.go @@ -741,6 +741,21 @@ func verifyWithGPGSettings(gpgSettings *git.GPGSettings, sig *packet.Signature, CanSign: pubkey.CanSign(), KeyID: pubkey.KeyIdString(), } + for _, subKey := range ekey.Subkeys { + content, err := base64EncPubKey(subKey.PublicKey) + if err != nil { + return &CommitVerification{ + CommittingUser: committer, + Verified: false, + Reason: "gpg.error.generate_hash", + } + } + k.SubsKey = append(k.SubsKey, &GPGKey{ + Content: content, + CanSign: subKey.PublicKey.CanSign(), + KeyID: subKey.PublicKey.KeyIdString(), + }) + } if commitVerification := hashAndVerifyWithSubKeys(sig, payload, k, committer, &User{ Name: gpgSettings.Name, Email: gpgSettings.Email, |