code: func CreateCertAndKeyFilesWithCA(certSpec *KubeadmCert, caCertSpec *KubeadmCert, cfg *kubeadmapi.InitConfiguration) error {
  	if certSpec.CAName != caCertSpec.Name {
  		return errors.Errorf("expected CAname for %s to be %q, but was %s", certSpec.Name, certSpec.CAName, caCertSpec.Name)
  	}
  
  	caCert, caKey, err := LoadCertificateAuthority(cfg.CertificatesDir, caCertSpec.BaseName)
  	if err != nil {
  		return errors.Wrapf(err, "couldn't load CA certificate %s", caCertSpec.Name)
  	}
  
  	return certSpec.CreateFromCA(cfg, caCert, caKey)
  }
docs: // CreateCertAndKeyFilesWithCA loads the given certificate authority from disk, then generates and writes out the given certificate and key.
  // The certSpec and caCertSpec should both be one of the variables from this package.