You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.3 KiB

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