....
This commit is contained in:
@@ -47,7 +47,13 @@ namespace Back.Controllers
|
|||||||
}
|
}
|
||||||
[HttpPost("ReadPublicKeyFromCER")]
|
[HttpPost("ReadPublicKeyFromCER")]
|
||||||
public async Task<ActionResult<PublicKeyDTO>> ReadPublicKeyFromCER(string modelfromBase64)
|
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 Back.Data.Models;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Shared.DTOs;
|
using Shared.DTOs;
|
||||||
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -147,8 +148,12 @@ namespace Back.Services
|
|||||||
|
|
||||||
return taxTools;
|
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 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";
|
string filePath = $"C:\\cer\\{name}.cer";
|
||||||
Stream stream = System.IO.File.Open(filePath, FileMode.Create);
|
Stream stream = System.IO.File.Open(filePath, FileMode.Create);
|
||||||
@@ -195,5 +200,14 @@ namespace Back.Services
|
|||||||
type = "txt"
|
type = "txt"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
return new PublicKeyDTO
|
||||||
|
{
|
||||||
|
PublicKeyBase64 = "error",
|
||||||
|
type = "error"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
@using Shared.DTOs
|
@using Shared.DTOs
|
||||||
@inject HttpClient _hc
|
@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="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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="blog-grid-inner mb-10">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
@inject HttpClient _hc
|
@inject HttpClient _hc
|
||||||
@inject NavigationManager Navigation
|
@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="container p-0">
|
||||||
<div class="row g-0">
|
<div class="row g-0">
|
||||||
<div class="col-xl-12">
|
<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 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="container">
|
||||||
<div class="row align-items-center">
|
<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">
|
<div class="header-bottom__logo">
|
||||||
<a href="index.html"><img height="37" src="img/logo/logo-black.png" alt=""></a>
|
<a href="index.html"><img height="37" src="img/logo/logo-black.png" alt=""></a>
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<div class="header-bottom__main-menu">
|
||||||
<nav id="mobile-menu">
|
<nav id="mobile-menu">
|
||||||
<ul>
|
<ul>
|
||||||
@@ -19,19 +19,23 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#price">تعرفه</a>
|
<a href="#price">تعرفه</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#TaxTools">ابزار</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Question">سوالات متداول</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#blog">وبلاگ</a>
|
<a href="#blog">وبلاگ</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#">ابزار</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#contact">ارتباط با ما</a></li>
|
<li><a href="#contact">ارتباط با ما</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</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 />
|
<LSign_in_Register />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
@using System.Text
|
@using System.Text
|
||||||
@inject HttpClient _hc
|
@inject HttpClient _hc
|
||||||
@inject IJSRuntime JS
|
@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="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
</div>
|
</div>
|
||||||
@@ -76,12 +76,17 @@
|
|||||||
<div class="popular-blog-title mb-20">
|
<div class="popular-blog-title mb-20">
|
||||||
<h4>2)خواندن کلید عمومی</h4>
|
<h4>2)خواندن کلید عمومی</h4>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label style="color:red">
|
||||||
|
@ErrorReadpublickey
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
<label>
|
<label>
|
||||||
حداکثر سایز مجاز فایل @maxFileSize بایت:
|
حداکثر سایز مجاز فایل @maxFileSize بایت:
|
||||||
<InputFile OnChange="ReadPublicKeyFromCER" multiple />
|
<InputFile OnChange="ReadPublicKeyFromCER" multiple />
|
||||||
</label>
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -94,8 +99,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private long maxFileSize = 1024 * 15;
|
|
||||||
|
|
||||||
|
private long maxFileSize = 1024 * 15;
|
||||||
|
public string ErrorReadpublickey { get; set; }
|
||||||
|
|
||||||
private EditContext? editContext;
|
private EditContext? editContext;
|
||||||
[SupplyParameterFromForm]
|
[SupplyParameterFromForm]
|
||||||
@@ -131,6 +137,7 @@
|
|||||||
var request = await _hc.PostAsJsonAsync("Base/CreateCsrAndPrivateKey", modelTaxTools);
|
var request = await _hc.PostAsJsonAsync("Base/CreateCsrAndPrivateKey", modelTaxTools);
|
||||||
if (request.IsSuccessStatusCode)
|
if (request.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
|
messageStore?.Clear();
|
||||||
var res = await request.Content.ReadFromJsonAsync<TaxToolsDTO>();
|
var res = await request.Content.ReadFromJsonAsync<TaxToolsDTO>();
|
||||||
await DownloadFileFromStream(res.Base64csr, $"{modelTaxTools.cn}.{res.typecsr}");
|
await DownloadFileFromStream(res.Base64csr, $"{modelTaxTools.cn}.{res.typecsr}");
|
||||||
await DownloadFileFromStream(res.Base64key, $"{modelTaxTools.cn}.{res.typekey}");
|
await DownloadFileFromStream(res.Base64key, $"{modelTaxTools.cn}.{res.typekey}");
|
||||||
@@ -144,6 +151,7 @@
|
|||||||
}
|
}
|
||||||
private async Task ReadPublicKeyFromCER(InputFileChangeEventArgs e)
|
private async Task ReadPublicKeyFromCER(InputFileChangeEventArgs e)
|
||||||
{
|
{
|
||||||
|
ErrorReadpublickey = "";
|
||||||
if (e.GetMultipleFiles()[0].Size <= maxFileSize)
|
if (e.GetMultipleFiles()[0].Size <= maxFileSize)
|
||||||
{
|
{
|
||||||
string Base64Str = "";
|
string Base64Str = "";
|
||||||
@@ -156,19 +164,23 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!string.IsNullOrEmpty(Base64Str))
|
if (!string.IsNullOrEmpty(Base64Str))
|
||||||
// {
|
{
|
||||||
// var request = await _hc.PostAsJsonAsync("Base/ReadPublicKeyFromCER", Base64Str);
|
var request = await _hc.PostAsJsonAsync("Base/ReadPublicKeyFromCER", Base64Str);
|
||||||
// if (request.IsSuccessStatusCode)
|
if (request.IsSuccessStatusCode)
|
||||||
// {
|
{
|
||||||
// var res = await request.Content.ReadFromJsonAsync<PublicKeyDTO>();
|
var res = await request.Content.ReadFromJsonAsync<PublicKeyDTO>();
|
||||||
// await DownloadFileFromStream(res.PublicKeyBase64, $"{modelTaxTools.cn}.{res.type}");
|
await DownloadFileFromStream(res.PublicKeyBase64, $"{modelTaxTools.cn}.{res.type}");
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
ErrorReadpublickey = "خطایی در اجرای عملیات رخ داده";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ErrorReadpublickey = "حجم فایل بیشتر از حد مجاز می باشد";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user