aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/crypto.go
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-03-27 05:42:46 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-03-27 05:42:46 +0800
commit6bd1f6cc49acd459e61559e5af515da2db2481e5 (patch)
tree3e4f7a51ca8e3cb03d24fbe1898578d88fd7456c /crypto/crypto.go
parentbb12dbe233db2e064715b329b7ba987c76ba3bfa (diff)
parentb0b0939879b9fb8453ec1c8fa2ceb522e56df3bc (diff)
downloadgo-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.tar
go-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.tar.gz
go-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.tar.bz2
go-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.tar.lz
go-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.tar.xz
go-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.tar.zst
go-tangerine-6bd1f6cc49acd459e61559e5af515da2db2481e5.zip
Merge remote-tracking branch 'origin' into rpcargs
Conflicts: rpc/args.go
Diffstat (limited to 'crypto/crypto.go')
-rw-r--r--crypto/crypto.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/crypto/crypto.go b/crypto/crypto.go
index c3d47b629..442942c6c 100644
--- a/crypto/crypto.go
+++ b/crypto/crypto.go
@@ -9,6 +9,7 @@ import (
"crypto/sha256"
"fmt"
"io"
+ "io/ioutil"
"os"
"encoding/hex"
@@ -139,6 +140,12 @@ func LoadECDSA(file string) (*ecdsa.PrivateKey, error) {
return ToECDSA(buf), nil
}
+// SaveECDSA saves a secp256k1 private key to the given file with restrictive
+// permissions
+func SaveECDSA(file string, key *ecdsa.PrivateKey) error {
+ return ioutil.WriteFile(file, FromECDSA(key), 0600)
+}
+
func GenerateKey() (*ecdsa.PrivateKey, error) {
return ecdsa.GenerateKey(S256(), rand.Reader)
}