aboutsummaryrefslogtreecommitdiff
path: root/desire.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-01-14 01:03:13 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-01-14 01:03:13 +0100
commitdaf5a7d875e9744abf462c09b1a5cef77a98e9fd (patch)
tree95b461ffdd0a18740ac5a0883ec6782a7a2a9999 /desire.go
parent92023bf6e060e2adf240964d2d7589c43eca7f75 (diff)
Backup old cert and key
Diffstat (limited to 'desire.go')
-rw-r--r--desire.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/desire.go b/desire.go
index b945508..2110789 100644
--- a/desire.go
+++ b/desire.go
@@ -6,6 +6,7 @@ import (
"crypto/x509"
"crypto/x509/pkix"
"encoding/base64"
+ "os"
)
type Desire struct {
@@ -40,7 +41,14 @@ func (d *Desire) RegisterSolver(c ChallengeType, s Solver) {
d.solver[c] = s
}
+func backup(fname string) error {
+ return os.Rename(fname, fname+".bak")
+}
+
func (d *Desire) SaveKey(fname string) error {
+ if err := backup(fname); err != nil {
+ return err
+ }
fd, err := CreatePrivFile(fname)
if err != nil {
return err
@@ -50,6 +58,9 @@ func (d *Desire) SaveKey(fname string) error {
}
func (d *Desire) SaveCert(fname string) error {
+ if err := backup(fname); err != nil {
+ return err
+ }
fd, err := CreatePubFile(fname)
if err != nil {
return err