private static async Task Output(BaseTransaction tx, bool copyToClipboard, string party) { tx.TransactionTime = DateTime.Now; var jsonString = JsonConvert.SerializeObject(tx, new TransactionSerializerSettings()); var byteArray = Encoding.UTF8.GetBytes(jsonString); var transactionToken = new TransactionToken(byteArray); var currentDirectory = Directory.GetCurrentDirectory(); if (!currentDirectory.Contains("netcoreapp")) { throw new Exception("Please execute the request creator within netcoreapp2.0 folder."); } var basePath = Path.Combine(currentDirectory, "..", "..", "..", "..", "..", "certificates"); var certificate = new X509Certificate2(Path.Combine(basePath, $"{party}.p12"), "thinktecture"); transactionToken.Sign(certificate); var tokenString = transactionToken.ToTokenString(); Console.WriteLine("Sending the following tokenstring..."); Console.WriteLine(tokenString); if (copyToClipboard) { CopyToClipboard(tokenString); } Console.WriteLine(await MakeRequest(tokenString)); }
private TransactionToken CreateSignedToken(BaseTransaction tx) { tx.TransactionTime = DateTime.Now; var jsonString = JsonConvert.SerializeObject(tx, new TransactionSerializerSettings()); var byteArray = Encoding.UTF8.GetBytes(jsonString); var transactionToken = new TransactionToken(byteArray); var basePath = Path.Combine(_environment.WebRootPath); var certificate = new X509Certificate2(Path.Combine(basePath, $"{GetParty()}.p12"), "thinktecture"); transactionToken.Sign(certificate); return(transactionToken); }