Skip to content

Commit b6938a5

Browse files
authored
Check xcerts.Manager is initialized before adding certificates (#673)
1 parent 901358e commit b6938a5

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

cmd/console/server.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package main
1818

1919
import (
20+
"context"
2021
"fmt"
2122
"io/ioutil"
2223
"log"
@@ -146,14 +147,13 @@ func startServer(ctx *cli.Context) error {
146147
SwaggerServerCACertificate := ctx.String("tls-ca")
147148
// load tls cert and key from swagger server tls-certificate and tls-key flags
148149
if swaggerServerCertificate != "" && swaggerServerCertificateKey != "" {
149-
if errAddCert := restapi.GlobalTLSCertsManager.AddCertificate(swaggerServerCertificate, swaggerServerCertificateKey); errAddCert == nil {
150-
if x509Certs, errParseCert := config.ParsePublicCertFile(swaggerServerCertificate); errParseCert == nil && len(x509Certs) > 0 {
150+
if errAddCert := certs.AddCertificate(context.Background(), restapi.GlobalTLSCertsManager, swaggerServerCertificate, swaggerServerCertificateKey); errAddCert != nil {
151+
log.Println(errAddCert)
152+
}
153+
if x509Certs, errParseCert := config.ParsePublicCertFile(swaggerServerCertificate); errParseCert == nil {
154+
if len(x509Certs) > 0 {
151155
restapi.GlobalPublicCerts = append(restapi.GlobalPublicCerts, x509Certs[0])
152-
} else {
153-
log.Println(errParseCert)
154156
}
155-
} else {
156-
log.Println(errAddCert)
157157
}
158158
}
159159
// load ca cert from swagger server tls-ca flag

pkg/certs/certs.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,3 +228,14 @@ func GetAllCertificatesAndCAs() (*x509.CertPool, []*x509.Certificate, *xcerts.Ma
228228
logger.FatalIf(err, "Unable to load the TLS configuration")
229229
return GlobalRootCAs, globalPublicCerts, globalTLSCertsManager
230230
}
231+
232+
// AddCertificate check if Manager is initialized and then append a new certificate to it
233+
func AddCertificate(ctx context.Context, manager *xcerts.Manager, publicKey, privateKey string) (err error) {
234+
// If Cert Manager is not nil add more certificates
235+
if manager != nil {
236+
return manager.AddCertificate(publicKey, privateKey)
237+
}
238+
// Initialize cert manager
239+
manager, err = xcerts.NewManager(ctx, publicKey, privateKey, config.LoadX509KeyPair)
240+
return err
241+
}

portal-ui/src/screens/Console/Buckets/ViewBucket/ViewBucket.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -557,9 +557,7 @@ const ViewBucket = ({
557557
setPolicyEdit(row);
558558
};
559559

560-
const PolicyActions = [
561-
{ type: "view", onClick: viewAction },
562-
];
560+
const PolicyActions = [{ type: "view", onClick: viewAction }];
563561

564562
return (
565563
<Fragment>

0 commit comments

Comments
 (0)