Skip to content
Bitzsoft.Integrationsbitzsoft.integrations

Reference

爱签 电子签章

爱签电子签章服务——RSA2(SHA256WithRSA) body 签名机制。

Last updated

基于爱签开放平台 API 实现,采用 RSA2(SHA256WithRSA)请求体签名机制。

包信息

  • NuGet 包:Bitzsoft.Integrations.ElectronicSignature.Asign
  • 接口:IElectronicSignatureProvider
  • 鉴权:RSA2(SHA256WithRSA)body 签名(AppId / PrivateKey)
  • Provider ID:Asign

配置

字段类型必填默认值说明
AppIdstring应用 AppId
PrivateKeystring开发者 RSA 私钥(PKCS#8 PEM 格式,用于请求签名)
PublicKeystring平台 RSA 公钥(PKCS#8 PEM 格式,用于回调验签)
BaseUrlstringhttps://oapi.asign.cnAPI 基地址(测试 https://prev.asign.cn
TimeoutTimeSpan00:00:30HTTP 请求超时(文件上传可调大)
HttpClientNamestringAsignElectronicSignatureProvider命名 HttpClient 标识
{
"Asign": {
"AppId": "your-app-id",
"PrivateKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",
"PublicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----",
"BaseUrl": "https://oapi.asign.cn",
"Timeout": "00:00:30"
}
}

注册

using Bitzsoft.Integrations.ElectronicSignature.Asign;
// 方式一:IConfiguration(默认读取 "Asign" 配置节)
services.AddBitzsoftAsignElectronicSignature(configuration);
// 方式二:委托配置
services.AddBitzsoftAsignElectronicSignature(options =>
{
options.AppId = "your-app-id";
options.PrivateKey = File.ReadAllText("private_key.pem");
options.PublicKey = File.ReadAllText("public_key.pem");
options.BaseUrl = "https://oapi.asign.cn";
});

使用示例

var createResult = await provider.CreateContractAsync(new SimpleContractRequest
{
Title = "采购订单",
FileName = "order.pdf",
FileData = await File.ReadAllBytesAsync("order.pdf"),
SignerName = "孙八",
SignerPhone = "13400000000"
});
var contractId = createResult.Data!;
var detail = await provider.GetContractDetailAsync(contractId);
var signUrl = await provider.GetSigningUrlAsync(contractId, "signer-id");

鉴权机制

  • 请求签名:使用开发者 RSA 私钥对请求体做 SHA256WithRSA 签名。
  • 回调验签:使用平台 RSA 公钥验证回调签名。

已知限制

私钥和公钥必须为 PKCS#8 PEM 格式。统一接口覆盖极简场景,复杂业务通过 partial class 扩展。

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%