aboutsummaryrefslogtreecommitdiff
path: root/public_key.go
diff options
context:
space:
mode:
Diffstat (limited to 'public_key.go')
-rw-r--r--public_key.go50
1 files changed, 0 insertions, 50 deletions
diff --git a/public_key.go b/public_key.go
deleted file mode 100644
index cbafc49..0000000
--- a/public_key.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package main
-
-// create a public key from a private key
-
-import (
- "crypto/x509"
- "encoding/pem"
- "flag"
- "fmt"
- "io"
- "os"
-)
-
-type (
- PublicKeyFlags struct {
- PrivateKeyPath string
- Output string
-
- output_stream io.WriteCloser // the actual stream to the output
- }
-)
-
-func create_public_key() {
- var err error
- flags := parse_public_key_flags()
- flags.output_stream, err = open_output_stream(flags.Output)
- if err != nil {
- crash_with_help(2, fmt.Sprintf("Error when creating file %s: %s", flags.Output, err))
- }
- defer flags.output_stream.Close()
-
- priv_key := load_private_key(flags.PrivateKeyPath)
- marshal, err := x509.MarshalPKIXPublicKey(priv_key.Public())
- if err != nil {
- crash_with_help(2, fmt.Sprintf("Problems marshalling the public key: %s", err))
- }
-
- block := &pem.Block{Type: TypeLabelPubKey, Bytes: marshal}
- pem.Encode(flags.output_stream, block)
-}
-
-func parse_public_key_flags() PublicKeyFlags {
- flags := PublicKeyFlags{}
- fs := flag.NewFlagSet("create-public", flag.ExitOnError)
- fs.StringVar(&flags.PrivateKeyPath, "private-key", "", "path to the private key file")
- fs.StringVar(&flags.Output, "output", "STDOUT", "path where the generated public key should be stored")
- fs.Parse(os.Args[2:])
-
- return flags
-}