1
0
Fork 0
mirror of https://git.sr.ht/~adnano/go-gemini synced 2024-05-06 00:26:19 +02:00

Revert "certificate: Remove Subject from CreateOptions"

This reverts commit ce649ecc66.
This commit is contained in:
Adnan Maolood 2021-03-04 20:04:46 -05:00
parent c9e2af98f3
commit 649b20659b
3 changed files with 17 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import (
"crypto/rand"
"crypto/tls"
"crypto/x509"
"crypto/x509/pkix"
"encoding/pem"
"math/big"
"net"
@ -27,6 +28,13 @@ type CreateOptions struct {
// Should contain the IP addresses that the certificate is valid for.
IPAddresses []net.IP
// Subject specifies the certificate Subject.
//
// Subject.CommonName can contain the DNS name that this certificate
// is valid for. Server certificates should specify both a Subject
// and a Subject Alternate Name.
Subject pkix.Name
// Duration specifies the amount of time that the certificate is valid for.
Duration time.Duration
@ -92,6 +100,7 @@ func newX509KeyPair(options CreateOptions) (*x509.Certificate, crypto.PrivateKey
BasicConstraintsValid: true,
IPAddresses: options.IPAddresses,
DNSNames: options.DNSNames,
Subject: options.Subject,
}
crt, err := x509.CreateCertificate(rand.Reader, &template, &template, pub, priv)

View File

@ -3,6 +3,7 @@ package certificate
import (
"crypto/tls"
"crypto/x509"
"crypto/x509/pkix"
"errors"
"fmt"
"io/fs"
@ -169,6 +170,9 @@ func (s *Store) createCertificate(scope string) (tls.Certificate, error) {
}
return Create(CreateOptions{
DNSNames: []string{scope},
Subject: pkix.Name{
CommonName: scope,
},
Duration: 250 * 365 * 24 * time.Hour,
})
}

View File

@ -5,6 +5,7 @@
package main
import (
"crypto/x509/pkix"
"fmt"
"log"
"os"
@ -24,6 +25,9 @@ func main() {
log.Fatal(err)
}
options := certificate.CreateOptions{
Subject: pkix.Name{
CommonName: host,
},
DNSNames: []string{host},
Duration: duration,
}