2014-10-07 20:02:53 +09:00
|
|
|
// +build !cert
|
|
|
|
|
|
|
|
// Copyright 2009 The Go Authors. All rights reserved.
|
|
|
|
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a MIT-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package cmd
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2014-11-30 12:52:59 +09:00
|
|
|
"os"
|
2014-10-07 20:02:53 +09:00
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/codegangsta/cli"
|
|
|
|
)
|
|
|
|
|
|
|
|
var CmdCert = cli.Command{
|
|
|
|
Name: "cert",
|
|
|
|
Usage: "Generate self-signed certificate",
|
|
|
|
Description: `Generate a self-signed X.509 certificate for a TLS server.
|
|
|
|
Outputs to 'cert.pem' and 'key.pem' and will overwrite existing files.`,
|
|
|
|
Action: runCert,
|
|
|
|
Flags: []cli.Flag{
|
|
|
|
cli.StringFlag{"host", "", "Comma-separated hostnames and IPs to generate a certificate for", ""},
|
|
|
|
cli.StringFlag{"ecdsa-curve", "", "ECDSA curve to use to generate a key. Valid values are P224, P256, P384, P521", ""},
|
|
|
|
cli.IntFlag{"rsa-bits", 2048, "Size of RSA key to generate. Ignored if --ecdsa-curve is set", ""},
|
|
|
|
cli.StringFlag{"start-date", "", "Creation date formatted as Jan 1 15:04:05 2011", ""},
|
|
|
|
cli.DurationFlag{"duration", 365 * 24 * time.Hour, "Duration that certificate is valid for", ""},
|
|
|
|
cli.BoolFlag{"ca", "whether this cert should be its own Certificate Authority", ""},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
func runCert(ctx *cli.Context) {
|
|
|
|
fmt.Println("Command cert not available, please use build tags 'cert' to rebuild.")
|
2014-11-30 12:52:59 +09:00
|
|
|
os.Exit(1)
|
2014-10-07 20:02:53 +09:00
|
|
|
}
|