[성현모] KMS.GUI 인증서 정보 표시 추가
This commit is contained in:
1252
Projects/NetStandard/KmsProxy.GUI/Form1.Designer.cs
generated
1252
Projects/NetStandard/KmsProxy.GUI/Form1.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -32,6 +32,9 @@
|
|||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<StartupObject />
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
|||||||
@ -59,7 +59,8 @@ namespace WebApi.Project.ProxyKMS.Services
|
|||||||
{
|
{
|
||||||
RESPONSE response = null;
|
RESPONSE response = null;
|
||||||
Guid guid = Guid.NewGuid();
|
Guid guid = Guid.NewGuid();
|
||||||
using (HttpClient httpClient = new HttpClient(GetClientHandler()))
|
var handler = GetClientHandler();
|
||||||
|
using (HttpClient httpClient = new HttpClient(handler))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -68,6 +69,18 @@ namespace WebApi.Project.ProxyKMS.Services
|
|||||||
httpClient.BaseAddress = new Uri(url ?? "");
|
httpClient.BaseAddress = new Uri(url ?? "");
|
||||||
LogXnet.WriteLine($"[POST] Request({guid})::{url}{Environment.NewLine}{request?.ToJson()}", LogXLabel.HTTP);
|
LogXnet.WriteLine($"[POST] Request({guid})::{url}{Environment.NewLine}{request?.ToJson()}", LogXLabel.HTTP);
|
||||||
DateTime requestTime = DateTime.Now;
|
DateTime requestTime = DateTime.Now;
|
||||||
|
|
||||||
|
// 추가된 인증서 정보 출력
|
||||||
|
foreach (X509Certificate2 c in handler.ClientCertificates)
|
||||||
|
{
|
||||||
|
LogXnet.WriteLine("Subject: " + c.Subject);
|
||||||
|
LogXnet.WriteLine("Issuer: " + c.Issuer);
|
||||||
|
LogXnet.WriteLine("Thumbprint: " + c.Thumbprint);
|
||||||
|
LogXnet.WriteLine("NotBefore: " + c.NotBefore);
|
||||||
|
LogXnet.WriteLine("NotAfter: " + c.NotAfter);
|
||||||
|
LogXnet.WriteLine("----------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
response = await (await httpClient.PostAsJsonAsync(url, request)).Content.ReadFromJsonAsync<RESPONSE>();
|
response = await (await httpClient.PostAsJsonAsync(url, request)).Content.ReadFromJsonAsync<RESPONSE>();
|
||||||
LogXnet.WriteLine($"[POST] Rseponse({guid}) ({(DateTime.Now - requestTime).TotalSeconds} sec)::{url}{Environment.NewLine}{response?.ToJson()}", LogXLabel.HTTP);
|
LogXnet.WriteLine($"[POST] Rseponse({guid}) ({(DateTime.Now - requestTime).TotalSeconds} sec)::{url}{Environment.NewLine}{response?.ToJson()}", LogXLabel.HTTP);
|
||||||
}
|
}
|
||||||
@ -86,7 +99,8 @@ namespace WebApi.Project.ProxyKMS.Services
|
|||||||
RESPONSE? response = default(RESPONSE);
|
RESPONSE? response = default(RESPONSE);
|
||||||
Guid guid = Guid.NewGuid();
|
Guid guid = Guid.NewGuid();
|
||||||
|
|
||||||
using (HttpClient httpClient = new HttpClient(GetClientHandler()))
|
var handler = GetClientHandler();
|
||||||
|
using (HttpClient httpClient = new HttpClient(handler))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -98,6 +112,18 @@ namespace WebApi.Project.ProxyKMS.Services
|
|||||||
|
|
||||||
DateTime requestTime = DateTime.Now;
|
DateTime requestTime = DateTime.Now;
|
||||||
var res = await httpClient.PutAsJsonAsync(url, request);
|
var res = await httpClient.PutAsJsonAsync(url, request);
|
||||||
|
|
||||||
|
// 추가된 인증서 정보 출력
|
||||||
|
foreach (X509Certificate2 c in handler.ClientCertificates)
|
||||||
|
{
|
||||||
|
LogXnet.WriteLine("Subject: " + c.Subject);
|
||||||
|
LogXnet.WriteLine("Issuer: " + c.Issuer);
|
||||||
|
LogXnet.WriteLine("Thumbprint: " + c.Thumbprint);
|
||||||
|
LogXnet.WriteLine("NotBefore: " + c.NotBefore);
|
||||||
|
LogXnet.WriteLine("NotAfter: " + c.NotAfter);
|
||||||
|
LogXnet.WriteLine("----------------------------");
|
||||||
|
}
|
||||||
|
|
||||||
response = await res.Content.ReadFromJsonAsync<RESPONSE>();
|
response = await res.Content.ReadFromJsonAsync<RESPONSE>();
|
||||||
|
|
||||||
LogXnet.WriteLine($"[PUT] Rseponse({guid}) ({(DateTime.Now - requestTime).TotalSeconds} sec)::{url}{Environment.NewLine}{response?.ToJson()}", LogXLabel.HTTP);
|
LogXnet.WriteLine($"[PUT] Rseponse({guid}) ({(DateTime.Now - requestTime).TotalSeconds} sec)::{url}{Environment.NewLine}{response?.ToJson()}", LogXLabel.HTTP);
|
||||||
@ -119,20 +145,20 @@ namespace WebApi.Project.ProxyKMS.Services
|
|||||||
//인증서가 경로에 있으면
|
//인증서가 경로에 있으면
|
||||||
if (File.Exists(KmsApi.CertPemPath) == true && File.Exists(KmsApi.CertKeyPath) == true)
|
if (File.Exists(KmsApi.CertPemPath) == true && File.Exists(KmsApi.CertKeyPath) == true)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Cert.Pem Path:{KmsApi.CertPemPath}", LogXLabel.Debug);
|
LogXnet.WriteLine($"Cert.Pem Path:{KmsApi.CertPemPath}", LogXLabel.Debug);
|
||||||
Console.WriteLine($"Cert.Key Path:{KmsApi.CertKeyPath}", LogXLabel.Debug);
|
LogXnet.WriteLine($"Cert.Key Path:{KmsApi.CertKeyPath}", LogXLabel.Debug);
|
||||||
var cert = X509Certificate2.CreateFromPemFile(KmsApi.CertPemPath, KmsApi.CertKeyPath);
|
var cert = X509Certificate2.CreateFromPemFile(KmsApi.CertPemPath, KmsApi.CertKeyPath);
|
||||||
cert = new X509Certificate2(cert.Export(X509ContentType.Pkcs12));
|
cert = new X509Certificate2(cert.Export(X509ContentType.Pkcs12));
|
||||||
clientHandler.ClientCertificates.Add(cert);
|
clientHandler.ClientCertificates.Add(cert);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Console.WriteLine($"File not exist. Cert.Pem Path:{KmsApi.CertPemPath}", LogXLabel.Warning);
|
LogXnet.WriteLine($"File not exist. Cert.Pem Path:{KmsApi.CertPemPath}", LogXLabel.Warning);
|
||||||
Console.WriteLine($"File not exist. Cert.Key Path:{KmsApi.CertKeyPath}", LogXLabel.Warning);
|
LogXnet.WriteLine($"File not exist. Cert.Key Path:{KmsApi.CertKeyPath}", LogXLabel.Warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
//ssl 인증서 무시
|
//ssl 인증서 무시
|
||||||
Console.WriteLine($"CertificateVerify:{KmsApi.CertificateVerify}", LogXLabel.Debug);
|
LogXnet.WriteLine($"CertificateVerify:{KmsApi.CertificateVerify}", LogXLabel.Debug);
|
||||||
if (KmsApi.CertificateVerify == false)
|
if (KmsApi.CertificateVerify == false)
|
||||||
{
|
{
|
||||||
clientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, sslPolicyErrors) =>
|
clientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, sslPolicyErrors) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user