diff --git a/cmd/format.go b/cmd/format.go index 04e892c7a8e8..8eecff508d32 100644 --- a/cmd/format.go +++ b/cmd/format.go @@ -242,7 +242,7 @@ func createStorage(format meta.Format) (object.ObjectStorage, error) { if err != nil { return nil, fmt.Errorf("incorrect passphrase: %s", err) } - encryptor, err := object.NewDataEncryptor(object.NewRSAEncryptor(privKey), format.EncryptAglo) + encryptor, err := object.NewDataEncryptor(object.NewRSAEncryptor(privKey), format.EncryptAlgo) if err != nil { return nil, err } @@ -385,7 +385,7 @@ func format(c *cli.Context) error { format.HashPrefix = c.Bool(flag) case "storage": format.Storage = c.String(flag) - case "encrypt-rsa-key": + case "encrypt-rsa-key", "encrypt-algo": logger.Warnf("Flag %s is ignored since it cannot be updated", flag) } } @@ -400,7 +400,7 @@ func format(c *cli.Context) error { SecretKey: c.String("secret-key"), SessionToken: c.String("session-token"), EncryptKey: loadEncrypt(c.String("encrypt-rsa-key")), - EncryptAglo: c.String("encrypt-aglo"), + EncryptAlgo: c.String("encrypt-algo"), Shards: c.Int("shards"), HashPrefix: c.Bool("hash-prefix"), Capacity: c.Uint64("capacity") << 30, diff --git a/pkg/meta/config.go b/pkg/meta/config.go index 7c5e620ec353..362d1086a011 100644 --- a/pkg/meta/config.go +++ b/pkg/meta/config.go @@ -58,7 +58,7 @@ type Format struct { Capacity uint64 `json:",omitempty"` Inodes uint64 `json:",omitempty"` EncryptKey string `json:",omitempty"` - EncryptAglo string `json:",omitempty"` + EncryptAlgo string `json:",omitempty"` KeyEncrypted bool `json:",omitempty"` TrashDays int `json:",omitempty"` MetaVersion int `json:",omitempty"` diff --git a/pkg/object/encrypt_test.go b/pkg/object/encrypt_test.go index 80c5eeb4e907..686ec85f5b6a 100644 --- a/pkg/object/encrypt_test.go +++ b/pkg/object/encrypt_test.go @@ -124,9 +124,21 @@ func BenchmarkRSA4096Decrypt(b *testing.B) { } } +func TestChaCha20(t *testing.T) { + kc := NewRSAEncryptor(testkey) + dc, _ := NewDataEncryptor(kc, CHACHA20_RSA) + data := []byte("hello") + ciphertext, _ := dc.Encrypt(data) + plaintext, _ := dc.Decrypt(ciphertext) + if !bytes.Equal(data, plaintext) { + t.Errorf("decrypt fail") + t.Fail() + } +} + func TestAESGCM(t *testing.T) { kc := NewRSAEncryptor(testkey) - dc := NewDataEncryptor(kc, AES256GCM_RSA) + dc, _ := NewDataEncryptor(kc, AES256GCM_RSA) data := []byte("hello") ciphertext, _ := dc.Encrypt(data) plaintext, _ := dc.Decrypt(ciphertext) @@ -139,7 +151,7 @@ func TestAESGCM(t *testing.T) { func TestEncryptedStore(t *testing.T) { s, _ := CreateStorage("mem", "", "", "", "") kc := NewRSAEncryptor(testkey) - dc := NewDataEncryptor(kc, AES256GCM_RSA) + dc, _ := NewDataEncryptor(kc, AES256GCM_RSA) es := NewEncrypted(s, dc) _ = es.Put("a", bytes.NewReader([]byte("hello"))) r, err := es.Get("a", 1, 2) diff --git a/pkg/object/object_storage_test.go b/pkg/object/object_storage_test.go index a36ca41270a6..68f8cdb5f015 100644 --- a/pkg/object/object_storage_test.go +++ b/pkg/object/object_storage_test.go @@ -527,7 +527,7 @@ func TestEncrypted(t *testing.T) { s, _ := CreateStorage("mem", "", "", "", "") privkey, _ := rsa.GenerateKey(rand.Reader, 2048) kc := NewRSAEncryptor(privkey) - dc := NewDataEncryptor(kc, AES256GCM_RSA) + dc, _ := NewDataEncryptor(kc, AES256GCM_RSA) es := NewEncrypted(s, dc) testStorage(t, es) }