Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 12, 13:15 UTC
caddypki: Allow use of root CA without a key. Fixes #6290 (#6298)
* Allow usage of root CA without a key. Fixes #6290 * Update modules/caddypki/crypto.go --------- Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Florian Apolloner committed
May 7, 2024 at 05:38 UTC
c97292b255c144dfa9f1ea1dfcdec3b82717110d
1 file changed
+11
-8
modules/caddypki/crypto.go
+11
-8
@@ -78,18 +78,21 @@ func (kp KeyPair) Load() (*x509.Certificate, crypto.Signer, error) {
78
if err != nil {
79
return nil, nil, err
80
}
81
- keyData, err := os.ReadFile(kp.PrivateKey)
82
- if err != nil {
83
- return nil, nil, err
84
- }
85
-
81
cert, err := pemDecodeSingleCert(certData)
82
if err != nil {
83
return nil, nil, err
84
}
90
- key, err := certmagic.PEMDecodePrivateKey(keyData)
91
- if err != nil {
92
- return nil, nil, err
85
+
86
+ var key crypto.Signer
87
+ if kp.PrivateKey != "" {
88
+ keyData, err := os.ReadFile(kp.PrivateKey)
89
+ if err != nil {
90
+ return nil, nil, err
91
+ }
92
+ key, err = certmagic.PEMDecodePrivateKey(keyData)
93
+ if err != nil {
94
+ return nil, nil, err
95
+ }
96
}
97
98
return cert, key, nil