跳至页脚内容
使用 IRONSECUREDOC

PDF 签名服务器(开发者教程)

数字签名是确保数字文档来源、完整性和不可复制的加密技术之一。 在大多数情况下,它与传统的手写签名形式截然不同,这种签名通过高级加密技术来保护文档并验证签名者的身份。 应用于PDF时,数字签名会创建一个电子"封印",看起来像是一个证明文件自签名以来未被更改的证书。 该封印描述了一种加密系统,其中包含一个数学算法,将签名数据编码到文档上。 数字签名允许与文档一起保留一个不可变的更改日志,并识别签署方。 在本文中,我们将利用 IronSecureDoc 创建一个 PDF 签名服务器。

如何使用PDF签名服务器

  1. 安装IronSecureDoc Docker 图像。
  2. 使用特定端口和许可证密钥运行Docker图像。
  3. 使用.NET应用程序初始化IronSecureDoc客户端。
  4. 获取URL并在创建对象时将其传递到IronSecureDoc客户端。
  5. 将所需参数传递到IronSecureDoc Client API。
  6. 获取处理后的PDF文档并保存到指定位置。

什么是IronSecureDoc?

Iron Software 的 IronSecureDoc 是文档安全的全能解决方案。 这可以防止敏感信息通过各种文档格式泄露。 它支持最先进的加密方法以保护文档免于未经授权的访问,只有指定的读者或编辑者才有权查看或修改。 它还支持数字签名,证明文件制作者的授权身份,并确保自签名以来内容未被篡改。

IronSecureDoc

此外,它提供安全的文档共享和维护,控制其传播范围及分享对象。 IronSecureDoc嵌入这些功能以帮助组织和个人保持数据保护合规并防止数据泄露。 用户友好的界面结合一系列安全功能,使它成为任何希望在共享文档时提供更高安全级别的企业的相关软件。

IronSecureDoc的功能

IronSecureDoc提供大量功能来增强文档的安全性并保持其完整性。 它的一些关键功能包括:

高级加密: 该功能有助于通过强大的加密算法保护文档免受未经授权的窥视,从而保护信息机密性。

数字签名: 这一属性证明数字签名可能附加在任何文档上,以声明其自签名以来未被更改,并且签名者是谁。

安全共享: 安全共享文档并指定被授权查看甚至交互的人员。 它可以检测到对文档的未经授权的更改或篡改,从而帮助维护文档的完整性。

合规性: 凭借确保文档安全处理和传输,帮助组织遵循众多保护和行业标准的规定。

易用性: 它通过用户友好的界面提供通过安全功能和文档设置的简单访问。

审计追踪: 它创建访问和修改的历史记录追踪,从而实现透明性和责任追究。

安装IronSecureDoc Docker图像

安装和运行IronSecureDoc Docker图像很简单。 这是您可能这样做的方法:

安装Docker

首先确保在你的系统上安装了Docker。 你可以从Docker官方网站下载Docker,并根据你的操作系统上的安装说明进行安装。

拉取IronSecureDoc Docker图像

打开终端或命令提示符并执行此命令从存储库拉取IronSecureDoc Docker图像。

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

运行Docker容器

图像被拉取后,下面的命令应启动一个新容器。 你可以自定义-p标志进行端口映射,或者使用--rm从Docker主机移除一个或多个正在运行的Docker容器。

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

在上面的示例中,将主机的端口8080映射到容器并为在IronSecureDoc中创建的容器分配一个名称。 一旦执行该命令,它将显示如下所示。

运行Docker容器

