144 lines
4.9 KiB
C#
144 lines
4.9 KiB
C#
using DB.VPKI_DataDB;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Primitives;
|
|
using Microsoft.OpenApi.Validations.Rules;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using VPKI.Library.Model;
|
|
using VPKI.Library.Packet;
|
|
using VPKI.Web.Api.Services;
|
|
|
|
namespace VPKI.Web.Api.Controllers
|
|
{
|
|
[Tags("VPKI API v1")]
|
|
[ApiController()]
|
|
[Route("api/v1")]
|
|
public class VPKIv1_Controller : VPKIBaseController
|
|
{
|
|
public VPKIv1_Controller(IServiceProvider serviceProvider, IHttpContextAccessor _httpContextAccessor)
|
|
: base(serviceProvider, _httpContextAccessor)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// CSR 생성 요청 (ISO15118-2)
|
|
/// </summary>
|
|
[HttpPost]
|
|
[Route("tbscsr")]
|
|
public async Task<IResult> Tbscsr([FromBody] Request_Tbscsr _request)
|
|
{
|
|
Response_Tbscsr response = new Response_Tbscsr();
|
|
|
|
Guid guid = Guid.NewGuid();
|
|
Log4net.WriteLine(GetRequestLog(_request).LogModelToString($"Request ({guid})"), LogType.Info);
|
|
|
|
var service = _serviceProvider.GetService<ISO15118_02Service>();
|
|
if (service != null)
|
|
{
|
|
response = await service.RequestTbscsr(_request);
|
|
}
|
|
|
|
Log4net.WriteLine(GetResponseLog(response).LogModelToString($"Response ({guid})"), LogType.Info);
|
|
|
|
return Results.Ok(response);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 인증서 발급 요청 (ISO15118-2)
|
|
/// </summary>
|
|
[HttpPost]
|
|
[Route("certificate")]
|
|
public async Task<IResult> Certificate([FromBody] Request_Certificate _request)
|
|
{
|
|
Response_Certificate response = new Response_Certificate();
|
|
|
|
Guid guid = Guid.NewGuid();
|
|
Log4net.WriteLine(GetRequestLog(_request).LogModelToString($"Request ({guid})"));
|
|
|
|
var service = _serviceProvider.GetService<ISO15118_02Service>();
|
|
if (service != null)
|
|
{
|
|
response = await service.RequestCertificate(_request);
|
|
}
|
|
|
|
Log4net.WriteLine(GetResponseLog(response).LogModelToString($"Response ({guid})"));
|
|
|
|
return Results.Ok(response);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 인증서 검증 결과 전송 (ISO15118-2)
|
|
/// </summary>
|
|
[HttpPost]
|
|
[Route("verifyresult")]
|
|
public async Task<IResult> Verifyresult([FromBody] Request_Verifyresult request)
|
|
{
|
|
Response_Verifyresult response = new Response_Verifyresult();
|
|
|
|
Guid guid = Guid.NewGuid();
|
|
Log4net.WriteLine(GetRequestLog(request).LogModelToString("Request"));
|
|
|
|
var service = _serviceProvider.GetService<ISO15118_02Service>();
|
|
if(service != null)
|
|
{
|
|
response = await service.RequestVerifyresult(request);
|
|
}
|
|
|
|
Log4net.WriteLine(GetResponseLog(response).LogModelToString($"Response ({guid})"));
|
|
|
|
return Results.Ok(response);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 인증서 재발급 (ISO15118-2)
|
|
/// </summary>
|
|
[HttpPost]
|
|
[Route("reissue")]
|
|
[ApiExplorerSettings(IgnoreApi = true)]
|
|
public async Task<IResult> Reissue([FromBody] Request_Certificate request)
|
|
{
|
|
//Response_Certificate response = new Response_Certificate();
|
|
//Log4net.WriteLine(GetRequestLog(request).LogModelToString("Request"));
|
|
|
|
//var service = _serviceProvider.GetService<ISO15118_02Service>();
|
|
//if (service != null)
|
|
//{
|
|
// response = await service.RequestCertificateReissue(request);
|
|
//}
|
|
|
|
//Log4net.WriteLine(GetResponseLog(response).LogModelToString($"Response ({guid})"));
|
|
|
|
//return Results.Ok(response);
|
|
await Task.CompletedTask;
|
|
return Results.NotFound();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 인증서 폐기 (ISO15118-2)
|
|
/// </summary>
|
|
[HttpPost]
|
|
[Route("revoke")]
|
|
[ApiExplorerSettings(IgnoreApi = true)]
|
|
public async Task<IResult> Revoke([FromBody] Request_CertificateRevokeOEM request)
|
|
{
|
|
//Response_CertificateRevokeOEM response = new Response_CertificateRevokeOEM();
|
|
|
|
//Guid guid = Guid.NewGuid();
|
|
//Log4net.WriteLine(GetRequestLog(request).LogModelToString($"Request ({guid})"));
|
|
|
|
//var service = _serviceProvider.GetService<ISO15118_02Service>();
|
|
//if (service != null)
|
|
//{
|
|
// response = await service.RequestCertificateRevoke(request);
|
|
//}
|
|
|
|
//Log4net.WriteLine(GetResponseLog(response).LogModelToString($"Response ({guid})"));
|
|
|
|
//return Results.Ok(response);
|
|
await Task.CompletedTask;
|
|
return Results.NotFound();
|
|
}
|
|
}
|
|
}
|