コード例 #1
0
        public void Generate_Should_ReturnHexStringOf32SHA512()
        {
            var cardCrypto = new VirgilCardCrypto();
            var payload    = this.faker.Random.Bytes(64);
            var sha512     = cardCrypto.GenerateSHA512(payload);
            var id         = Bytes.ToString(sha512.Take(32).ToArray(), StringEncoding.HEX);

            Assert.AreEqual(id, CardUtils.GenerateCardId(cardCrypto, payload));
        }
コード例 #2
0
        public void Validate_Should_ValidateByAppSign()
        {
            var crypto               = new VirgilCrypto();
            var validator            = new VirgilCardVerifier(new VirgilCardCrypto());
            var vrigilPublicKeyBytes = crypto.ExportPublicKey(faker.PredefinedVirgilKeyPair().PublicKey);

            validator.ChangeServiceCreds(
                Bytes.ToString(vrigilPublicKeyBytes, StringEncoding.BASE64)
                );

            var appKeyPair = crypto.GenerateKeys();

            var appPublicKey = Bytes.ToString(crypto.ExportPublicKey(crypto.ExtractPublicKey(appKeyPair.PrivateKey)),
                                              StringEncoding.BASE64);

            var list = new List <VerifierCredentials>
            {
                new VerifierCredentials()
                {
                    Signer = "my_app", PublicKeyBase64 = appPublicKey
                }
            };

            //validator.Whitelist = list;
            var keypair    = crypto.GenerateKeys();
            var cardCrypto = new VirgilCardCrypto();

            /* var csr = CSR.Generate(cardCrypto, new CardParams
             * {
             *   Identity = "some_identity",
             *   PublicKey = crypto.ExtractPublicKey(keypair.PrivateKey),
             *   PrivateKey = keypair.PrivateKey
             * });
             *
             *
             * csr.Sign(cardCrypto, new ExtendedSignParams
             * {
             *   SignerId = "",
             *   SignerType = SignerType.App.ToLowerString(),
             *   SignerPrivateKey = appKeyPair.PrivateKey
             * });
             *
             * var card = CardUtils.Parse(cardCrypto, csr.RawSignedModel);
             *
             * var result = validator.VerifyCard(card);
             * result.Should().BeTrue();*/
        }