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 }