首页 / 博客中心 / C# .NET 电子签名集成

C# .NET 电子签名集成

顺访
2026-01-25
3min
Twitter Facebook Linkedin

将电子签名集成到 C# .NET 应用程序中

在当今的数字商业环境中,电子签名已成为简化工作流程、确保合规性和减少文书工作的软件应用程序中不可或缺的元素。对于使用 C# .NET 进行开发的开发者,将电子签名功能集成可以将会静态的文档流程转变为动态、安全的交互。这种集成允许 .NET 应用程序——无论是使用 ASP.NET Core 构建的 Web 应用程序、使用 WPF 的桌面解决方案,还是基于 .NET Framework 的企业系统——直接嵌入签名功能,使用户能够在不离开应用程序的情况下查看、签署和跟踪文档。从商业角度来看,这不仅提高了效率,还符合全球法规,如美国的 ESIGN 法案或欧盟的 eIDAS,这些法规要求安全的、可验证的数字签名以确保法律效力。

过程从选择一个提供与 .NET 兼容的强大 API 的电子签名提供商开始。大多数平台提供 SDK 或 RESTful API,可以通过 C# 中的 HttpClient 轻松消费,从而使集成变得简单。关键考虑因素包括 API 认证(通常为 OAuth 2.0)、信封管理(用于文档打包)以及 webhook 支持以实现实时状态更新。采用这种方式的企业可以看到运营成本降低——研究表明,文档处理时间可节省高达 80%——同时保持审计跟踪以确保合规。

要实现集成,首先在您选择的提供商处注册一个开发者账户。例如,使用 DocuSign 的 API,您可以安装他们的 NuGet 包(DocuSign.eSign)或进行直接的 HTTP 调用。以下是一个使用 C# 创建并发送信封的基本大纲:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class DocuSignIntegration
{
    private readonly HttpClient _httpClient;
    private readonly string _baseUrl = "https://demo.docusign.net/restapi";
    private readonly string _accessToken; // Obtained via OAuth

    public DocuSignIntegration(string accessToken)
    {
        _httpClient = new HttpClient();
        _accessToken = accessToken;
        _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {_accessToken}");
    }

    public async Task<string> CreateEnvelopeAsync(string documentPath, string signerEmail, string signerName)
    {
        // Prepare envelope definition
        var envelopeDefinition = new
        {
            status = "sent",
            emailSubject = "Please sign this document",
            documents = new[]
            {
                new
                {
                    documentBase64 = Convert.ToBase64String(await File.ReadAllBytesAsync(documentPath)),
                    name = "Sample Document",
                    fileExtension = Path.GetExtension(documentPath).TrimStart('.'),
                    documentId = "1"
                }
            },
            recipients = new
            {
                signers = new[]
                {
                    new
                    {
                        email = signerEmail,
                        name = signerName,
                        recipientId = "1",
                        tabs = new
                        {
                            signHereTabs = new[]
                            {
                                new { xPosition = "100", yPosition = "100", documentId = "1", pageNumber = "1" }
                            }
                        }
                    }
                }
            }
        };

        var json = JsonConvert.SerializeObject(envelopeDefinition);
        var content = new StringContent(json, Encoding.UTF8, "application/json");

        var response = await _httpClient.PostAsync($"{_baseUrl}/v2.1/accounts/{accountId}/envelopes", content);
        if (response.IsSuccessStatusCode)
        {
            var result = await response.Content.ReadAsStringAsync();
            dynamic data = JsonConvert.DeserializeObject(result);
            return data.envelopeId;
        }
        throw new Exception("Failed to create envelope");
    }
}

此代码片段演示了创建包含文档和签名标签的信封。在实际的 .NET 应用程序中,您需要处理错误、安全上传文件,并与 UI 元素(如 Blazor 组件)集成以实现应用程序内签名预览。对于更高级的场景,如条件路由或附件,可以通过提供商特定的字段扩展负载。通过 JWT 或授权码授权进行认证,确保安全的令牌管理,通常使用 .NET 的库如 IdentityModel

除了基础功能之外,.NET 集成可以利用 webhook 来轮询或接收签名事件回调。使用 ASP.NET Core 的端点路由,设置一个控制器来处理这些:

[ApiController]
[Route("api/[controller]")]
public class WebhookController : ControllerBase
{
    [HttpPost("esign-status")]
    public async Task<IActionResult> HandleStatusUpdate([FromBody] dynamic envelopeStatus)
    {
        // Process status: completed, declined, etc.
        var envelopeId = envelopeStatus.envelopeId;
        var status = envelopeStatus.status;
        // Update database or notify users
        await Task.CompletedTask; // Placeholder for business logic
        return Ok();
    }
}

这种设置允许实时同步,对于处理高容量合同的企业应用程序至关重要。从商业角度来看,此类集成减少了对第三方工具的依赖,从而降低成本——电子签名 API 通常按信封收费,因此优化调用至关重要。开发者还应考虑可扩展性:.NET 的异步模式可以高效处理并发请求,但需监控 API 速率限制(例如,许多提供商的 100 次调用/分钟)。

为了合规,确保集成支持标准如 SHA-256 哈希以验证文档完整性。在规则严格的地区,如欧盟的 eIDAS 下,高级签名(合格电子签名)可能需要硬件令牌或生物识别验证,可以通过提供商扩展集成。在沙箱环境中进行测试对于避免生产问题至关重要。

Top DocuSign Alternatives in 2026


与 DocuSign 或 Adobe Sign 比较电子签名平台?

eSignGlobal 提供更灵活且成本效益更高的电子签名解决方案,具有全球合规性、透明定价和更快的入职流程。

👉 开始免费试用


.NET 集成流行的电子签名提供商

