diff --git a/channels/identityStore_test.go b/channels/identityStore_test.go
new file mode 100644
index 0000000000000000000000000000000000000000..ec2d72f9b90d77accb42d757682fa83f333689f2
--- /dev/null
+++ b/channels/identityStore_test.go
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+// Copyright © 2022 xx foundation                                             //
+//                                                                            //
+// Use of this source code is governed by a license that can be found in the  //
+// LICENSE file                                                               //
+////////////////////////////////////////////////////////////////////////////////
+
+package channels
+
+import (
+	"bytes"
+	"encoding/base64"
+	"gitlab.com/elixxir/client/storage/versioned"
+	cryptoChannel "gitlab.com/elixxir/crypto/channel"
+	"gitlab.com/elixxir/ekv"
+	"gitlab.com/xx_network/crypto/csprng"
+	"testing"
+)
+
+func TestStoreLoadIdentity(t *testing.T) {
+	rng := &csprng.SystemRNG{}
+	privIdentity, err := cryptoChannel.GenerateIdentity(rng)
+	if err != nil {
+		t.Fatalf("GenerateIdentity error: %+v", err)
+	}
+
+	kv := versioned.NewKV(ekv.MakeMemstore())
+	err = storeIdentity(kv, privIdentity)
+	if err != nil {
+		t.Fatalf("storeIdentity error: %+v", err)
+	}
+
+	loadedIdentity, err := loadIdentity(kv)
+	if err != nil {
+		t.Fatalf("loadIdentity error: %+v", err)
+	}
+
+	if !bytes.Equal(loadedIdentity.Marshal(), privIdentity.Marshal()) {
+		t.Fatalf("Failed to load private identity."+
+			"\nExpected: %s"+
+			"\nReceived: %s",
+			base64.StdEncoding.EncodeToString(privIdentity.Marshal()),
+			base64.StdEncoding.EncodeToString(loadedIdentity.Marshal()))
+	}
+
+}
\ No newline at end of file