Browse Source

use cert request public key

Matthew R. Kasun 3 years ago
parent
commit
1adee64e21
1 changed files with 9 additions and 11 deletions
  1. 9 11
      tls/tls.go

+ 9 - 11
tls/tls.go

@@ -148,18 +148,16 @@ func SelfSignedCA(key ed25519.PrivateKey, req *x509.CertificateRequest, days int
 // issues a new certificate from a parent certificate authority
 // issues a new certificate from a parent certificate authority
 func NewEndEntityCert(key ed25519.PrivateKey, req *x509.CertificateRequest, parent *x509.Certificate, days int) (*x509.Certificate, error) {
 func NewEndEntityCert(key ed25519.PrivateKey, req *x509.CertificateRequest, parent *x509.Certificate, days int) (*x509.Certificate, error) {
 	template := &x509.Certificate{
 	template := &x509.Certificate{
-		Version:            req.Version,
-		NotBefore:          time.Now(),
-		NotAfter:           time.Now().Add(duration(days)),
-		SerialNumber:       serialNumber(),
-		SignatureAlgorithm: req.SignatureAlgorithm,
-		PublicKeyAlgorithm: req.PublicKeyAlgorithm,
-		PublicKey:          key.Public(),
-		Subject:            req.Subject,
-		SubjectKeyId:       req.RawSubject,
-		Issuer:             parent.Subject,
+		Version:               req.Version,
+		NotBefore:             time.Now(),
+		NotAfter:              time.Now().Add(duration(days)),
+		SerialNumber:          serialNumber(),
+		Subject:               req.Subject,
+		Issuer:                parent.Subject,
+		KeyUsage:              x509.KeyUsageDigitalSignature,
+		BasicConstraintsValid: true,
 	}
 	}
-	rootCa, err := x509.CreateCertificate(rand.Reader, template, parent, key.Public(), key)
+	rootCa, err := x509.CreateCertificate(rand.Reader, template, parent, req.PublicKey, key)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}