2013-08-27 28 views
1

我在C#.net應用程序中需要能夠將多個數字簽名添加到文檔。該文檔將作爲模板上傳,然後將經過幾個處理階段(郵件合併),然後將被下載。有一些要求每個方都對其進行數字簽名。C#文檔上的多個數字簽名

我有以下幾個問題

1)將每個人都需要一個單獨的證書與簽署。 2)我可以選擇在網絡服務器上安裝office還是購買第三方組件。 3)我將非常感謝c#/ .net中的任何示例(使用docx或pdf來演示這一點)

+0

使用adobe EchoSign或DocuSign,都有豐富的api來集成點網絡代碼,並支持多方,並在給定的順序簽名支持 –

+0

感謝您的這些,我會調查。我認爲使用這些服務之一意味着我的應用程序將文檔提交給他們的api並獲得簽名副本?如果我有很多數字簽名,這是我需要事先配置的東西嗎?例如如果用戶1,用戶2,用戶3和用戶4都需要簽署文件,則每個人都需要與提供者分別註冊? – keitn

+0

沒有。只是發件人應該註冊。不是全部都是 –

回答

1

下面是使用DocuSign WebService編寫代碼發送要由多方簽名的文檔: 您可以獲得來自其網站的WebService(.asmx)網址以及如何將此Service Reference添加到您的項目的步驟。

您可以從here

Envelope envelope = new Envelope(); 
envelope.Subject = subject; 
envelope.EmailBlurb = "This is Awesome. Kung fu Panda is just awesome"; 
envelope.AccountId = ConfigurationManager.AppSettings["APIAccountId"]; 

Recipient recipient = new Recipient(); 
recipient.UserName = name; 
recipient.Email = txtRecipientEmail.Text; 
recipient.ID = "1"; 
recipient.Type = RecipientTypeCode.Signer; 

//here you can add multiple recipients 
envelope.Recipients = new Recipient[] { recipient }; 


Document document = new Document(); 
document.PDFBytes = FileHelper.StreamToByteArray(fileUploadTool1.FileContent); 
document.FileExtension = Path.GetExtension(fileUploadTool1.PostedFile.FileName); 
document.Name = Path.GetFileName(fileUploadTool1.PostedFile.FileName); 
document.ID = "1"; 
envelope.Documents = new Document[] { document }; 

Tab tab1 = new Tab(); 
tab1.RecipientID = "1"; 
tab1.PageNumber = "1"; 
tab1.DocumentID = "1"; 
tab1.Type = TabTypeCode.SignHere; 
tab1.XPosition = "50"; 
tab1.YPosition = "200"; 

Tab tab2 = new Tab(); 
tab2.RecipientID = "1"; 
tab2.PageNumber = "1"; 
tab2.DocumentID = "1"; 
tab2.Type = TabTypeCode.DateSigned; 
tab2.XPosition = "110"; 
tab2.YPosition = "225"; 

envelope.Tabs = new Tab[] { tab1, tab2 }; 
APIServiceSoapClient proxy = Get_Proxy(); 
EnvelopeStatus status = proxy.CreateAndSendEnvelope(envelope); 
StatusLabel.Text = "The envelope is " + status.Status.ToString() + "."; 
+0

我是否認爲這可能會相當昂貴。我看到每個用戶每月提20美元。我的應用程序是小門戶,但大約有50-60個用戶需要通過我的應用程序簽署文檔。我所用的所有API都是用於與我的產品進行通信的API,因此我不確定它們的許可模式如何工作。 – keitn

+0

應用程序有不同的價格。您應該詢問交易定價而不是座位定價。 – mikebz

0
  1. 得到什麼是信封的細節或選項卡每個人通常跡象文檔爲己有,從而證實他是作者或他授權文件。在這種情況下,他/她使用私鑰和自己的證書。也有可能有幾個人共享相同的證書和密鑰(例如,幾個VP有權批准某些文檔)。

  2. 你可以使用一些辦公自動化或者你可以使用一些第三方庫,如我們SecureBlackbox(除其他功能,它支持PDF簽約,Office文檔的簽名,並使用特定格式的簽名標準XML簽名,也CMS/CAdES「通用」簽名)。樣品包含在可下載的軟件包中。

請注意,PDF格式不支持有幾個獨立的簽名。辦公室簽名格式確實支持獨立簽名(此外,二進制格式的簽名是不可能的)。