2018-10-15 18:44:15 +00:00
|
|
|
package writefreely
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io/ioutil"
|
2018-11-11 22:16:05 +00:00
|
|
|
"path/filepath"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
keysDir = "keys"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
emailKeyPath = filepath.Join(keysDir, "email.aes256")
|
|
|
|
cookieAuthKeyPath = filepath.Join(keysDir, "cookies_auth.aes256")
|
|
|
|
cookieKeyPath = filepath.Join(keysDir, "cookies_enc.aes256")
|
2018-10-15 18:44:15 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type keychain struct {
|
2018-10-17 00:30:38 +00:00
|
|
|
emailKey, cookieAuthKey, cookieKey []byte
|
2018-10-15 18:44:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func initKeys(app *app) error {
|
|
|
|
var err error
|
|
|
|
app.keys = &keychain{}
|
|
|
|
|
2018-11-11 22:16:05 +00:00
|
|
|
app.keys.emailKey, err = ioutil.ReadFile(emailKeyPath)
|
2018-10-17 00:30:38 +00:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2018-11-11 22:16:05 +00:00
|
|
|
app.keys.cookieAuthKey, err = ioutil.ReadFile(cookieAuthKeyPath)
|
2018-10-15 18:44:15 +00:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2018-11-11 22:16:05 +00:00
|
|
|
app.keys.cookieKey, err = ioutil.ReadFile(cookieKeyPath)
|
2018-10-15 18:44:15 +00:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|