public void Test0142_HandleHttpChallenge()
{
using (var signer = new RS256Signer())
{
signer.Init();
using (var fs = new FileStream(_testRegister_AcmeSignerFile, FileMode.Open))
{
signer.Load(fs);
}
AcmeRegistration reg;
using (var fs = new FileStream(_testRegister_AcmeRegFile, FileMode.Open))
{
reg = AcmeRegistration.Load(fs);
}
using (var client = BuildClient(testTagHeader: nameof(Test0120_GenerateChallengeAnswers)))
{
client.RootUrl = _rootUrl;
client.Signer = signer;
client.Registration = reg;
client.Init();
client.GetDirectory(true);
AuthorizationState authzState;
using (var fs = new FileStream(_testAuthzChallengeHttpAnswers_AcmeAuthzFile, FileMode.Open))
{
authzState = AuthorizationState.Load(fs);
}
var wsInfo = WebServerInfo.Load(File.ReadAllText("config\\webServerInfo.json"));
Assert.IsNotNull(wsInfo);
var handlerConfig = wsInfo.Provider as AwsS3WebServerProvider;
Assert.IsNotNull(handlerConfig);
var handlerParams = new Dictionary<string, object>
{
[AwsCommonParams.ACCESS_KEY_ID.Name] /**/ = handlerConfig.AccessKeyId,
[AwsCommonParams.SECRET_ACCESS_KEY.Name] /**/ = handlerConfig.SecretAccessKey,
[AwsCommonParams.REGION.Name] /**/ = handlerConfig.Region,
[AwsS3ChallengeHandlerProvider.BUCKET_NAME.Name] /**/ = handlerConfig.BucketName,
};
var authzChallenge = client.HandleChallenge(authzState,
AcmeProtocol.CHALLENGE_TYPE_HTTP,
"awsS3", handlerParams);
_testAuthzChallengeHttpHandled_AcmeAuthzFile = $"{_baseLocalStore}\\140-TestAuthz-ChallengeAnswersHandleHttp.acmeAuthz";
using (var fs = new FileStream(_testAuthzChallengeHttpHandled_AcmeAuthzFile, FileMode.Create))
{
authzState.Save(fs);
}
}
}
}