Files
cloud-services/pkg/security/encryptor.go

31 lines
807 B
Go

package security
import (
"sync"
"github.com/fiskerinc/cloud-services/pkg/utils/envtool"
)
var envOnce sync.Once
var master_key = []byte{}
var master_auth = []byte{}
var master_nouce = []byte{}
type Encrypt struct{}
func (enc *Encrypt) GetEncryptor() (IEncryptor, error) {
envOnce.Do(func() {
master_key = []byte(envtool.GetEnv("MASTER_KEY", "REPLACE_ME_REPLACE_ME_REPLACE_ME"))
master_auth = []byte(envtool.GetEnv("MASTER_KEY_AUTH", "REPLACE_ME_REPLACE_ME"))
master_nouce = []byte(envtool.GetEnv("MASTER_KEY_NOUNCE", "_REPLACE_ME_"))
})
key, auth, nonce := enc.getMasterKey()
encryptor, _, err := NewEncryptor([]byte(key), []byte(auth), []byte(nonce))
return encryptor, err
}
func (enc *Encrypt) getMasterKey() ([]byte, []byte, []byte) {
return master_key, master_auth, master_nouce
}