func()

in toolkit/certificates/certgenerator/cert_generator.go [29:49]


func (c *certificateGeneratorImp) CreateSelfSignedCertificateKeyPair(ctx context.Context, csr *x509.Certificate) (*x509.Certificate, *rsa.PrivateKey, *retry.Error) {
	if csr == nil {
		return nil, nil, retry.NewError(false, fmt.Errorf("certificate signing request is nil"))
	}

	logger := log.MustGetLogger(ctx)

	privateKey, err := rsa.GenerateKey(rand.Reader, KeySize)
	if err != nil {
		logger.Errorf(ctx, "rsa.GenerateKeyfailed: %s", err)
		return nil, nil, retry.NewError(true, err)
	}

	certificate, rerr := c.certCreator.CreateCertificateWithPublicKey(ctx, csr, &privateKey.PublicKey, csr, privateKey)
	if rerr != nil {
		logger.Errorf(ctx, "createCertificate failed: %+v", rerr)
		return nil, nil, rerr
	}

	return certificate, privateKey, nil
}