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
}