code: func New(req *csr.CertificateRequest, profiles *config.Signing) (*CA, error) {
  	certPEM, _, keyPEM, err := initca.New(req)
  	if err != nil {
  		return nil, err
  	}
  
  	// If initca returns successfully, the following (which are
  	// all CFSSL internal functions) should not return an
  	// error. If they do, we should abort --- something about
  	// CFSSL has become inconsistent, and it can't be trusted.
  
  	priv, err := helpers.ParsePrivateKeyPEM(keyPEM)
  	assert.NoError(err, "CFSSL-generated private key can't be parsed")
  
  	cert, err := helpers.ParseCertificatePEM(certPEM)
  	assert.NoError(err, "CFSSL-generated certificate can't be parsed")
  
  	s, err := local.NewSigner(priv, cert, helpers.SignerAlgo(priv), profiles)
  	assert.NoError(err, "a signer could not be constructed")
  
  	return NewFromSigner(s), nil
  }
docs: // New generates a new CA from a certificate request and signing profile.