在为 C# .NET 集成选择提供商时,因素如 API 成熟度、定价和区域合规性起着关键作用。下面,我们概述了主要参与者,重点关注其开发者工具和商业适用性。

DocuSign

DocuSign 是电子签名市场的领导者,通过其 eSignature REST API 和官方 SDK 为 .NET 开发者提供全面的 API 支持。其平台处理从简单文档签名到复杂工作流程的一切,包括条件逻辑、批量发送和支付收集。定价从个人使用的 10 美元/月开始,扩展到 Business Pro 的 40 美元/用户/月,年计划的用户信封限制约为 100 个/年。对于企业,自定义增强计划包括 SSO、高级审计日志和 IAM 功能,用于集中管理。DocuSign 的优势在于其全球覆盖范围以及与 Microsoft 365 等工具的集成,使其适合销售、人力资源或法律团队的 .NET 应用程序。然而,附加功能如 SMS 发送或 ID 验证会产生额外的计量费用,对于高容量用户可能会累积。

image

Adobe Sign

Adobe Sign 是 Adobe Document Cloud 的一部分,通过其 REST API 和 SDK 提供无缝的 .NET 集成,强调企业级安全性和 Acrobat 兼容性。它支持网络表单、签名者附件和工作流程自动化等功能,定价从个人使用的 10 美元/用户/月到自定义企业层级。该平台在创意行业或文档密集型领域表现出色,提供 AI 驱动的表单填充,并符合 ESIGN 和 eIDAS 等标准。对于 .NET 开发者,认证使用 OAuth,信封创建类似于 DocuSign 的模式,但与 Adobe 生态系统的联系更紧密。缺点包括高级分析的潜在更高成本,以及由于数据驻留挑战而在亚太地区(APAC)的灵活性较低。

image

eSignGlobal

eSignGlobal 将自身定位为多功能电子签名解决方案,具有强大的 .NET API 支持,专注于覆盖 100 多个主流国家和地区的全球合规性。它在亚太地区(APAC)具有优势,那里的电子签名法规碎片化、高标准且严格监管——与西方更注重框架的 ESIGN/eIDAS 形成对比。APAC 要求“生态系统集成”标准,需要与政府数字身份(G2B)的深度硬件/API 集成,远超美国/欧盟常见的基于电子邮件或自我声明的方法。eSignGlobal 的 Essential 计划仅需 16.6 美元/月,即可发送高达 100 个文档、无限用户席位和访问码验证,在合规性上提供高价值。它无缝集成香港的 iAM Smart 和新加坡的 Singpass,在定价和区域优化方面与 DocuSign 和 Adobe Sign 竞争,并有持续的全球扩展计划。

esignglobal HK


正在寻找 DocuSign 的更智能替代方案?

eSignGlobal 提供更灵活且成本效益更高的电子签名解决方案,具有全球合规性、透明定价和更快的入职流程。

👉 开始免费试用


HelloSign (Dropbox Sign)

HelloSign 现隶属于 Dropbox,为 .NET 集成提供用户友好的 API,支持模板、提醒和团队协作等功能。定价从 Essentials 的 15 美元/月开始,支持无限模板但有信封上限。它因小型团队的简单性而备受赞誉,但可能缺乏 DocuSign 或 Adobe Sign 中的企业级功能深度,特别是复杂自动化。

电子签名平台的比较

为了帮助决策,以下是基于开发者集成、定价和功能的关键提供商的中立比较(2025 年估算,美元,年付适用):

功能/提供商 DocuSign Adobe Sign eSignGlobal HelloSign
.NET API 支持 完整 SDK + REST (OAuth) REST API + SDK (OAuth) REST API (OAuth/JWT) REST API (API keys/OAuth)
起始价格 (每用户/月) $10 (Personal) $10 (Individual) $16.6 (Essential) $15 (Essentials)
信封限制 (基础计划) 5/月 (Personal); 100/年 (Pro) 无限 (公平使用) 100/月 (Essential) 3/月 (Free); 无限 (Pro)
关键功能 批量发送、支付、IAM AI 表单、Acrobat 集成 APAC G2B 集成、无限席位 模板、移动签名
合规重点 全球 (ESIGN/eIDAS) 企业 (GDPR/eIDAS) 100+ 国家,APAC 优化 美国/欧盟主要
附加成本 SMS/IDV 计量 分析额外 透明、低 有限附加
最适合 企业工作流程 文档生态系统 区域合规 SMB 简单性

此表格突出了权衡:DocuSign 适合规模化,Adobe 适合集成深度,eSignGlobal 适合成本效益高的全球覆盖,HelloSign 适合易用性。

结论

将电子签名集成到 C# .NET 应用程序中,为全球企业解锁高效、合规的数字流程。虽然 DocuSign 仍是许多人的强劲选择,但像 eSignGlobal 这样的替代方案提供了中立、区域合规的选项,特别是针对寻求平衡定价和生态系统集成的 APAC 操作。根据您的具体需求进行评估,以找到最佳匹配。

常见问题

如何将电子签名服务集成到 C# .NET 应用程序中?
要集成电子签名服务,首先选择提供 C# SDK 的 API 提供商,例如那些提供 NuGet 包的。通过 NuGet 包管理器安装 SDK,然后使用 API 密钥或 OAuth 配置身份验证。使用 SDK 方法上传文档、添加签名者并启动签名工作流。确保您的应用程序处理错误并重试以实现稳健集成。
C# .NET 中电子签名集成的关键安全考虑因素是什么?
如何在 C# .NET 电子签名工作流中处理文档状态更新?
avatar
顺访
eSignGlobal 产品管理负责人,在电子签名产业拥有丰富国际经验的资深领导者 关注我的LinkedIn
立即获得具有法律约束力的签名!
30天免费全功能试用
企业电子邮箱
开始
tip 仅允许使用企业电子邮箱