mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-25 11:46:19 +08:00
64 lines
1.5 KiB
Go
64 lines
1.5 KiB
Go
package pkcs
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"testing"
|
|
)
|
|
|
|
func TestPBES1(t *testing.T) {
|
|
var testCases []*PBES1
|
|
|
|
pbes1, err := NewPbeWithMD2AndDESCBC(rand.Reader, 8, 1000)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
testCases = append(testCases, pbes1)
|
|
|
|
pbes1, err = NewPbeWithMD2AndRC2CBC(rand.Reader, 8, 1000)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
testCases = append(testCases, pbes1)
|
|
|
|
pbes1, err = NewPbeWithMD5AndDESCBC(rand.Reader, 8, 1000)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
testCases = append(testCases, pbes1)
|
|
|
|
pbes1, err = NewPbeWithMD5AndRC2CBC(rand.Reader, 8, 1000)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
testCases = append(testCases, pbes1)
|
|
|
|
pbes1, err = NewPbeWithSHA1AndDESCBC(rand.Reader, 8, 1000)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
testCases = append(testCases, pbes1)
|
|
|
|
pbes1, err = NewPbeWithSHA1AndRC2CBC(rand.Reader, 8, 1000)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
testCases = append(testCases, pbes1)
|
|
|
|
for _, pbes1 := range testCases {
|
|
t.Run("", func(t *testing.T) {
|
|
_, ciphertext, err := pbes1.Encrypt(rand.Reader, []byte("password"), []byte("pbes1"))
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
|
|
plaintext, _, err := pbes1.Decrypt([]byte("password"), ciphertext)
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if string(plaintext) != "pbes1" {
|
|
t.Errorf("unexpected plaintext: got %s, want password", plaintext)
|
|
}
|
|
})
|
|
}
|
|
}
|