This commit is contained in:
mmrbnjd
2024-04-05 21:03:40 +03:30
parent c439f88650
commit 3818cb7636
6 changed files with 64 additions and 28 deletions

View File

@@ -47,7 +47,13 @@ namespace Back.Controllers
}
[HttpPost("ReadPublicKeyFromCER")]
public async Task<ActionResult<PublicKeyDTO>> ReadPublicKeyFromCER(string modelfromBase64)
=> Ok(await _sBase.ReadPublicKeyFromCER(modelfromBase64));
{
var result = await _sBase.ReadPublicKeyFromCER(modelfromBase64);
if (result.type== "error")
return BadRequest();
return Ok(result);
}
}
}

View File

@@ -3,6 +3,7 @@ using Back.Data.Contracts;
using Back.Data.Models;
using Microsoft.EntityFrameworkCore;
using Shared.DTOs;
using System;
using System.Diagnostics;
using System.Text;
@@ -147,8 +148,12 @@ namespace Back.Services
return taxTools;
}
public async Task<PublicKeyDTO> ReadPublicKeyFromCER(string modelfromBase64)
public async Task<PublicKeyDTO?> ReadPublicKeyFromCER(string modelfromBase64)
{
try
{
string name = $"{DateTime.Now.Year}{DateTime.Now.Month}{DateTime.Now.DayOfWeek}{DateTime.Now.Hour}{DateTime.Now.Minute}{DateTime.Now.Second}";
string filePath = $"C:\\cer\\{name}.cer";
Stream stream = System.IO.File.Open(filePath, FileMode.Create);
@@ -195,5 +200,14 @@ namespace Back.Services
type = "txt"
};
}
catch (Exception)
{
return new PublicKeyDTO
{
PublicKeyBase64 = "error",
type = "error"
};
}
}
}
}

View File

@@ -1,12 +1,12 @@
@using Shared.DTOs
@inject HttpClient _hc
<div class="contact-info-area pb-90" id="contact">
<div class="contact-info-area pb-90" id="blog">
<div class="container">
<div class="row">
</div>
</div>
</div>
<div class="tp-project__area grey-bg pt-50 pb-50 fix" id="blog">
<div class="tp-project__area grey-bg pt-50 pb-50 fix" >
<div class="blog-grid-inner mb-10">
<div class="container">
<div class="row">

View File

@@ -2,7 +2,7 @@
@inject HttpClient _hc
@inject NavigationManager Navigation
<div class="tp-faq-area pt-50">
<div class="tp-faq-area pt-50" id="Question">
<div class="container p-0">
<div class="row g-0">
<div class="col-xl-12">

View File

@@ -1,12 +1,12 @@
<div id="header-sticky" class="header-bottom__area header-mob-space header-bottom__area-2 header-bottom__transparent z-index-5">
<div class="container">
<div class="row align-items-center">
<div class="col-xxl-2 col-xl-2 col-lg-2 col-md-4 col-6">
<div class="col-xxl-1 col-xl-1 col-lg-1 col-md-3 col-5">
<div class="header-bottom__logo">
<a href="index.html"><img height="37" src="img/logo/logo-black.png" alt=""></a>
</div>
</div>
<div class="col-xxl-6 col-xl-5 col-lg-5 d-none d-lg-block">
<div class="col-xxl-8 col-xl-7 col-lg-7 d-none d-lg-block">
<div class="header-bottom__main-menu">
<nav id="mobile-menu">
<ul>
@@ -19,19 +19,23 @@
<li>
<a href="#price">تعرفه</a>
</li>
<li>
<a href="#TaxTools">ابزار</a>
</li>
<li>
<a href="#Question">سوالات متداول</a>
</li>
<li>
<a href="#blog">وبلاگ</a>
</li>
<li>
<a href="#">ابزار</a>
</li>
<li><a href="#contact">ارتباط با ما</a></li>
</ul>
</nav>
</div>
</div>
<div class="col-xxl-4 col-xl-5 col-lg-5 col-md-8 col-6">
<div class="col-xxl-3 col-xl-4 col-lg-4 col-md-7 col-5">
<LSign_in_Register />
</div>
</div>

View File

@@ -2,13 +2,13 @@
@using System.Text
@inject HttpClient _hc
@inject IJSRuntime JS
<div class="contact-info-area pb-90" id="contact">
<div class="contact-info-area pb-90" id="TaxTools">
<div class="container">
<div class="row">
</div>
</div>
</div>
<div class="tp-project__area grey-bg pt-50 pb-50 fix">
<div class="tp-project__area grey-bg pt-50 pb-50 fix" >
<div class="container">
<div class="row gx-0">
<h5 class="inner-section-subtitle">ابزار/سامانه مودیان</h5>
@@ -76,12 +76,17 @@
<div class="popular-blog-title mb-20">
<h4>2)خواندن کلید عمومی</h4>
</div>
<div class="row">
<label style="color:red">
@ErrorReadpublickey
</label>
</div>
<div class="row">
<label>
حداکثر سایز مجاز فایل @maxFileSize بایت:
<InputFile OnChange="ReadPublicKeyFromCER" multiple />
</label>
</div>
</div>
</div>
@@ -94,8 +99,9 @@
</div>
@code {
private long maxFileSize = 1024 * 15;
private long maxFileSize = 1024 * 15;
public string ErrorReadpublickey { get; set; }
private EditContext? editContext;
[SupplyParameterFromForm]
@@ -131,6 +137,7 @@
var request = await _hc.PostAsJsonAsync("Base/CreateCsrAndPrivateKey", modelTaxTools);
if (request.IsSuccessStatusCode)
{
messageStore?.Clear();
var res = await request.Content.ReadFromJsonAsync<TaxToolsDTO>();
await DownloadFileFromStream(res.Base64csr, $"{modelTaxTools.cn}.{res.typecsr}");
await DownloadFileFromStream(res.Base64key, $"{modelTaxTools.cn}.{res.typekey}");
@@ -144,6 +151,7 @@
}
private async Task ReadPublicKeyFromCER(InputFileChangeEventArgs e)
{
ErrorReadpublickey = "";
if (e.GetMultipleFiles()[0].Size <= maxFileSize)
{
string Base64Str = "";
@@ -156,19 +164,23 @@
}
// if (!string.IsNullOrEmpty(Base64Str))
// {
// var request = await _hc.PostAsJsonAsync("Base/ReadPublicKeyFromCER", Base64Str);
// if (request.IsSuccessStatusCode)
// {
// var res = await request.Content.ReadFromJsonAsync<PublicKeyDTO>();
// await DownloadFileFromStream(res.PublicKeyBase64, $"{modelTaxTools.cn}.{res.type}");
// }
// }
if (!string.IsNullOrEmpty(Base64Str))
{
var request = await _hc.PostAsJsonAsync("Base/ReadPublicKeyFromCER", Base64Str);
if (request.IsSuccessStatusCode)
{
var res = await request.Content.ReadFromJsonAsync<PublicKeyDTO>();
await DownloadFileFromStream(res.PublicKeyBase64, $"{modelTaxTools.cn}.{res.type}");
}
else
{
ErrorReadpublickey = "خطایی در اجرای عملیات رخ داده";
}
}
}
else
{
ErrorReadpublickey = "حجم فایل بیشتر از حد مجاز می باشد";
}