address pr remarks
This commit is contained in:
@@ -9,10 +9,11 @@ import (
|
||||
)
|
||||
|
||||
var ErrShortCipherText = errors.New("ciphertext too short")
|
||||
var ErrNoEncryptionKey = errors.New("encryption key is required")
|
||||
|
||||
func EncryptWithAESKey(data, key []byte) ([]byte, error) {
|
||||
if key == nil {
|
||||
return data, nil
|
||||
return data, ErrNoEncryptionKey
|
||||
}
|
||||
|
||||
block, err := aes.NewCipher(key)
|
||||
@@ -35,7 +36,7 @@ func EncryptWithAESKey(data, key []byte) ([]byte, error) {
|
||||
|
||||
func DecryptStringWithAESKey(data, key []byte) ([]byte, error) {
|
||||
if key == nil {
|
||||
return data, nil
|
||||
return data, ErrNoEncryptionKey
|
||||
}
|
||||
|
||||
block, err := aes.NewCipher(key)
|
||||
|
||||
@@ -3,6 +3,7 @@ package crypto
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -28,10 +29,10 @@ func TestAESEncryption(t *testing.T) {
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "nil key returns original data",
|
||||
name: "nil key returns error",
|
||||
data: []byte("hello world"),
|
||||
key: nil,
|
||||
wantErr: false,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "empty data",
|
||||
@@ -59,6 +60,8 @@ func TestAESEncryption(t *testing.T) {
|
||||
}
|
||||
require.NoError(t, err)
|
||||
|
||||
fmt.Println(string(encrypted))
|
||||
|
||||
decrypted, err := DecryptStringWithAESKey(encrypted, tt.key)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -98,6 +101,12 @@ func TestDecryptionErrors(t *testing.T) {
|
||||
key: key,
|
||||
errMsg: "message authentication failed",
|
||||
},
|
||||
{
|
||||
name: "missing key",
|
||||
data: []byte("<22>`M<><4D><EFBFBD>l\u001AIF<49>\u0012<31><32><EFBFBD>=h<>?<3F>c<EFBFBD> <20><>\u0012<31><32><EFBFBD><EFBFBD>\u001C<31>\u0018Ƽ(g"),
|
||||
key: nil,
|
||||
errMsg: "encryption key is required",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
||||
@@ -210,16 +210,15 @@ func TestEncryptedMeta(t *testing.T) {
|
||||
"secret2": "value2",
|
||||
"secret3": "value3",
|
||||
}
|
||||
var opts []delegation.Option
|
||||
for k, v := range values {
|
||||
opts = append(opts, delegation.WithEncryptedMeta(k, v, encryptionKey))
|
||||
}
|
||||
|
||||
// Create token with multiple encrypted values
|
||||
tkn, err := delegation.New(privKey, aud, cmd, pol, delegation.WithMeta("foo", "bar"))
|
||||
tkn, err := delegation.New(privKey, aud, cmd, pol, opts...)
|
||||
require.NoError(t, err)
|
||||
|
||||
for k, v := range values {
|
||||
err := tkn.Meta().AddEncrypted(k, v, encryptionKey)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
data, err := tkn.ToDagCbor(privKey)
|
||||
require.NoError(t, err)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user