mirror of
https://github.com/containers/podman.git
synced 2025-06-25 20:26:51 +08:00
@ -1,10 +1,10 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ func signCmd(c *cli.Context) error {
|
|||||||
|
|
||||||
signby := c.String("sign-by")
|
signby := c.String("sign-by")
|
||||||
if signby == "" {
|
if signby == "" {
|
||||||
return errors.Errorf("You must provide an identity")
|
return errors.Errorf("please provide an identity")
|
||||||
}
|
}
|
||||||
|
|
||||||
var sigStoreDir string
|
var sigStoreDir string
|
||||||
@ -72,11 +72,11 @@ func signCmd(c *cli.Context) error {
|
|||||||
|
|
||||||
mech, err := signature.NewGPGSigningMechanism()
|
mech, err := signature.NewGPGSigningMechanism()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "Error initializing GPG")
|
return errors.Wrap(err, "error initializing GPG")
|
||||||
}
|
}
|
||||||
defer mech.Close()
|
defer mech.Close()
|
||||||
if err := mech.SupportsSigning(); err != nil {
|
if err := mech.SupportsSigning(); err != nil {
|
||||||
return errors.Wrap(err, "Signing is not supported")
|
return errors.Wrap(err, "signing is not supported")
|
||||||
}
|
}
|
||||||
|
|
||||||
systemRegistriesDirPath := trust.RegistriesDirPath(runtime.SystemContext())
|
systemRegistriesDirPath := trust.RegistriesDirPath(runtime.SystemContext())
|
||||||
@ -100,7 +100,7 @@ func signCmd(c *cli.Context) error {
|
|||||||
}
|
}
|
||||||
dockerReference := rawSource.Reference().DockerReference()
|
dockerReference := rawSource.Reference().DockerReference()
|
||||||
if dockerReference == nil {
|
if dockerReference == nil {
|
||||||
return errors.Errorf("Cannot determine canonical Docker reference for destination %s", transports.ImageName(rawSource.Reference()))
|
return errors.Errorf("cannot determine canonical Docker reference for destination %s", transports.ImageName(rawSource.Reference()))
|
||||||
}
|
}
|
||||||
|
|
||||||
// create the signstore file
|
// create the signstore file
|
||||||
@ -141,7 +141,7 @@ func signCmd(c *cli.Context) error {
|
|||||||
return errors.Wrapf(err, "error creating new signature")
|
return errors.Wrapf(err, "error creating new signature")
|
||||||
}
|
}
|
||||||
|
|
||||||
sigStoreDir = fmt.Sprintf("%s/%s", sigStoreDir, strings.Replace(repos[0][strings.Index(repos[0], "/")+1:len(repos[0])], ":", "=", 1))
|
sigStoreDir = filepath.Join(sigStoreDir, strings.Replace(repos[0][strings.Index(repos[0], "/")+1:len(repos[0])], ":", "=", 1))
|
||||||
if err := os.MkdirAll(sigStoreDir, 0751); err != nil {
|
if err := os.MkdirAll(sigStoreDir, 0751); err != nil {
|
||||||
// The directory is allowed to exist
|
// The directory is allowed to exist
|
||||||
if !os.IsExist(err) {
|
if !os.IsExist(err) {
|
||||||
@ -154,7 +154,7 @@ func signCmd(c *cli.Context) error {
|
|||||||
logrus.Errorf("error creating sigstore file: %v", err)
|
logrus.Errorf("error creating sigstore file: %v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
err = ioutil.WriteFile(sigStoreDir+"/"+sigFilename, newSig, 0644)
|
err = ioutil.WriteFile(filepath.Join(sigStoreDir, sigFilename), newSig, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Errorf("error storing signature for %s", rawSource.Reference().DockerReference().String())
|
logrus.Errorf("error storing signature for %s", rawSource.Reference().DockerReference().String())
|
||||||
continue
|
continue
|
||||||
@ -190,7 +190,7 @@ func isValidSigStoreDir(sigStoreDir string) (string, error) {
|
|||||||
}
|
}
|
||||||
_, exists := writeURIs[url.Scheme]
|
_, exists := writeURIs[url.Scheme]
|
||||||
if !exists {
|
if !exists {
|
||||||
return sigStoreDir, errors.Errorf("Writing to %s is not supported. Use a supported scheme", sigStoreDir)
|
return sigStoreDir, errors.Errorf("writing to %s is not supported. Use a supported scheme", sigStoreDir)
|
||||||
}
|
}
|
||||||
sigStoreDir = url.Path
|
sigStoreDir = url.Path
|
||||||
return sigStoreDir, nil
|
return sigStoreDir, nil
|
||||||
|
Reference in New Issue
Block a user