mirror of
https://github.com/number571/go-peer.git
synced 2026-09-14 11:05:42 +05:00
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
// nolint: goerr113
|
|
package client
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/number571/go-peer/pkg/crypto/asymmetric"
|
|
)
|
|
|
|
func TestClient(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
client := NewClient(
|
|
asymmetric.NewPrivKeyChain(
|
|
asymmetric.NewKEncPrivKey(),
|
|
asymmetric.NewSignPrivKey(),
|
|
),
|
|
(8 << 10),
|
|
)
|
|
|
|
kemPubKey := client.GetPrivKeyChain().GetKEncPrivKey().GetPubKey()
|
|
msg := []byte("hello, world!")
|
|
|
|
enc, err := client.EncryptMessage(kemPubKey, msg)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
|
|
// os.WriteFile("test_binary.msg", enc, 0600)
|
|
// os.WriteFile("test_string.msg", []byte(encoding.HexEncode(enc)), 0600)
|
|
|
|
signerPubKey := client.GetPrivKeyChain().GetSignPrivKey().GetPubKey()
|
|
gotSignPubKey, dec, err := client.DecryptMessage(enc)
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if !bytes.Equal(signerPubKey.ToBytes(), gotSignPubKey.ToBytes()) {
|
|
t.Error("invalid decrypt signer key")
|
|
return
|
|
}
|
|
if !bytes.Equal(msg, dec) {
|
|
t.Error("invalid decrypt message")
|
|
return
|
|
}
|
|
|
|
// fmt.Println(client.GetMessageLimit())
|
|
// fmt.Println(len(client.GetPrivKeyChain().GetPubKeyChain().ToString()))
|
|
}
|