github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmg/SubCommand/httpsCert.go (about)

     1  package SubCommand
     2  
     3  import (
     4  	"flag"
     5  	"github.com/bronze1man/kmg/kmgCmd"
     6  	"github.com/bronze1man/kmg/kmgFile"
     7  	"os"
     8  )
     9  
    10  func httpsCertCsrCLI() {
    11  	domain := ""
    12  	outDir := ""
    13  	flag.StringVar(&domain, "domain", "", "the domain need to generate csr(google.com)")
    14  	flag.StringVar(&outDir, "outDir", "", "the output dir(default to ./doc/cert/{domain})")
    15  	flag.Parse()
    16  	if domain == "" {
    17  		flag.Usage()
    18  		os.Exit(1)
    19  	}
    20  	if outDir == "" {
    21  		outDir = "doc/cert/" + domain
    22  	}
    23  	kmgFile.Mkdir(outDir)
    24  	kmgCmd.CmdSlice([]string{"openssl", "req", "-out", "domain.csr", "-new", "-newkey", "rsa:4096", "-nodes",
    25  		"-keyout", "domain.key", "-subj", "/C=US/ST=US/L=US/O=US/OU=US/CN=" + domain + "/"}).SetDir(outDir).ProxyRun()
    26  }