Я создаю OCSP Responder , следуя правилам, определенным в RFC 6960 .
Итак, мне нужно реализовать GET служба, маршрут которой ДОЛЖЕН быть:
{url}/{url-encoding of base-64 encoding of the DER encoding of the OCSPRequest}
Я создал свое действие GET:
[Route("api/ocsp")]
public class OcspController : Controller
{
[HttpGet]
[Route("{encoded}")]
public async Task<IActionResult> Get(string encoded)
{
var ocspHttpRequest = await Request.ToOcspHttpRequest();
var ocspHttpResponse = await OcspResponder.Respond(ocspHttpRequest);
return new OcspActionResult(ocspHttpResponse);
}
...
}
Однако ASP.NET Core не находит или возвращает неверный запрос на маршрут, когдаURL-адрес закодирован, что необходимо.
Запрос Ocsp в base64 (обратите внимание, что он имеет две строки):
MEkwRzBFMEMwQTAJBgUrDgMCGgUABBR1vr6HF4T/UsADPXoNr6lpJ1JRowQUJfgJ
6MaP2huu1lFzJOFlkswOcM8CCB6PD3SWpxwf
Кодирование URL-адреса запроса o64 base64:
MEkwRzBFMEMwQTAJBgUrDgMCGgUABBR1vr6HF4T%2FUsADPXoNr6lpJ1JRowQUJfgJ%0A6MaP2huu1lFzJOFlkswOcM8CCB6PD3SWpxwf
Как я могу решить эту проблему?