跳至頁尾內容
USING IRONSECUREDOC

PDF 簽名伺服器(開發者教程)

數位簽章是確保數位文件來源、完整性及不被複製的密碼學技術之一。 在大多數情況下,這種方式與傳統手寫簽名截然不同,使用高級加密技術來保護文件並驗證簽署者的身份。 應用於PDF中,數位簽章會建立一個電子"封印",類似於一個證書,識別文件自簽署以來未經更改。 此封印詳述了一個加密系統,包含一個數學算法,把簽章資料編碼到文件上。 數位簽章允許保持文件更改的不可變日誌,並識別簽署一方。 在這篇文章中,我們將借助IronSecureDoc建立一個PDF簽署伺服器。

如何使用PDF簽署伺服器

  1. 安裝IronSecureDoc docker映像。
  2. 運行docker映像,指定端口和授權金鑰。
  3. 使用.NET應用程式初始化IronSecureDoc Client。
  4. 獲取URL並在建立物件時傳遞到IronSecureDoc Client中。
  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容器

映像拉取完成後,下面的命令應該會啟動一個新的容器。 您可以自訂--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程式庫可輕鬆整合到您現有的.NET應用程式中,利用IronSecureDoc在PDF加密、遮罩和數位簽署中提供的功能,使用簡單的REST API呼叫。 開發人員可以輕鬆地在應用程式中確保文件安全,且保證其完整性,所有操作都在當地進行以最大程度地保護資料。 無論是為了遮罩敏感資訊、證明文件簽署還是強制文件加密,Iron Software.SecureDoc.Client都有工具來高效、安全地完成這些任務。

安裝Iron Software.SecureDoc.Client

首先,運行Iron Software.SecureDoc.Client 程式庫的安裝,因為即將推出的補丁依賴於它。 最後,為完成這一步,打開NuGet Package Manager Console並執行以下命令:

Install-Package Iron Software.SecureDoc.Client

安裝Iron Software.SecureDoc.Client

您也可以在NuGet Package Manager 中搜尋" Iron Software.SecureDoc.Client "套件。 從所有與Iron Software.SecureDoc.Client相關的NuGet套件列表中選擇需要下載的。

NuGet 快取管理器

建立自簽名數位ID

敏感商務交易通常會要求由證書授權機構(CA)頒發的ID,而不是自簽名的ID。

在Adobe Acrobat中,點擊漢堡選單(Windows)或Acrobat選單(macOS),然後選擇首選項。

Adobe Acrobat

在左側類別列表中,選擇簽名。 在右側,點擊"身份和受信任證書"旁的"更多"。

簽名

在左側,選擇數位ID,然後點擊"新增ID"按鈕。

增加 ID

新增數位ID

現在選擇單選按鈕選項"我現在要建立的新數位ID",然後點擊"下一步"。

新數位ID

建立數位ID

指定保存數位ID的位置,然後點擊"下一步"。

保存數位ID

新PKCS#12 數位ID文件

在Windows上將數位ID資訊保存為.pfx文件,在macOS上則為.p12文件。 您可以在操作系統間傳輸這些文件並在Acrobat中使用。 如果您將文件複製到其他操作系統,Acrobat將繼續使用它。

將數位ID保存到其他Windows應用程式也可以存取的公共儲存中。

新增數位ID

PKCS-數位ID

在數位ID字段中,輸入您的姓名、電子郵件地址和其他個人資訊; 這些資訊會顯示在簽名框中以及當您簽署或證明文件時在簽名面板中。

請按照以下步驟指導:從密鑰算法下拉列表中選擇一個條目。從安全性的角度來看,2048位的RSA比1024位RSA更安全。 但1024位RSA與更多裝置更相容。

在"使用數位ID"選單中,您可以指定是將數位ID用於加密、數位簽名還是兩者皆用。

點選下一步。

保存數位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,讓保護文件中敏感資訊更容易。

因此,這對於想要在其網頁伺服器應用程式中提供高級文件保護的開發人員來說非常有用。 無論是用於法律、金融甚至商業目的,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,並遵循提示在.pfx或.p12文件中建立新的數位ID。

IronSecureDoc為什麼適合商業和法律文件處理?

IronSecureDoc適合商業和法律文件處理,因為它提供強大的加密、數位簽名、審計追蹤和使用者友好的介面。它確保了對未經授權存取的防護並維持文件的完整性。

我在哪裡可以了解更多關於IronSecureDoc的定價資訊?

您可以透過存取他們的定價網頁了解更多關於IronSecureDoc的定價資訊,網址為https://ironsoftware.com/enterprise/securedoc/licensing/。他們提供免費試用和不同定價選項的詳細資訊。

數位簽名在文件安全中扮演什麼角色?

數位簽名在文件安全中起著至關重要的作用,通過提供密碼學密封來驗證簽署人的身份並確保文件自簽署後未被更改,從而保持其完整性和真實性。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話