diff options
| author | Adnan Maolood <[email protected]> | 2021-03-04 20:04:46 -0500 |
|---|---|---|
| committer | Adnan Maolood <[email protected]> | 2021-03-04 20:04:46 -0500 |
| commit | 649b20659b02f0adc2595692ffa2854b19871f8c (patch) | |
| tree | 59de8bdbe316ff565391d981043ca7c58e5c2c74 /certificate/create.go | |
| parent | Revert "certificate.Store: Allow using '*' in DNSNames" (diff) | |
| download | go-gemini-649b20659b02f0adc2595692ffa2854b19871f8c.tar.xz go-gemini-649b20659b02f0adc2595692ffa2854b19871f8c.zip | |
Revert "certificate: Remove Subject from CreateOptions"v0.1.19
This reverts commit ce649ecc66ba390a5e9f95c027a15030f90c3b36.
Diffstat (limited to 'certificate/create.go')
| -rw-r--r-- | certificate/create.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/certificate/create.go b/certificate/create.go index 7bcb13b..2d00ded 100644 --- a/certificate/create.go +++ b/certificate/create.go @@ -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) |