mirror of
https://github.com/gravitl/netmaker.git
synced 2024-09-20 15:26:04 +08:00
fix logic for key/cert gen on start
Signed-off-by: Matthew R. Kasun <mkasun@nusak.ca>
This commit is contained in:
parent
31b3dfec14
commit
9eddb971cc
|
@ -25,24 +25,26 @@ func Register(cfg *config.ClientConfig, key string) error {
|
|||
return errors.New("no access key provided")
|
||||
}
|
||||
//generate new key if one doesn' exist
|
||||
private, err := tls.ReadKey(ncutils.GetNetclientPath() + "/client.key")
|
||||
var private *ed25519.PrivateKey
|
||||
var err error
|
||||
private, err = tls.ReadKey(ncutils.GetNetclientPath() + "/client.key")
|
||||
if err != nil {
|
||||
_, *private, err = ed25519.GenerateKey(rand.Reader)
|
||||
_, newKey, err := ed25519.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tls.SaveKey(ncutils.GetNetclientPath(), "/client.key", *private); err != nil {
|
||||
if err := tls.SaveKey(ncutils.GetNetclientPath(), "/client.key", newKey); err != nil {
|
||||
return err
|
||||
}
|
||||
private = &newKey
|
||||
}
|
||||
//check if cert exists
|
||||
_, err = tls.ReadCert(ncutils.GetNetclientServerPath(cfg.Server.Server) + "/client.pem")
|
||||
if err != os.ErrNotExist {
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
if err := RegisterWithServer(private, cfg); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
return JoinNetwork(cfg, key, false)
|
||||
|
|
Loading…
Reference in a new issue