From 7841bbb097c839f855158ee631a13b51bc98744e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Wed, 2 Aug 2023 09:09:08 +0000 Subject: [PATCH] fix ca key save issue --- pkg/certs/mitm.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pkg/certs/mitm.go b/pkg/certs/mitm.go index 163fd3bf..cd359937 100644 --- a/pkg/certs/mitm.go +++ b/pkg/certs/mitm.go @@ -44,7 +44,19 @@ func GetMitMConfig() *mitm.Config { func SaveCAToFile(filename string) error { buffer := &bytes.Buffer{} - _ = pem.Encode(buffer, &pem.Block{Type: "CERTIFICATE", Bytes: cert.Raw}) + err := pem.Encode(buffer, &pem.Block{Type: "CERTIFICATE", Bytes: cert.Raw}) + if err != nil { + return err + } + return os.WriteFile(filename, buffer.Bytes(), 0600) +} + +func SaveKeyToFile(filename string) error { + buffer := &bytes.Buffer{} + err := pem.Encode(buffer, &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(pkey)}) + if err != nil { + return err + } return os.WriteFile(filename, buffer.Bytes(), 0600) } @@ -58,14 +70,9 @@ func generateCertificate(certFile, keyFile string) error { if err = SaveCAToFile(certFile); err != nil { gologger.Fatal().Msgf("failed to save certFile to disk got %v", err) } - kf, err := os.OpenFile(keyFile, os.O_WRONLY, 0600) - if err != nil { - gologger.Fatal().Msgf("failed to load open %v while saving private key got %v", keyFile, err) - } - if err := pem.Encode(kf, &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(pkey)}); err != nil { + if err := SaveKeyToFile(keyFile); err != nil { gologger.Fatal().Msgf("failed to write private key to file got %v", err) } - _ = kf.Close() return nil }