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 SelfSign_Should_AddValidSignature() { //STC-8 var rawSignedModel = faker.PredefinedRawSignedModel(null, false, false, false); var crypto = new VirgilCrypto(); var signer = new ModelSigner(new VirgilCardCrypto()); Assert.AreEqual(rawSignedModel.Signatures.Count, 0); signer.SelfSign(rawSignedModel, faker.PredefinedKeyPair().PrivateKey); Assert.AreEqual(rawSignedModel.Signatures.Count, 1); var selfSignature = rawSignedModel.Signatures.First(); var cardId = CardUtils.GenerateCardId(new VirgilCardCrypto(), rawSignedModel.ContentSnapshot); Assert.AreEqual(selfSignature.Signer, ModelSigner.SelfSigner); Assert.AreEqual(selfSignature.Snapshot, null); Assert.True(crypto.VerifySignature( selfSignature.Signature, rawSignedModel.ContentSnapshot, faker.PredefinedKeyPair().PublicKey) ); }