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)); }
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();*/ }