Exemple #1
0
        public void Export_WithoutParameters_ShouldBeEquivalentToImportedRequest()
        {
            var crypto = new VirgilCrypto();

            var aliceKeys         = crypto.GenerateKeys();
            var exportedPublicKey = crypto.ExportPublicKey(aliceKeys.PublicKey);

            const string identity     = "alice";
            const string identityType = "member";

            var request = new CreateCardRequest
                          (
                identity,
                identityType,
                exportedPublicKey,
                new Dictionary <string, string>
            {
                ["key1"] = "value1",
                ["key2"] = "value2"
            },
                new DeviceInfo
            {
                Device     = "Device",
                DeviceName = "DeviceName"
            }
                          );

            var requestSigner = new RequestSigner(crypto);

            requestSigner.SelfSign(request, aliceKeys.PrivateKey);

            var exportedRequest = request.Export();
            var importedRequest = SignableRequest.Import <CreateCardRequest>(exportedRequest);

            request.ShouldBeEquivalentTo(importedRequest);
        }