Add signature to existing file by default and remove other jess sigs
This commit is contained in:
parent
a33fe9b9cf
commit
c346404d62
1 changed files with 18 additions and 5 deletions
|
@ -51,14 +51,27 @@ func SignFile(dataFilePath, signatureFilePath string, metaData map[string]string
|
||||||
return nil, fmt.Errorf("failed to sign file: %w", err)
|
return nil, fmt.Errorf("failed to sign file: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make signature section for saving to disk.
|
sigFileData, err := ioutil.ReadFile(signatureFilePath)
|
||||||
signatureSection, err := MakeSigFileSection(signature)
|
var newSigFileData []byte
|
||||||
if err != nil {
|
switch {
|
||||||
return nil, fmt.Errorf("failed to format signature for file: %w", err)
|
case err == nil:
|
||||||
|
// Add signature to existing file.
|
||||||
|
newSigFileData, err = AddToSigFile(signature, sigFileData, true)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to add signature to file: %w", err)
|
||||||
|
}
|
||||||
|
case os.IsNotExist(err):
|
||||||
|
// Make signature section for saving to disk.
|
||||||
|
newSigFileData, err = MakeSigFileSection(signature)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to format signature for file: %w", err)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("failed to open existing signature file: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write the signature to file.
|
// Write the signature to file.
|
||||||
if err := ioutil.WriteFile(signatureFilePath, signatureSection, 0o0644); err != nil { //nolint:gosec
|
if err := ioutil.WriteFile(signatureFilePath, newSigFileData, 0o0644); err != nil { //nolint:gosec
|
||||||
return nil, fmt.Errorf("failed to write signature to file: %w", err)
|
return nil, fmt.Errorf("failed to write signature to file: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue