Commit 3270b751 by Neo Turing

增加小微企业验证对接功能

parent c443234a
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Finances.Addons
{
public class AesEncryptor
{
private readonly byte[] key;
private readonly byte[] iv;
public AesEncryptor(string keyString, string ivString)
{
key = Encoding.UTF8.GetBytes(keyString);
iv = Encoding.UTF8.GetBytes(ivString);
}
public string Encrypt(string plainText)
{
var aes = Aes.Create();
aes.Key = key;
aes.IV = iv;
var encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
var memoryStream = new MemoryStream();
using (var cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write))
{
using (var streamWriter = new StreamWriter(cryptoStream))
{
streamWriter.Write(plainText);
}
}
return Convert.ToBase64String(memoryStream.ToArray());
}
public string Decrypt(string cipherText)
{
var aes = Aes.Create();
aes.Key = key;
aes.IV = iv;
var decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
var memoryStream = new MemoryStream(Convert.FromBase64String(cipherText));
var cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read);
var streamReader = new StreamReader(cryptoStream);
return streamReader.ReadToEnd();
}
}
}
......@@ -12,5 +12,9 @@ namespace Kivii.Finances.Addons
/// 所有静态资源的路径
/// </summary>
public const string RouteAllPath = "/Kivii/Finances/Template/{Path*}";
public const string AesKey = "";
public const string AesIv = "";
}
}
......@@ -53,9 +53,11 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AesEncryptor.cs" />
<Compile Include="Configs.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RequestService.cs" />
<Compile Include="Requests\PolicyVerify.Request.cs" />
<Compile Include="RestfulReadExcel.cs" />
<Compile Include="TemplateRequest.cs" />
</ItemGroup>
......@@ -74,7 +76,9 @@
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\国家企业信用信息公示系统小微企业验证接口.docx" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>if "$(ConfigurationName)"=="Release" if exist "$(TargetDir)Reactor\dotNET_Reactor.exe" (call "$(TargetDir)Reactor\dotNET_Reactor.exe" -file "$(TargetPath)" -targetfile "$(TargetDir)Release\$(TargetFileName)" -stringencryption 0 -antitamp 1 -suppressildasm 1)</PostBuildEvent>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Finances.Addons.Requests
{
public class PolicyVerifyRequest : IReturn<PolicyVerifyResponse>
{
/// <summary>
/// 时间戳,即当前时间 格式为:年月日时分秒 实例: 2019年05月10日 12时12分12秒 格式应写为20190510121212
/// </summary>
public string time { get; set; }
public string sign { get; set; }
/// <summary>
/// 业务参数,json格式。数据固定格式如下,详情可见接口入参字段(节点里面全部内容进行SM2加密处理,非单个字段值){"corpName":"企业名称","uniscid": "统一社会信用代码"}
/// </summary>
public string @params { get; set; }
}
public class PolicyVerifyRequestParams
{
/// <summary>
/// 必填,企业名称
/// </summary>
public string corpName { get; set; }
/// <summary>
/// 选填,统一社会信用代码
/// </summary>
public string uniscid { get; set; }
}
public class PolicyVerifyResponse
{
public string code { get; set; }
public string message { get; set; }
public bool success { get; set; }
/// <summary>
/// 加密json数据,aes加密
/// 格式为:
///[{
///"corpName": "企业名称",
///"uniscid": "统一社会信用代码",
///"operManName": "法定代表人名称",
///"addr": "注册地址",
///"econKind": "企业类型",
///"regCapi": "注册资金"
///}]
///节点中所有数据进行AES加密;
/// </summary>
public string data { get; set; }
}
public class PolicyVerifyResponseData
{
/// <summary>
/// 企业名称
/// </summary>
public string corpName { get; set; }
/// <summary>
/// 统一社会信用代码
/// </summary>
public string uniscid { get; set; }
/// <summary>
/// 法定代表人
/// </summary>
public string operManName { get; set; }
/// <summary>
/// 注册地址
/// </summary>
public string addr { get; set; }
/// <summary>
/// 企业类型,市场主体类型名称
/// </summary>
public string econKind { get; set; }
/// <summary>
/// 注册资本
/// </summary>
public string regCapi { get; set; }
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment