nomad: fixing issue with keyring upgrade
This commit is contained in:
parent
c3b902674d
commit
7ecd8f05d1
|
@ -362,7 +362,6 @@ func (b *AESGCMBarrier) Unseal(key []byte) error {
|
|||
if err := json.Unmarshal(plain, &init); err != nil {
|
||||
return fmt.Errorf("failed to unmarshal barrier init file")
|
||||
}
|
||||
defer memzero(init.Key)
|
||||
|
||||
// Setup a new keyring, this is for backwards compatability
|
||||
keyring := NewKeyring()
|
||||
|
|
|
@ -105,6 +105,14 @@ func TestAESGCMBarrier_BackwardsCompatible(t *testing.T) {
|
|||
}
|
||||
inm.Put(pe)
|
||||
|
||||
// Create a fake key
|
||||
gcm, _ = b.aeadFromKey(encrypt)
|
||||
pe = &physical.Entry{
|
||||
Key: "test/foo",
|
||||
Value: b.encrypt(initialKeyTerm, gcm, []byte("test")),
|
||||
}
|
||||
inm.Put(pe)
|
||||
|
||||
// Should still be initialized
|
||||
isInit, err := b.Initialized()
|
||||
if err != nil {
|
||||
|
@ -137,6 +145,15 @@ func TestAESGCMBarrier_BackwardsCompatible(t *testing.T) {
|
|||
if out == nil {
|
||||
t.Fatalf("should have keyring file")
|
||||
}
|
||||
|
||||
// Attempt to read encrypted key
|
||||
entry, err := b.Get("test/foo")
|
||||
if err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
if string(entry.Value) != "test" {
|
||||
t.Fatalf("bad: %#v", entry)
|
||||
}
|
||||
}
|
||||
|
||||
// Verify data sent through is encrypted
|
||||
|
|
Loading…
Reference in a new issue