aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/mikesmitty/edkey/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mikesmitty/edkey/README.md')
-rw-r--r--vendor/github.com/mikesmitty/edkey/README.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/mikesmitty/edkey/README.md b/vendor/github.com/mikesmitty/edkey/README.md
new file mode 100644
index 0000000..a1690ae
--- /dev/null
+++ b/vendor/github.com/mikesmitty/edkey/README.md
@@ -0,0 +1,32 @@
+# edkey
+edkey allows you to marshal/write ED25519 private keys in the OpenSSH private key format
+
+## Example
+```go
+package main
+
+import (
+ "crypto/rand"
+ "encoding/pem"
+ "io/ioutil"
+ "github.com/mikesmitty/edkey"
+ "golang.org/x/crypto/ed25519"
+ "golang.org/x/crypto/ssh"
+)
+
+func main() {
+ // Generate a new private/public keypair for OpenSSH
+ pubKey, privKey, _ := ed25519.GenerateKey(rand.Reader)
+ publicKey, _ := ssh.NewPublicKey(pubKey)
+
+ pemKey := &pem.Block{
+ Type: "OPENSSH PRIVATE KEY",
+ Bytes: edkey.MarshalED25519PrivateKey(privKey),
+ }
+ privateKey := pem.EncodeToMemory(pemKey)
+ authorizedKey := ssh.MarshalAuthorizedKey(publicKey)
+
+ _ = ioutil.WriteFile("id_ed25519", privateKey, 0600)
+ _ = ioutil.WriteFile("id_ed25519.pub", authorizedKey, 0644)
+}
+```