()
| 187 | } |
| 188 | |
| 189 | func main() { |
| 190 | log.Println("Generating root CA") |
| 191 | rootCert, rootKey, err := GenerateCertificateAuthority("Prometheus Root CA", nil, nil) |
| 192 | if err != nil { |
| 193 | log.Fatal(err) |
| 194 | } |
| 195 | |
| 196 | log.Println("Generating CA") |
| 197 | caCert, caKey, err := GenerateCertificateAuthority("Prometheus TLS CA", rootCert, rootKey) |
| 198 | if err != nil { |
| 199 | log.Fatal(err) |
| 200 | } |
| 201 | |
| 202 | log.Println("Generating server certificate") |
| 203 | cert, key, err := GenerateCertificate(caCert, caKey, true, "localhost", net.IPv4(127, 0, 0, 1), net.IPv4(127, 0, 0, 0)) |
| 204 | if err != nil { |
| 205 | log.Fatal(err) |
| 206 | } |
| 207 | |
| 208 | if err := writeCertificateAndKey("testdata/server", cert, key); err != nil { |
| 209 | log.Fatal(err) |
| 210 | } |
| 211 | |
| 212 | log.Println("Generating client certificate") |
| 213 | cert, key, err = GenerateCertificate(caCert, caKey, false, "localhost") |
| 214 | if err != nil { |
| 215 | log.Fatal(err) |
| 216 | } |
| 217 | |
| 218 | if err := writeCertificateAndKey("testdata/client", cert, key); err != nil { |
| 219 | log.Fatal(err) |
| 220 | } |
| 221 | |
| 222 | log.Println("Generating self-signed client certificate") |
| 223 | cert, key, err = GenerateCertificate(nil, nil, false, "localhost") |
| 224 | if err != nil { |
| 225 | log.Fatal(err) |
| 226 | } |
| 227 | |
| 228 | if err := writeCertificateAndKey("testdata/self-signed-client", cert, key); err != nil { |
| 229 | log.Fatal(err) |
| 230 | } |
| 231 | |
| 232 | log.Println("Generating CA bundle") |
| 233 | var b bytes.Buffer |
| 234 | if err := EncodeCertificate(&b, caCert); err != nil { |
| 235 | log.Fatal(err) |
| 236 | } |
| 237 | |
| 238 | if err := EncodeCertificate(&b, rootCert); err != nil { |
| 239 | log.Fatal(err) |
| 240 | } |
| 241 | |
| 242 | if err := os.WriteFile("testdata/tls-ca-chain.pem", b.Bytes(), 0644); err != nil { |
| 243 | log.Fatal(err) |
| 244 | } |
| 245 | } |
nothing calls this directly
no test coverage detected