func()

in toolkit/certificates/certoperator/cert_operator.go [112:137]


func (o *certOperatorImp) CreateCertificate(
	ctx context.Context,
	csr *x509.Certificate,
	keyPem string,
	caCert *x509.Certificate,
	caKey *rsa.PrivateKey) (string, *retry.Error) {
	key, err := o.pemToPrivateKey(ctx, keyPem)
	if err != nil {
		log.MustGetLogger(ctx).Errorf(ctx, "PemToPrivateKey failed: %s", err)
		return "", retry.NewError(false, err)
	}

	cert, rerr := o.certGenerator.CreateCertificate(ctx, csr, key, caCert, caKey)
	if rerr != nil {
		log.MustGetLogger(ctx).Errorf(ctx, "CreateCertificate failed: %v", rerr)
		return "", rerr
	}

	certBytes, err := o.certificateToPem(ctx, cert)
	if err != nil {
		log.MustGetLogger(ctx).Errorf(ctx, "CertificateToPem failed: %s", err)
		return "", retry.NewError(false, err)
	}
	log.MustGetLogger(ctx).Infof(ctx, "certificate %v is generated successfully", csr.Subject.CommonName)
	return string(certBytes), nil
}