MCPcopy
hub / github.com/FiloSottile/mkcert / main

Function main

main.go:87–150  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

85var Version string
86
87func main() {
88 if len(os.Args) == 1 {
89 fmt.Print(shortUsage)
90 return
91 }
92 log.SetFlags(0)
93 var (
94 installFlag = flag.Bool("install", false, "")
95 uninstallFlag = flag.Bool("uninstall", false, "")
96 pkcs12Flag = flag.Bool("pkcs12", false, "")
97 ecdsaFlag = flag.Bool("ecdsa", false, "")
98 clientFlag = flag.Bool("client", false, "")
99 helpFlag = flag.Bool("help", false, "")
100 carootFlag = flag.Bool("CAROOT", false, "")
101 csrFlag = flag.String("csr", "", "")
102 certFileFlag = flag.String("cert-file", "", "")
103 keyFileFlag = flag.String("key-file", "", "")
104 p12FileFlag = flag.String("p12-file", "", "")
105 versionFlag = flag.Bool("version", false, "")
106 )
107 flag.Usage = func() {
108 fmt.Fprint(flag.CommandLine.Output(), shortUsage)
109 fmt.Fprintln(flag.CommandLine.Output(), `For more options, run "mkcert -help".`)
110 }
111 flag.Parse()
112 if *helpFlag {
113 fmt.Print(shortUsage)
114 fmt.Print(advancedUsage)
115 return
116 }
117 if *versionFlag {
118 if Version != "" {
119 fmt.Println(Version)
120 return
121 }
122 if buildInfo, ok := debug.ReadBuildInfo(); ok {
123 fmt.Println(buildInfo.Main.Version)
124 return
125 }
126 fmt.Println("(unknown)")
127 return
128 }
129 if *carootFlag {
130 if *installFlag || *uninstallFlag {
131 log.Fatalln("ERROR: you can't set -[un]install and -CAROOT at the same time")
132 }
133 fmt.Println(getCAROOT())
134 return
135 }
136 if *installFlag && *uninstallFlag {
137 log.Fatalln("ERROR: you can't set -install and -uninstall at the same time")
138 }
139 if *csrFlag != "" && (*pkcs12Flag || *ecdsaFlag || *clientFlag) {
140 log.Fatalln("ERROR: can only combine -csr with -install and -cert-file")
141 }
142 if *csrFlag != "" && flag.NArg() != 0 {
143 log.Fatalln("ERROR: can't specify extra arguments when using -csr")
144 }

Callers

nothing calls this directly

Calls 2

getCAROOTFunction · 0.85
RunMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…