mirror of
https://github.com/fluxcd/flux2.git
synced 2025-10-29 07:19:07 +08:00
make gpg signing more robust for bootstrap
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
This commit is contained in:
@ -431,6 +431,14 @@ func getOpenPgpEntity(keyRing openpgp.EntityList, passphrase, keyID string) (*op
|
|||||||
|
|
||||||
var entity *openpgp.Entity
|
var entity *openpgp.Entity
|
||||||
if keyID != "" {
|
if keyID != "" {
|
||||||
|
if strings.HasPrefix(keyID, "0x") {
|
||||||
|
keyID = strings.TrimPrefix(keyID, "0x")
|
||||||
|
}
|
||||||
|
if len(keyID) != 16 {
|
||||||
|
return nil, fmt.Errorf("invalid GPG key id length; expected %d, got %d", 16, len(keyID))
|
||||||
|
}
|
||||||
|
keyID = strings.ToUpper(keyID)
|
||||||
|
|
||||||
for _, ent := range keyRing {
|
for _, ent := range keyRing {
|
||||||
if ent.PrimaryKey.KeyIdString() == keyID {
|
if ent.PrimaryKey.KeyIdString() == keyID {
|
||||||
entity = ent
|
entity = ent
|
||||||
@ -438,7 +446,10 @@ func getOpenPgpEntity(keyRing openpgp.EntityList, passphrase, keyID string) (*op
|
|||||||
}
|
}
|
||||||
|
|
||||||
if entity == nil {
|
if entity == nil {
|
||||||
return nil, fmt.Errorf("no GPG private key matching key id '%s' found", keyID)
|
return nil, fmt.Errorf("no GPG keyring matching key id '%s' found", keyID)
|
||||||
|
}
|
||||||
|
if entity.PrivateKey == nil {
|
||||||
|
return nil, fmt.Errorf("keyring does not contain private key for key id '%s'", keyID)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
entity = keyRing[0]
|
entity = keyRing[0]
|
||||||
|
|||||||
@ -155,7 +155,7 @@ func LoadEntityListFromPath(path string) (openpgp.EntityList, error) {
|
|||||||
}
|
}
|
||||||
entityList, err := openpgp.ReadKeyRing(r)
|
entityList, err := openpgp.ReadKeyRing(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("unable to read GPG key ring: %w", err)
|
||||||
}
|
}
|
||||||
return entityList, nil
|
return entityList, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user