【发布时间】:2021-04-21 15:32:39
【问题描述】:
我正在按照RFC 6960 中定义的规则创建一个OCSP Responder。
所以,我需要实现一个 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);
}
...
}
但是,当 URL 被编码时,ASP.NET Core 没有找到或返回错误请求,这是必要的。
base64 中的 ocsp 请求(注意它有两行):
MEkwRzBFMEMwQTAJBgUrDgMCGgUABBR1vr6HF4T/UsADPXoNr6lpJ1JRowQUJfgJ
6MaP2huu1lFzJOFlkswOcM8CCB6PD3SWpxwf
base64 ocsp请求的url编码:
MEkwRzBFMEMwQTAJBgUrDgMCGgUABBR1vr6HF4T%2FUsADPXoNr6lpJ1JRowQUJfgJ%0A6MaP2huu1lFzJOFlkswOcM8CCB6PD3SWpxwf
我该如何解决这个问题?
【问题讨论】:
标签: asp.net-core base64 asp.net-core-mvc urlencode asp.net-core-webapi