MCPcopy
hub / github.com/caddyserver/caddy / genRoot

Method genRoot

modules/caddypki/ca.go:315–340  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

313}
314
315func (ca CA) genRoot() (rootCert *x509.Certificate, rootKey crypto.Signer, err error) {
316 repl := ca.newReplacer()
317
318 rootCert, rootKey, err = generateRoot(repl.ReplaceAll(ca.RootCommonName, ""))
319 if err != nil {
320 return nil, nil, fmt.Errorf("generating CA root: %v", err)
321 }
322 rootCertPEM, err := pemEncodeCert(rootCert.Raw)
323 if err != nil {
324 return nil, nil, fmt.Errorf("encoding root certificate: %v", err)
325 }
326 err = ca.storage.Store(ca.ctx, ca.storageKeyRootCert(), rootCertPEM)
327 if err != nil {
328 return nil, nil, fmt.Errorf("saving root certificate: %v", err)
329 }
330 rootKeyPEM, err := certmagic.PEMEncodePrivateKey(rootKey)
331 if err != nil {
332 return nil, nil, fmt.Errorf("encoding root key: %v", err)
333 }
334 err = ca.storage.Store(ca.ctx, ca.storageKeyRootKey(), rootKeyPEM)
335 if err != nil {
336 return nil, nil, fmt.Errorf("saving root key: %v", err)
337 }
338
339 return rootCert, rootKey, nil
340}
341
342func (ca CA) loadOrGenIntermediate(rootCert *x509.Certificate, rootKey crypto.Signer) (interCertChain []*x509.Certificate, interKey crypto.Signer, err error) {
343 var interCert *x509.Certificate

Callers 1

loadOrGenRootMethod · 0.95

Calls 6

newReplacerMethod · 0.95
storageKeyRootCertMethod · 0.95
storageKeyRootKeyMethod · 0.95
generateRootFunction · 0.85
pemEncodeCertFunction · 0.85
ReplaceAllMethod · 0.80

Tested by

no test coverage detected