diff --git a/README.md b/README.md index 23a1cc2..09c4b8f 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,39 @@ # ipfs-key -A tool for easily generating ipfs keypairs. When run, it will write the bytes of -the serialized private key to stdout. By default, a 2048 bit RSA key will be -generated. The keysize can be changed by specifying the `-bitsize` option, and the -key type can be changed by specifying the `-type` option (currently only RSA is -implemented). + +[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) + +> A tool for easily generating ipfs keypairs + +## Table of Contents + +- [Installation](#installation) +- [Usage](#usage) +- [Contribute](#contribute) +- [License](#license) ## Installation + ``` $ go get github.com/whyrusleeping/ipfs-key ``` ## Usage + +When run, it will write the bytes of +the serialized private key to stdout. By default, a 2048 bit RSA key will be +generated. In this case the key size can be changed by specifying the `-bitsize` +option. The key type can be changed by specifying the `-type` option (rsa or +ed25519). + ``` -$ ipfs-key -bitsize=4096 > my.key +$ ipfs-key -bitsize=4096 > my-rsa4096.key +$ ipfs-key -type=ed25519 > my-ed.key ``` + +## Contribute + +PRs accepted. + +## License + +[MIT](LICENSE) Copyright (c) 2016 [Jeromy Johnson](http://github.com/whyrusleeping) diff --git a/main.go b/main.go index b81e896..bdd0c52 100644 --- a/main.go +++ b/main.go @@ -4,6 +4,7 @@ import ( "flag" "fmt" "os" + "strings" ci "github.com/libp2p/go-libp2p-crypto" peer "github.com/libp2p/go-libp2p-peer" @@ -11,14 +12,16 @@ import ( func main() { size := flag.Int("bitsize", 2048, "select the bitsize of the key to generate") - typ := flag.String("type", "RSA", "select type of key to generate") + typ := flag.String("type", "RSA", "select type of key to generate (RSA or Ed25519)") flag.Parse() var atyp int - switch *typ { - case "RSA": + switch strings.ToLower(*typ) { + case "rsa": atyp = ci.RSA + case "ed25519": + atyp = ci.Ed25519 default: fmt.Fprintln(os.Stderr, "unrecognized key type: ", *typ) os.Exit(1)