@@ -18,20 +18,16 @@ package cert
18
18
19
19
import (
20
20
"crypto"
21
- "crypto/rand"
22
21
"crypto/tls"
23
22
"crypto/x509"
24
23
"crypto/x509/pkix"
25
24
"errors"
26
- "math/big"
27
25
"sync/atomic"
28
26
"time"
29
27
30
28
"github.com/cert-manager/webhook-cert-lib/internal/pki"
31
29
)
32
30
33
- var serialNumberLimit = new (big.Int ).Lsh (big .NewInt (1 ), 128 )
34
-
35
31
func GenerateLeaf (
36
32
leafDNSNames []string ,
37
33
leafDuration time.Duration ,
@@ -42,15 +38,8 @@ func GenerateLeaf(
42
38
return nil , nil , err
43
39
}
44
40
45
- serialNumber , err := rand .Int (rand .Reader , serialNumberLimit )
46
- if err != nil {
47
- return nil , nil , err
48
- }
49
41
now := time .Now ()
50
- cert := & x509.Certificate {
51
- Version : 3 ,
52
- SerialNumber : serialNumber ,
53
-
42
+ template := & x509.Certificate {
54
43
DNSNames : leafDNSNames ,
55
44
56
45
// Validity
@@ -67,12 +56,12 @@ func GenerateLeaf(
67
56
}
68
57
69
58
// 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
72
61
}
73
62
74
63
// Sign certificate using CA
75
- _ , cert , err = pki .SignCertificate (cert , caCert , pk .Public (), caPk )
64
+ _ , cert , err : = pki .SignCertificate (template , caCert , pk .Public (), caPk )
76
65
return cert , pk , err
77
66
}
78
67
@@ -84,15 +73,8 @@ func GenerateCA(
84
73
return nil , nil , err
85
74
}
86
75
87
- serialNumber , err := rand .Int (rand .Reader , serialNumberLimit )
88
- if err != nil {
89
- return nil , nil , err
90
- }
91
76
now := time .Now ()
92
- cert := & x509.Certificate {
93
- Version : 3 ,
94
- SerialNumber : serialNumber ,
95
-
77
+ template := & x509.Certificate {
96
78
Subject : pkix.Name {
97
79
CommonName : "cert-manager-dynamic-ca" ,
98
80
},
@@ -112,7 +94,7 @@ func GenerateCA(
112
94
}
113
95
114
96
// 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 )
116
98
return cert , pk , err
117
99
}
118
100
0 commit comments