mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-14 09:04:44 +08:00
adding separator
This commit is contained in:
parent
cfb0904bd6
commit
13db6ced0c
7 changed files with 22 additions and 13 deletions
4
main.go
4
main.go
|
@ -201,7 +201,7 @@ func genCerts() error {
|
|||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
ca, err := tls.ReadCert(functions.GetNetmakerPath() + "/root.pem")
|
||||
ca, err := tls.ReadCert(functions.GetNetmakerPath() + ncutils.GetSeparator() + "root.pem")
|
||||
//if cert doesn't exist or will expire within 10 days --- but can't do this as clients won't be able to connect
|
||||
//if errors.Is(err, os.ErrNotExist) || cert.NotAfter.Before(time.Now().Add(time.Hour*24*10)) {
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
|
@ -215,7 +215,7 @@ func genCerts() error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tls.SaveCert(functions.GetNetmakerPath(), "/root.pem", rootCA); err != nil {
|
||||
if err := tls.SaveCert(functions.GetNetmakerPath(), ncutils.GetSeparator()+"root.pem", rootCA); err != nil {
|
||||
return err
|
||||
}
|
||||
ca = rootCA
|
||||
|
|
|
@ -93,8 +93,8 @@ func Pull(cfg *config.ClientConfig) error {
|
|||
|
||||
_, err = functions.Pull(cfg.Network, true)
|
||||
_, newKey, kerr := ed25519.GenerateKey(rand.Reader)
|
||||
if kerr == nil {
|
||||
if kerr := tls.SaveKey(ncutils.GetNetclientPath(), "/client.key", newKey); err != nil {
|
||||
if kerr == nil && err == nil {
|
||||
if kerr := tls.SaveKey(ncutils.GetNetclientPath(), ncutils.GetSeparator()+"client.key", newKey); kerr != nil {
|
||||
logger.Log(0, "error saving key", kerr.Error())
|
||||
} else {
|
||||
if kerr = functions.RegisterWithServer(&newKey, cfg); err != nil {
|
||||
|
|
|
@ -178,7 +178,7 @@ func messageQueue(ctx context.Context, server string) {
|
|||
|
||||
// NewTLSConf sets up tls configuration to connect to broker securely
|
||||
func NewTLSConfig(server string) *tls.Config {
|
||||
file := ncutils.GetNetclientServerPath(server) + "/root.pem"
|
||||
file := ncutils.GetNetclientServerPath(server) + ncutils.GetSeparator() + "root.pem"
|
||||
certpool := x509.NewCertPool()
|
||||
ca, err := os.ReadFile(file)
|
||||
if err != nil {
|
||||
|
@ -188,7 +188,7 @@ func NewTLSConfig(server string) *tls.Config {
|
|||
if !ok {
|
||||
logger.Log(0, "failed to append cert")
|
||||
}
|
||||
clientKeyPair, err := tls.LoadX509KeyPair(ncutils.GetNetclientServerPath(server)+"/client.pem", ncutils.GetNetclientPath()+"/client.key")
|
||||
clientKeyPair, err := tls.LoadX509KeyPair(ncutils.GetNetclientServerPath(server)+ncutils.GetSeparator()+"client.pem", ncutils.GetNetclientPath()+"/client.key")
|
||||
if err != nil {
|
||||
log.Fatalf("could not read client cert/key %v \n", err)
|
||||
}
|
||||
|
|
|
@ -143,10 +143,10 @@ func publish(nodeCfg *config.ClientConfig, dest string, msg []byte, qos byte) er
|
|||
}
|
||||
|
||||
func checkCertExpiry(cfg *config.ClientConfig) error {
|
||||
cert, err := tls.ReadCert(ncutils.GetNetclientServerPath(cfg.Server.Server) + "/client.pem")
|
||||
cert, err := tls.ReadCert(ncutils.GetNetclientServerPath(cfg.Server.Server) + ncutils.GetSeparator() + "client.pem")
|
||||
//if cert doesn't exist or will expire within 10 days
|
||||
if errors.Is(err, os.ErrNotExist) || cert.NotAfter.Before(time.Now().Add(time.Hour*24*10)) {
|
||||
key, err := tls.ReadKey(ncutils.GetNetclientPath() + "/client.key")
|
||||
key, err := tls.ReadKey(ncutils.GetNetclientPath() + ncutils.GetSeparator() + "client.key")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -25,19 +25,19 @@ func Register(cfg *config.ClientConfig, key string) error {
|
|||
//generate new key if one doesn' exist
|
||||
var private *ed25519.PrivateKey
|
||||
var err error
|
||||
private, err = tls.ReadKey(ncutils.GetNetclientPath() + "/client.key")
|
||||
private, err = tls.ReadKey(ncutils.GetNetclientPath() + ncutils.GetSeparator() + "client.key")
|
||||
if err != nil {
|
||||
_, newKey, err := ed25519.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tls.SaveKey(ncutils.GetNetclientPath(), "/client.key", newKey); err != nil {
|
||||
if err := tls.SaveKey(ncutils.GetNetclientPath(), ncutils.GetSeparator()+"client.key", newKey); err != nil {
|
||||
return err
|
||||
}
|
||||
private = &newKey
|
||||
}
|
||||
//check if cert exists
|
||||
_, err = tls.ReadCert(ncutils.GetNetclientServerPath(cfg.Server.Server) + "/client.pem")
|
||||
_, err = tls.ReadCert(ncutils.GetNetclientServerPath(cfg.Server.Server) + ncutils.GetSeparator() + "client.pem")
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
if err := RegisterWithServer(private, cfg); err != nil {
|
||||
return err
|
||||
|
@ -76,10 +76,10 @@ func RegisterWithServer(private *ed25519.PrivateKey, cfg *config.ClientConfig) e
|
|||
//the pubkeys are included in the response so the values in the certificate can be updated appropriately
|
||||
resp.CA.PublicKey = resp.CAPubKey
|
||||
resp.Cert.PublicKey = resp.CertPubKey
|
||||
if err := tls.SaveCert(ncutils.GetNetclientServerPath(cfg.Server.Server)+"/", "root.pem", &resp.CA); err != nil {
|
||||
if err := tls.SaveCert(ncutils.GetNetclientServerPath(cfg.Server.Server)+ncutils.GetSeparator(), "root.pem", &resp.CA); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tls.SaveCert(ncutils.GetNetclientServerPath(cfg.Server.Server)+"/", "client.pem", &resp.Cert); err != nil {
|
||||
if err := tls.SaveCert(ncutils.GetNetclientServerPath(cfg.Server.Server)+ncutils.GetSeparator(), "client.pem", &resp.Cert); err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Log(0, "certificates/key saved ")
|
||||
|
|
|
@ -298,6 +298,15 @@ func GetNetclientPath() string {
|
|||
}
|
||||
}
|
||||
|
||||
// GetSeparator - gets the separator for OS
|
||||
func GetSeparator() string {
|
||||
if IsWindows() {
|
||||
return "\\"
|
||||
} else {
|
||||
return "/"
|
||||
}
|
||||
}
|
||||
|
||||
// GetFileWithRetry - retry getting file X number of times before failing
|
||||
func GetFileWithRetry(path string, retryCount int) ([]byte, error) {
|
||||
var data []byte
|
||||
|
|
BIN
netmaker.exe
Normal file
BIN
netmaker.exe
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue