mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-27 04:36:19 +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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -22,7 +22,7 @@ func TestKeyExchangeSample(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
rB, s2, err := responsder.RepondKeyExchange(rand.Reader, rA)
|
rB, s2, err := responder.RepondKeyExchange(rand.Reader, rA)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -32,12 +32,12 @@ func TestKeyExchangeSample(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = responsder.ConfirmInitiator(s1)
|
err = responder.ConfirmInitiator(s1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
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")
|
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) {
|
func TestWrapKey(t *testing.T) {
|
||||||
masterKey, err := GenerateEncryptMasterKey(rand.Reader)
|
masterKey, err := GenerateEncryptMasterKey(rand.Reader)
|
||||||
hid := byte(0x01)
|
hid := byte(0x01)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user