summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go')
-rw-r--r--vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go82
1 files changed, 48 insertions, 34 deletions
diff --git a/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go
index 19538df77..e1d52c122 100644
--- a/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go
+++ b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go
@@ -61,43 +61,57 @@ func TestSymmetricKeyEncrypted(t *testing.T) {
const symmetricallyEncryptedHex = "8c0d04030302371a0b38d884f02060c91cf97c9973b8e58e028e9501708ccfe618fb92afef7fa2d80ddadd93cf"
const symmetricallyEncryptedContentsHex = "cb1062004d14c4df636f6e74656e74732e0a"
-func TestSerializeSymmetricKeyEncrypted(t *testing.T) {
- buf := bytes.NewBuffer(nil)
- passphrase := []byte("testing")
- const cipherFunc = CipherAES128
- config := &Config{
- DefaultCipher: cipherFunc,
+func TestSerializeSymmetricKeyEncryptedCiphers(t *testing.T) {
+ tests := [...]struct {
+ cipherFunc CipherFunction
+ name string
+ }{
+ {Cipher3DES, "Cipher3DES"},
+ {CipherCAST5, "CipherCAST5"},
+ {CipherAES128, "CipherAES128"},
+ {CipherAES192, "CipherAES192"},
+ {CipherAES256, "CipherAES256"},
}
- key, err := SerializeSymmetricKeyEncrypted(buf, passphrase, config)
- if err != nil {
- t.Errorf("failed to serialize: %s", err)
- return
- }
+ for _, test := range tests {
+ var buf bytes.Buffer
+ passphrase := []byte("testing")
+ config := &Config{
+ DefaultCipher: test.cipherFunc,
+ }
- p, err := Read(buf)
- if err != nil {
- t.Errorf("failed to reparse: %s", err)
- return
- }
- ske, ok := p.(*SymmetricKeyEncrypted)
- if !ok {
- t.Errorf("parsed a different packet type: %#v", p)
- return
- }
+ key, err := SerializeSymmetricKeyEncrypted(&buf, passphrase, config)
+ if err != nil {
+ t.Errorf("cipher(%s) failed to serialize: %s", test.name, err)
+ continue
+ }
- if ske.CipherFunc != config.DefaultCipher {
- t.Errorf("SKE cipher function is %d (expected %d)", ske.CipherFunc, config.DefaultCipher)
- }
- parsedKey, parsedCipherFunc, err := ske.Decrypt(passphrase)
- if err != nil {
- t.Errorf("failed to decrypt reparsed SKE: %s", err)
- return
- }
- if !bytes.Equal(key, parsedKey) {
- t.Errorf("keys don't match after Decrypt: %x (original) vs %x (parsed)", key, parsedKey)
- }
- if parsedCipherFunc != cipherFunc {
- t.Errorf("cipher function doesn't match after Decrypt: %d (original) vs %d (parsed)", cipherFunc, parsedCipherFunc)
+ p, err := Read(&buf)
+ if err != nil {
+ t.Errorf("cipher(%s) failed to reparse: %s", test.name, err)
+ continue
+ }
+
+ ske, ok := p.(*SymmetricKeyEncrypted)
+ if !ok {
+ t.Errorf("cipher(%s) parsed a different packet type: %#v", test.name, p)
+ continue
+ }
+
+ if ske.CipherFunc != config.DefaultCipher {
+ t.Errorf("cipher(%s) SKE cipher function is %d (expected %d)", test.name, ske.CipherFunc, config.DefaultCipher)
+ }
+ parsedKey, parsedCipherFunc, err := ske.Decrypt(passphrase)
+ if err != nil {
+ t.Errorf("cipher(%s) failed to decrypt reparsed SKE: %s", test.name, err)
+ continue
+ }
+ if !bytes.Equal(key, parsedKey) {
+ t.Errorf("cipher(%s) keys don't match after Decrypt: %x (original) vs %x (parsed)", test.name, key, parsedKey)
+ }
+ if parsedCipherFunc != test.cipherFunc {
+ t.Errorf("cipher(%s) cipher function doesn't match after Decrypt: %d (original) vs %d (parsed)",
+ test.name, test.cipherFunc, parsedCipherFunc)
+ }
}
}