...

Source file src/github.com/theupdateframework/go-tuf/cmd/tuf/sign_payload.go

Documentation: github.com/theupdateframework/go-tuf/cmd/tuf

     1  package main
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"os"
     7  
     8  	"github.com/flynn/go-docopt"
     9  	tuf "github.com/theupdateframework/go-tuf"
    10  )
    11  
    12  func init() {
    13  	register("sign-payload", cmdSignPayload, `
    14  usage: tuf sign-payload --role=<role> <path>
    15  
    16  Sign a file (outside of the TUF repo) using keys for the given role (from the TUF repo).
    17  
    18  Typically, path will be the output of "tuf payload".
    19  `)
    20  }
    21  
    22  func cmdSignPayload(args *docopt.Args, repo *tuf.Repo) error {
    23  	payload, err := os.ReadFile(args.String["<path>"])
    24  	if err != nil {
    25  		return err
    26  	}
    27  
    28  	signatures, err := repo.SignRaw(args.String["--role"], payload)
    29  	if err != nil {
    30  		return err
    31  	}
    32  	fmt.Fprintln(os.Stderr, "tuf: signed")
    33  
    34  	bytes, err := json.Marshal(signatures)
    35  	if err != nil {
    36  		return err
    37  	}
    38  	fmt.Fprint(os.Stdout, string(bytes))
    39  
    40  	return nil
    41  }
    42  

View as plain text