一旦它们开始运行,你可以通过浏览器(http://localhost:8080/swagger/index.html)或任何应用程序连接访问IronSecureDoc提供的API列表。

Swagger

创建新的 Visual Studio 项目

Visual Studio使得开发控制台项目变得非常容易和广泛。 下面是一些简单步骤来帮助你在Visual Studio环境下开始控制台应用程序。

使用Visual Studio之前,请确保已在计算机上安装了它。

启动新项目:

选择文件后,项目,选择新菜单。

控制台应用程序

请从下面列出的可用项目模板中选择"控制台应用程序"或"控制台应用程序 (.NET Core)"。

要为项目命名,请填写"名称"字段。

项目配置

选择项目的位置。

点击"创建"以打开控制台应用程序项目。

目标框架

什么是 Iron Software.SecureDoc.Client??

Iron Software.SecureDoc.Client Library 可轻松集成到您现有的 .NET 应用程序中,通过简单的 REST API 调用,利用 IronSecureDoc 在 PDF 加密、编辑和数字签名方面的功能。 使用 Iron Software.SecureDoc.Client 库,开发人员可以轻松确保应用程序中文档的安全性,并保证完整性,所有操作都在现场进行,从而实现对数据的高度保护。 无论是编辑敏感信息、认证文档签名,还是执行文档加密,Iron Software.SecureDoc.Client 都能提供高效、安全地完成所有这些任务的工具。

安装 Iron Software.SecureDoc.Client.

首先,运行 Iron Software.SecureDoc.Client 库的安装,因为即将推出的补丁依赖于它。 最后,为了完成此步骤,打开NuGet包管理器控制台并执行以下命令:

Install-Package Iron Software.SecureDoc.Client

!a href="/static-assets/securedoc/blog/pdf-signer-server/pdf-signer-server-7.webp">Install Iron Software.SecureDoc.Client。

您也可以在 NuGet 软件包管理器中搜索软件包 "Iron Software.SecureDoc.Client"。 从与 Iron Software.SecureDoc.Client 相关的所有 NuGet 软件包列表中选择必须下载的软件包。

NuGet包管理器

创建自签名数字ID

敏感的商业交易通常会要求来自证书颁发机构的ID,而不是自签名的。

在Adobe Acrobat 中,点击汉堡菜单(Windows) 或 Acrobat 菜单(macOS),然后选择首选项。

Adobe Acrobat

在左侧类别列表中,选择签名。 在右侧,点击身份和受信任证书旁边的更多。

签名

在左侧,选择数字ID,然后点击添加ID按钮。

Add ID

添加新数字ID

现在选择单选按钮选项"我现在想创建的新数字ID",然后点击下一步。

新建数字ID

创建新数字ID

指定保存数字ID的位置,然后点击下一步。

保存数字ID

新PKCS#12数字ID文件

将数字ID信息保存在Windows的.pfx文件和macOS的.p12文件中。 你可以跨操作系统传输这些文件,并在Acrobat中使用它们。 如果你将文档复制到另一个操作系统,Acrobat将继续使用它。

将数字ID保存到可以被其他Windows应用程序访问的公共存储中。

添加数字ID

PKCS-数字ID

在你的数字ID字段中输入你的姓名、电子邮件地址和其他个人信息; 在签名或认证文档时,这些信息将显示在签名框和签名面板中。

执行以下操作:从密钥算法下拉列表中选择一项。 从安全性角度来看,2048位的RSA比1024位的RSA更安全。 但1024位的RSA与更多的设备兼容。

在"使用数字ID"菜单中,你可以指定是将数字ID用于加密、数字签名,还是同时用于两者。

CQRS Pattern C# (开发人员的工作原理):图 1 - 创建一个新的 ASP.NET 项目

保存数字ID

输入你的身份信息

为数字ID文件输入密码。当你输入时,密码强度计会评估你的密码并用颜色模式显示密码强度。 确认你的密码。

文件名框中指示的默认位置将是数字ID文件的存放位置。 点击浏览并选择另一个保存位置。 选择"完成"。

为你的ID输入密码。

如果数字ID文件重名,你会被要求替换它。 点击确定进行替换,或点击浏览并选择不同的位置来存储文件。

现在ID已创建。 你可以导出证书文件发送给联系人,以便他们使用它来验证你的签名。

受信任证书

使用IronSecureDoc签署PDF文档

下面是帮助我们用证书文件数字签名PDF文档的示例代码。

using IronSecureDoc;

Console.WriteLine("File Process started");

// Initialize the IronSecureDocClient with the URL of the locally hosted service
var client = new IronSecureDocClient("http://localhost:8080");

// Asynchronously attempt to connect to the IronSecureDoc service
if (await client.TryConnectAsync())
{
    // If connection is successful, certify the PDF document using the provided certificate
    var result = await client.CertifyAsync("Demo.pdf", "DemoSign.pfx", "Your certificate password here");

    // Save the signed PDF document to a new file
    File.WriteAllBytes("certify.pdf", result);
}

Console.WriteLine("File Process completed");

// Wait for user input before closing the console window, allowing the user to see the completion message
Console.ReadKey();
using IronSecureDoc;

Console.WriteLine("File Process started");

// Initialize the IronSecureDocClient with the URL of the locally hosted service
var client = new IronSecureDocClient("http://localhost:8080");

// Asynchronously attempt to connect to the IronSecureDoc service
if (await client.TryConnectAsync())
{
    // If connection is successful, certify the PDF document using the provided certificate
    var result = await client.CertifyAsync("Demo.pdf", "DemoSign.pfx", "Your certificate password here");

    // Save the signed PDF document to a new file
    File.WriteAllBytes("certify.pdf", result);
}

Console.WriteLine("File Process completed");

// Wait for user input before closing the console window, allowing the user to see the completion message
Console.ReadKey();
Imports IronSecureDoc

Console.WriteLine("File Process started")

' Initialize the IronSecureDocClient with the URL of the locally hosted service
Dim client = New IronSecureDocClient("http://localhost:8080")

' Asynchronously attempt to connect to the IronSecureDoc service
If Await client.TryConnectAsync() Then
	' If connection is successful, certify the PDF document using the provided certificate
	Dim result = Await client.CertifyAsync("Demo.pdf", "DemoSign.pfx", "Your certificate password here")

	' Save the signed PDF document to a new file
	File.WriteAllBytes("certify.pdf", result)
End If

Console.WriteLine("File Process completed")

' Wait for user input before closing the console window, allowing the user to see the completion message
Console.ReadKey()
$vbLabelText   $csharpLabel

以下代码首先将发送一条消息到控制台,说明已经开始处理文件。 确认之后,将使用本地托管的IronSecureDoc服务的URL创建IronSecureDocClient。以下是示例PDF文件。

PDF输入

接下来,这个功能将异步尝试连接到服务。假设一切正常,它会调用CertifyAsync来实际签署PDF文档,传递PDF文件的路径、PDF签名证书文件和证书密码。 结果将以已签名PDF的字节数组表示,并保存到名为certify.pdf的新文件中。

控制台输出

最后在控制台中打印该文件已成功处理,然后等待用户输入后关闭控制台窗口。 这会保持一个控制台窗口以显示完成信息给用户,然后应用程序退出。

PDF输出

在上述已处理的文件中,PDF文档已通过数字证书签名。

结论

IronSecureDoc是一个集成的数字文档安全解决方案,因其强大的加密和认证能力而确保最严密的保护。 IronSecureDoc客户端库允许用户轻松地为其文档添加数字签名,以符合完整性和安全标准。 它有一个简单的API,使得更容易保护文档中的敏感信息。

因此,它对那些想在其Web服务器应用程序中提供高级文档保护的开发者们非常有用。 无论是用于法律、金融,甚至是商业目的,IronSecureDoc通过提供适当的数据保护、身份验证和端到端防篡措施工具,可助力贯穿文档整个生命周期。 IronSecureDoc提供免费试用。 要了解更多定价信息,请参阅定价页面Iron Software拥有多种库,使得开发各种平台和操作系统的应用程序变得更加容易,如Windows、Android、MAC和Linux,以及许多其他平台。

常见问题解答

我如何创建一个PDF签名服务器?

您可以使用IronSecureDoc创建PDF签名服务器。首先安装IronSecureDoc的Docker镜像并运行一个容器来设置服务器。使用IronSecureDoc客户端来处理和应用PDF文档的数字签名。

使用IronSecureDoc部署PDF签名服务器需要哪些步骤?

部署PDF签名服务器涉及安装IronSecureDoc的Docker镜像、初始化IronSecureDoc客户端,并使用它对PDF文档应用数字签名。这确保了文档的真实性和完整性。

我如何在PDF文档中添加数字签名?

要在PDF文档中添加数字签名,请使用IronSecureDoc客户端。用服务URL初始化客户端,然后连接到服务并使用CertifyAsync方法。提供PDF文件的路径、签名证书和证书密码。

使用IronSecureDoc进行数字签名的优势是什么?

IronSecureDoc提供先进的加密技术和数字签名,以确保文档的完整性和真实性。它提供安全的文档共享、符合数据保护法规,并且界面友好,非常适合需要高安全性的企业。

IronSecureDoc能帮助实现文档安全合规吗?

是的,IronSecureDoc通过提供安全的文档处理和传输来帮助实现数据保护法规的合规性,帮助组织达到行业标准并防止数据泄露。

安装IronSecureDoc Docker镜像的过程是什么?

要安装IronSecureDoc的Docker镜像,请确保Docker已经安装在您的系统上,然后执行命令docker pull ironsoftwareofficial/ironsecuredoc从仓库中拉取镜像。

我如何创建用于签署PDF文档的自签名数字ID?

您可以使用Adobe Acrobat创建自签名数字ID,通过导航到首选项 > 签名 > 身份和信任证书旁边的 更多。选择数字ID,点击添加ID,并按照提示创建一个新的数字ID,格式为.pfx或.p12文件。

是什么使IronSecureDoc适合处理商业和法律文档?

IronSecureDoc适合处理商业和法律文档,因为它提供了强大的加密、数字签名、审计跟踪和用户友好界面。它确保防止未经授权的访问并维护文档的完整性。

我在哪里可以了解更多关于IronSecureDoc的定价信息?

您可以访问他们的定价页面https://ironsoftware.com/enterprise/securedoc/licensing/来了解更多关于IronSecureDoc的定价信息。他们提供免费试用和不同定价选项的详细信息。

数字签名在文档安全中扮演什么角色?

数字签名在文档安全中起着至关重要的作用,提供一个加密印章,用于验证签名者的身份,并确保文档自签署后未被篡改,从而保持其完整性和真实性。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。