code: func MakeCSR(privateKey interface{}, subject *pkix.Name, dnsSANs []string, ipSANs []net.IP) (csr []byte, err error) {
  	template := &x509.CertificateRequest{
  		Subject:     *subject,
  		DNSNames:    dnsSANs,
  		IPAddresses: ipSANs,
  	}
  
  	return MakeCSRFromTemplate(privateKey, template)
  }
docs: // MakeCSR generates a PEM-encoded CSR using the supplied private key, subject, and SANs.
  // All key types that are implemented via crypto.Signer are supported (This includes *rsa.PrivateKey and *ecdsa.PrivateKey.)