....
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
@@ -194,6 +199,15 @@ namespace Back.Services
|
||||
PublicKeyBase64 = Convert.ToBase64String(buffer),
|
||||
type = "txt"
|
||||
};
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return new PublicKeyDTO
|
||||
{
|
||||
PublicKeyBase64 = "error",
|
||||
type = "error"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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">
|
||||
|
@@ -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">
|
||||
|
@@ -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>
|
||||
|
@@ -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 />
|
||||
<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 = "حجم فایل بیشتر از حد مجاز می باشد";
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user