Skip to content
Snippets Groups Projects
Unverified Commit 1d5d29a4 authored by dlorenc's avatar dlorenc Committed by GitHub
Browse files

Merge pull request #46 from dlorenc/load

Marshal the JSON correctly in verify, and properly load keys.
parents 8ef8bfba d6a09df0
No related branches found
No related tags found
No related merge requests found
......@@ -55,7 +55,7 @@ var verifyCmd = &cobra.Command{
log.Fatal(err)
}
rekorEntry := types.RekorEntry{
rekorEntry := &types.RekorEntry{
RekorLeaf: types.RekorLeaf{
Signature: sig,
PublicKey: pubKey,
......
......@@ -77,10 +77,17 @@ func ParseRekorLeaf(r io.Reader) (*RekorLeaf, error) {
return nil, err
}
if err := l.ParseKeys(); err != nil {
return nil, err
}
return &l, nil
}
func (l *RekorLeaf) ParseKeys() error {
// validate fields
if l.SHA != "" {
if _, err := hex.DecodeString(l.SHA); err != nil || len(l.SHA) != 64 {
return nil, fmt.Errorf("Invalid SHA hash provided")
return fmt.Errorf("Invalid SHA hash provided")
}
}
......@@ -90,16 +97,15 @@ func ParseRekorLeaf(r io.Reader) (*RekorLeaf, error) {
// check if this is an actual signature
l.sigObject, err = pki.NewPGPSignature(bytes.NewReader(l.Signature))
if err != nil {
return nil, err
return err
}
// check if this is an actual public key
l.keyObject, err = pki.NewPGPPublicKey(bytes.NewReader(l.PublicKey))
if err != nil {
return nil, err
return err
}
return &l, nil
return nil
}
func ParseRekorEntry(r io.Reader, leaf *RekorLeaf) (*RekorEntry, error) {
......@@ -152,6 +158,10 @@ func (r *RekorEntry) Load(ctx context.Context) error {
dataReader = bytes.NewReader(r.Data)
}
if err := r.ParseKeys(); err != nil {
return err
}
g, ctx := errgroup.WithContext(ctx)
g.Go(func() error {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment