private string GetDigest(IndyTaa taa) { using (var shaAlgorithm = SHA256.Create()) return(shaAlgorithm.ComputeHash( $"{taa.Version}{taa.Text}" .GetUTF8Bytes()) .ToHexString()); }
/// <inheritdoc /> public async Task AcceptTxnAuthorAgreementAsync(Wallet wallet, IndyTaa txnAuthorAgreement) { var provisioning = await GetProvisioningAsync(wallet); provisioning.TaaAcceptance = new IndyTaaAcceptance { Digest = GetDigest(txnAuthorAgreement), Text = txnAuthorAgreement.Text, Version = txnAuthorAgreement.Version, AcceptanceDate = DateTimeOffset.UtcNow.ToUnixTimeSeconds() }; await RecordService.UpdateAsync(wallet, provisioning); }
/// <inheritdoc /> public async Task AcceptTxnAuthorAgreementAsync(IAgentContext agentContext, IndyTaa txnAuthorAgreement, string acceptanceMechanism = "service_agreement") { var provisioning = await GetProvisioningAsync(agentContext.Wallet); provisioning.TaaAcceptance = new IndyTaaAcceptance { Digest = GetDigest(txnAuthorAgreement), Text = txnAuthorAgreement.Text, Version = txnAuthorAgreement.Version, AcceptanceDate = DateTimeOffset.UtcNow.ToUnixTimeSeconds(), AcceptanceMechanism = acceptanceMechanism }; await RecordService.UpdateAsync(agentContext.Wallet, provisioning); }