From 1ebf1c4a7dad2e286038d4016afbbac7f08b684f Mon Sep 17 00:00:00 2001 From: Tatsuro Shibamura Date: Wed, 3 Jun 2020 20:42:09 +0900 Subject: [PATCH] Use POST-as-GET endpoint (#178) --- AppService.Acmebot/Internal/AcmeProtocolClientFactory.cs | 5 +++-- AppService.Acmebot/SharedFunctions.cs | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/AppService.Acmebot/Internal/AcmeProtocolClientFactory.cs b/AppService.Acmebot/Internal/AcmeProtocolClientFactory.cs index 80a292c..4471558 100644 --- a/AppService.Acmebot/Internal/AcmeProtocolClientFactory.cs +++ b/AppService.Acmebot/Internal/AcmeProtocolClientFactory.cs @@ -33,12 +33,14 @@ public async Task CreateClientAsync() var accountKey = LoadState("account_key.json"); var directory = LoadState("directory.json"); - var acmeProtocolClient = new AcmeProtocolClient(_baseUri, directory, account, accountKey?.GenerateSigner()); + var acmeProtocolClient = new AcmeProtocolClient(_baseUri, directory, account, accountKey?.GenerateSigner(), usePostAsGet: true); if (directory == null) { directory = await acmeProtocolClient.GetDirectoryAsync(); + SaveState(directory, "directory.json"); + acmeProtocolClient.Directory = directory; } @@ -56,7 +58,6 @@ public async Task CreateClientAsync() SaveState(account, "account.json"); SaveState(accountKey, "account_key.json"); - SaveState(directory, "directory.json"); acmeProtocolClient.Account = account; } diff --git a/AppService.Acmebot/SharedFunctions.cs b/AppService.Acmebot/SharedFunctions.cs index 236ec5b..a339776 100644 --- a/AppService.Acmebot/SharedFunctions.cs +++ b/AppService.Acmebot/SharedFunctions.cs @@ -412,9 +412,8 @@ public async Task AnswerChallenges([ActivityTrigger] IList var finalize = await acmeProtocolClient.FinalizeOrderAsync(orderDetails.Payload.Finalize, csr); - var httpClient = _httpClientFactory.CreateClient(); - - var certificateData = await httpClient.GetByteArrayAsync(finalize.Payload.Certificate); + // 証明書をバイト配列としてダウンロード + var certificateData = await acmeProtocolClient.GetOrderCertificateAsync(finalize); // X509Certificate2Collection を作成 var x509Certificates = new X509Certificate2Collection();