auth.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package auth
  2. import (
  3. "os"
  4. "github.com/gravitl/netmaker/netclient/ncutils"
  5. // "os"
  6. )
  7. // StoreSecret - stores auth secret locally
  8. func StoreSecret(key string, network string) error {
  9. d1 := []byte(key)
  10. return os.WriteFile(ncutils.GetNetclientPathSpecific()+"secret-"+network, d1, 0600)
  11. }
  12. // RetrieveSecret - fetches secret locally
  13. func RetrieveSecret(network string) (string, error) {
  14. dat, err := ncutils.GetFileWithRetry(ncutils.GetNetclientPathSpecific()+"secret-"+network, 3)
  15. return string(dat), err
  16. }
  17. // StoreTrafficKey - stores traffic key
  18. func StoreTrafficKey(key *[32]byte, network string) error {
  19. var data, err = ncutils.ConvertKeyToBytes(key)
  20. if err != nil {
  21. return err
  22. }
  23. return os.WriteFile(ncutils.GetNetclientPathSpecific()+"traffic-"+network, data, 0600)
  24. }
  25. // RetrieveTrafficKey - reads traffic file locally
  26. func RetrieveTrafficKey(network string) (*[32]byte, error) {
  27. data, err := ncutils.GetFileWithRetry(ncutils.GetNetclientPathSpecific()+"traffic-"+network, 2)
  28. if err != nil {
  29. return nil, err
  30. }
  31. return ncutils.ConvertBytesToKey(data)
  32. }
  33. // Configuraion - struct for mac and pass
  34. type Configuration struct {
  35. MacAddress string
  36. Password string
  37. }