Skip to content

Commit fc61b3d

Browse files
Merge pull request #9 from cert-manager/cleanup-sign
Simplify certificate issuance
2 parents 1f0dc74 + b2b8b32 commit fc61b3d

File tree

1 file changed

+6
-24
lines changed

1 file changed

+6
-24
lines changed

pkg/authority/cert/tls.go

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,16 @@ package cert
1818

1919
import (
2020
"crypto"
21-
"crypto/rand"
2221
"crypto/tls"
2322
"crypto/x509"
2423
"crypto/x509/pkix"
2524
"errors"
26-
"math/big"
2725
"sync/atomic"
2826
"time"
2927

3028
"github.com/cert-manager/webhook-cert-lib/internal/pki"
3129
)
3230

33-
var serialNumberLimit = new(big.Int).Lsh(big.NewInt(1), 128)
34-
3531
func GenerateLeaf(
3632
leafDNSNames []string,
3733
leafDuration time.Duration,
@@ -42,15 +38,8 @@ func GenerateLeaf(
4238
return nil, nil, err
4339
}
4440

45-
serialNumber, err := rand.Int(rand.Reader, serialNumberLimit)
46-
if err != nil {
47-
return nil, nil, err
48-
}
4941
now := time.Now()
50-
cert := &x509.Certificate{
51-
Version: 3,
52-
SerialNumber: serialNumber,
53-
42+
template := &x509.Certificate{
5443
DNSNames: leafDNSNames,
5544

5645
// Validity
@@ -67,12 +56,12 @@ func GenerateLeaf(
6756
}
6857

6958
// Cap the validity such that it does not extend the validity of the CA
70-
if cert.NotAfter.After(caCert.NotAfter) {
71-
cert.NotAfter = caCert.NotAfter
59+
if template.NotAfter.After(caCert.NotAfter) {
60+
template.NotAfter = caCert.NotAfter
7261
}
7362

7463
// Sign certificate using CA
75-
_, cert, err = pki.SignCertificate(cert, caCert, pk.Public(), caPk)
64+
_, cert, err := pki.SignCertificate(template, caCert, pk.Public(), caPk)
7665
return cert, pk, err
7766
}
7867

@@ -84,15 +73,8 @@ func GenerateCA(
8473
return nil, nil, err
8574
}
8675

87-
serialNumber, err := rand.Int(rand.Reader, serialNumberLimit)
88-
if err != nil {
89-
return nil, nil, err
90-
}
9176
now := time.Now()
92-
cert := &x509.Certificate{
93-
Version: 3,
94-
SerialNumber: serialNumber,
95-
77+
template := &x509.Certificate{
9678
Subject: pkix.Name{
9779
CommonName: "cert-manager-dynamic-ca",
9880
},
@@ -112,7 +94,7 @@ func GenerateCA(
11294
}
11395

11496
// self sign the root CA
115-
_, cert, err = pki.SignCertificate(cert, cert, pk.Public(), pk)
97+
_, cert, err := pki.SignCertificate(template, template, pk.Public(), pk)
11698
return cert, pk, err
11799
}
118100

0 commit comments

Comments
 (0)