Skip to content

Commit a498c02

Browse files
authored
Merge pull request hoisie#207 from hoisie/key-cleanup
Move encKey and signKey from ServerConfig to Server
2 parents 3a2d960 + 83519dd commit a498c02

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

secure_cookie.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ var (
2525
)
2626

2727
func (ctx *Context) SetSecureCookie(name string, val string, age int64) error {
28-
serverConfig := ctx.Server.Config
29-
if len(serverConfig.CookieSecret) == 0 {
28+
server := ctx.Server
29+
if len(server.Config.CookieSecret) == 0 {
3030
return ErrMissingCookieSecret
3131
}
32-
if len(serverConfig.encKey) == 0 || len(serverConfig.signKey) == 0 {
32+
if len(server.encKey) == 0 || len(server.signKey) == 0 {
3333
return ErrInvalidKey
3434
}
35-
ciphertext, err := encrypt([]byte(val), serverConfig.encKey)
35+
ciphertext, err := encrypt([]byte(val), server.encKey)
3636
if err != nil {
3737
return err
3838
}
39-
sig := sign(ciphertext, serverConfig.signKey)
39+
sig := sign(ciphertext, server.signKey)
4040
data := base64.StdEncoding.EncodeToString(ciphertext) + "|" + base64.StdEncoding.EncodeToString(sig)
4141
ctx.SetCookie(NewCookie(name, data, age))
4242
return nil
@@ -59,11 +59,11 @@ func (ctx *Context) GetSecureCookie(name string) (string, bool) {
5959
if err != nil {
6060
return "", false
6161
}
62-
expectedSig := sign([]byte(ciphertext), ctx.Server.Config.signKey)
62+
expectedSig := sign([]byte(ciphertext), ctx.Server.signKey)
6363
if !bytes.Equal(expectedSig, sig) {
6464
return "", false
6565
}
66-
plaintext, err := decrypt(ciphertext, ctx.Server.Config.encKey)
66+
plaintext, err := decrypt(ciphertext, ctx.Server.encKey)
6767
if err != nil {
6868
return "", false
6969
}

server.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ type ServerConfig struct {
2828
RecoverPanic bool
2929
Profiler bool
3030
ColorOutput bool
31-
encKey []byte
32-
signKey []byte
3331
}
3432

3533
// Server represents a web.go server.
@@ -39,7 +37,9 @@ type Server struct {
3937
Logger *log.Logger
4038
Env map[string]interface{}
4139
//save the listener so it can be closed
42-
l net.Listener
40+
l net.Listener
41+
encKey []byte
42+
signKey []byte
4343
}
4444

4545
func NewServer() *Server {
@@ -61,8 +61,8 @@ func (s *Server) initServer() {
6161

6262
if len(s.Config.CookieSecret) > 0 {
6363
s.Logger.Println("Generating cookie encryption keys")
64-
s.Config.encKey = genKey(s.Config.CookieSecret, "encryption key salt")
65-
s.Config.signKey = genKey(s.Config.CookieSecret, "signature key salt")
64+
s.encKey = genKey(s.Config.CookieSecret, "encryption key salt")
65+
s.signKey = genKey(s.Config.CookieSecret, "signature key salt")
6666
}
6767
}
6868

0 commit comments

Comments
 (0)