mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 12:16:20 +08:00
add unit test case and fix typo
This commit is contained in:
parent
2071214f1f
commit
f437855de0
@ -13,7 +13,7 @@ func TestKeyExchangeSample(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
responsder, err := NewKeyExchange(priv2, &priv1.PublicKey, []byte("Bob"), []byte("Alice"), 32, true)
|
||||
responder, err := NewKeyExchange(priv2, &priv1.PublicKey, []byte("Bob"), []byte("Alice"), 32, true)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@ -22,7 +22,7 @@ func TestKeyExchangeSample(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
rB, s2, err := responsder.RepondKeyExchange(rand.Reader, rA)
|
||||
rB, s2, err := responder.RepondKeyExchange(rand.Reader, rA)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@ -32,12 +32,12 @@ func TestKeyExchangeSample(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = responsder.ConfirmInitiator(s1)
|
||||
err = responder.ConfirmInitiator(s1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if hex.EncodeToString(initiator.key) != hex.EncodeToString(responsder.key) {
|
||||
if hex.EncodeToString(initiator.key) != hex.EncodeToString(responder.key) {
|
||||
t.Errorf("got different key")
|
||||
}
|
||||
}
|
||||
|
@ -194,6 +194,56 @@ func TestKeyExchangeSample(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestKeyExchange(t *testing.T) {
|
||||
hid := byte(0x02)
|
||||
userA := []byte("Alice")
|
||||
userB := []byte("Bob")
|
||||
masterKey, err := GenerateEncryptMasterKey(rand.Reader)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
userKey, err := masterKey.GenerateUserKey(userA, hid)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
initiator := NewKeyExchange(userKey, userA, userB, 16, true)
|
||||
|
||||
userKey, err = masterKey.GenerateUserKey(userB, hid)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
responder := NewKeyExchange(userKey, userB, userA, 16, true)
|
||||
|
||||
// A1-A4
|
||||
rA, err := initiator.InitKeyExchange(rand.Reader, hid)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// B1 - B7
|
||||
rB, sigB, err := responder.RepondKeyExchange(rand.Reader, hid, rA)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// A5 -A8
|
||||
sigA, err := initiator.ConfirmResponder(rB, sigB)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// B8
|
||||
err = responder.ConfirmInitiator(sigA)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if hex.EncodeToString(initiator.GetSharedKey()) != hex.EncodeToString(responder.GetSharedKey()) {
|
||||
t.Errorf("got different key")
|
||||
}
|
||||
}
|
||||
|
||||
func TestWrapKey(t *testing.T) {
|
||||
masterKey, err := GenerateEncryptMasterKey(rand.Reader)
|
||||
hid := byte(0x01)
|
||||
|
Loading…
x
Reference in New Issue
Block a user