@@ -408,9 +408,9 @@ func Regenerate(priv crypto.Signer, csr []byte) ([]byte, error) {
408408 return x509 .CreateCertificateRequest (rand .Reader , req , priv )
409409}
410410
411- // Generate creates a new CSR from a CertificateRequest structure and
411+ // GenerateDER creates a new CSR(ASN1 DER encoded) from a CertificateRequest structure and
412412// an existing key. The KeyRequest field is ignored.
413- func Generate (priv crypto.Signer , req * CertificateRequest ) (csr []byte , err error ) {
413+ func GenerateDER (priv crypto.Signer , req * CertificateRequest ) (csr []byte , err error ) {
414414 sigAlgo := helpers .SignerAlgo (priv )
415415 if sigAlgo == x509 .UnknownSignatureAlgorithm {
416416 return nil , cferr .New (cferr .PrivateKeyError , cferr .Unavailable )
@@ -466,6 +466,17 @@ func Generate(priv crypto.Signer, req *CertificateRequest) (csr []byte, err erro
466466 err = cferr .Wrap (cferr .CSRError , cferr .BadRequest , err )
467467 return
468468 }
469+ return
470+ }
471+
472+ // Generate creates a new CSR(PEM encoded) from a CertificateRequest structure and
473+ // an existing key. The KeyRequest field is ignored.
474+ func Generate (priv crypto.Signer , req * CertificateRequest ) (csr []byte , err error ) {
475+
476+ csr , err = GenerateDER (priv , req )
477+ if err != nil {
478+ return
479+ }
469480 block := pem.Block {
470481 Type : "CERTIFICATE REQUEST" ,
471482 Bytes : csr ,
0 commit comments