给PDF文件加上数字签名

合集下载

如何在 PDF 文件中添加日期和数字签名字段说明书

如何在 PDF 文件中添加日期和数字签名字段说明书

How to Add Date and Digital Signature Fields to a Portable Document Format (PDF) FileDate FieldIn Adobe Acrobat Pro DC, open the PDF.Click the Tools tab and under Prepare Form, click Open.At the screen stating: “Select a file or scan a document to begin” Adobe should alreadydisplay the file you have opened in Step 1. If you need to change the file, then click on“Change File” and browse to the correct file.a.Do not check the box next to: “This document requires signatures” (it changes whichsignature field options are available).b.Recommendation: Change the Form Field auto detection to OFF by clicking“Change” and unchecking the last box in General for: “Automatically detect formfields,” especially if the files you are adding the digital signature field to are notforms. If you choose to keep the “Form field auto detection is ON” you may get formfields detected in error. If this happens, click on the fields you do not need and deletethem. Do not leave fields that you do not need in the file because this will affectaccessibility and compliance with Section 508.c.You may get a message: “No form fields detected.” This is fine, especially if thedocument is correspondence or the file is not a “form.”Your mouse will turn into a light blue box for you to Left mouse click (and hold) > Draga box > Release mouse button (This is where you want the date stamp field in your document).Using the leader lines Release the date field under the letterhead even and centered on“OFFICE OF THE SECRETARY.” You will standardize the placement and size of box you create in Step 11.Within the Field Name properties box, enter “Date Signed” and check the box next to:“Required field.” In the bottom, right corner, click on the blue hyperlink “All Properties.”Click on the Appearance Tab and ensure the text font and font size matches your document.a.Note: Most DOI documents will be in Times New Roman and 12-point.Click on the Position Tab and ensure the Position Width is 2 inches and the PositionHeight is 0.25 inches. Click the box “Do not change height and width when changing the position.” This grays out the Width and Height fields. You may click and drag the box to center it under the Office of the Secretary, Washington, DC 20240 on the electronic letterhead, as necessary.Click on the Options Tab and change the Alignment Field to “Center” by clicking on thedrop-down menu arrow.Click on the Format Tab and scroll down to highlight “mmm d, yyyy”. Your date willappear in the “Example of current format:” field. Click Close.Close the Prepare Form Tool by clicking Close in the upper-right corner. Your date fieldappears as a light blue box. Hover your cursor in the blue date field box and the Tooltip appears, “Click to date stamp.” Again, you may click and drag to adjust placement of the field, as necessary.If you are date stamping the document, please continue to Steps 16 and 17. Otherwise,you are done creating the Date Stamp field. Proceed to “How to Add a Signature Field to a PDF”.Click in the date field and a drop-down menu arrow appears. Click on the drop-downarrow for a calendar to choose your date.Congratulations! You have date stamped your document. Now, proceed to adding adigital signature field to your PDF file.Digital Signature FieldIn the Digital Signature Properties, dialog box, click on the General Tab enter “Click toClick on the Appearance Tab, leave the font size default to Auto. The font defaults to Helvitica. You can scroll down to change the font to Times New Roman.If you just added the Date Field, Adobe remembers… Uncheck the box “Do not changeheight and width when changing the position.” On the Position Tab ensure the Position Width is 3 inches and the Position Height is 0.40 inches. Recheck the box “Do notchange height and width when changing the position.” This grays out the Width and Height fields. Click Close.a.NOTE: If you have more than one signature in your file (e.g., a “Through” line), youmust give each digital signature field a unique name. Repeat Steps 5-11 for eachsignature required. Click Close after adding each signature field.8.Close the Prepare Form Tool by clicking Close in the upper-right corner. Your signaturefield appears as a light blue box with the red “Sign here” flag. Hover your cursor in the blue date field box and the Tool Tip appears, “Click to sign, check box to lock document (Click to sign)”. Again, you may click and drag to adjust placement of the field, asnecessary.Congratulations! You have added a digital signature field.Save your document, adjusting the file name by adding “ready for signature”. Thisassists with version control.Run the Accessibility Checker Click Start Checking.The Accessibility Checker Menu appears on the left side of the document.Open all the arrows next to headings in bold, which indicates accessibility issues.You must address all issues marked with a question mark and red “X”.To correct the “Title Failed”, right click on it and click FixIn the Description Window, uncheck “Leave As Is” and enter the document Title. Youcan repeat for Subject, Author and Keywords if you wish. Click OK.The Title Failed changes to Title Passed.To correct the Tagged annotations – Failed, click on the Tag panel, highlight the main“Tags” at the top, right-click and select FindIn the Find Element dialog box, click on the dropdown menu, select “UnmarkedAnnotations,” then select the radio button next to Search Document, and click “Find.”The date field you added is highlighted. Click “Tag Element,” select “Form” in the“Type” field, and click OK. The next, if any, unmarked annotated field is automatically highlighted. As you can see, the digital signature field you added is now highlighted. The Find Element dialog box remains open until you close it; therefore, click “Tag Element” and “Form” should already be selected, then click OK. The Find Complete dialog box opens. Click OK and click Close in the Find Element dialog box.Rerun the Accessibility Checker by selecting “Full Check” and clicking “StartChecking.” Three manual checks should be displayed: Logical Reading Order – Needs manual check, Color contrast – Needs manual check, and Navigation links – Needs manual check. The logical reading order and color contrast will be in the Document heading and Navigation links will be in the Page heading. Click Close to close the Accessibility tool. Click the “X” in the upper-right corner of the Accessibility Checker to close the report.Save the file and continue to the “Fixing Reading Order for the Date and DigitalSignature Fields” to finalize the PDF file for digital signature.Fixing Reading Order for Date and Digital Signature FieldsThe Reading Order panel opens. Make sure the box next to: “Display like elements in a single block” is unchecked.You will notice tagged items in the PDF file are displayed in grey blocks with acorresponding number in the upper-left corner to the number listed in the Order panel. The date and digital signature fields are at the bottom of the order for Page 1. In this example, they are numbers 29 and 30. The fields need to be moved so a user using assistive technology has the date field read after the letterhead and the digital signature field read after the full name of the signatory official. To move the date field, you will hold your left mouse button and drag it above the word, “Memorandum” and release your left mouse button.Repeat the same steps for moving the digital signature before the signatory official’s title.Close the Reading Order dialog box by clicking “Close,” then close the Order panel byclicking the “X” in the upper-right corner.Save your file. It is recommended to add “Ready for Signature” to your filename toensure version control and decipher the final PDF to send to the signatory official. Congratulations! Your PDF file is ready for the signatory official’s digital signature. Asa reminder, the signatory official will select the date she or he is signing the PDF filefirst, then click on the digital signature field to digitally sign and click “Lock document after signing.”。

PDF数字签名的使用

PDF数字签名的使用

PDF数字签名的使用数字签名的使用1 创建签名2 使用签名3 发送签名文件及证书4 接受导入客户授权证书1 创建签名打开Adobe Acrobat Professional -> Advancer(高级) -> Security Settings(安全性设置)选择Digital IDs(数字身份证)--Add ID(添加身份证)-- Create a Salf-Siunged Digital ID(创建自签名数字证书)下一步选择新建PKCS#12数字身份证文件输姓名部门单位名称 E-mail 国家选择数字证书文件保存路径和数字证书密码 (一定要保存好此文件) 记住自己输入的密码点击“Finish”即可此为证书文件 ( 此文件妥为保管,不要丢失)创建完毕,见下图;2 使用签名1 建立自己的签名手迹扫描一张有自己签名的字迹样板大小适中,JPG图片文件即可; 如: 2打开Adobe Acrobat Professional -> Edit -- -Preferences 进入3,选择 Security (安全性) 在 Apperance (外观) New选择 Title (标题) 名称自定义再选择导入图形打开扫描好的自己签名的文件图片导入图片文件后,如图OK产生为“LUOJIE 名称的签名外观选择用 Adobe Acrobat Professional 打开要签名的文件选择“ 文档” ----- “数字签名“------ “ 在文本档上签名” 或工具栏上的“签名”选择继续签名下一步选择要签名文件的区域,在文件中用鼠标选择区域作为签名的位置输入创建签名时是自己设置的密码选择刚建立的签名外观选择” Sign and Save “ (签名并保存)完成签名,如图:3 发送签名文件及证书第一次发送已签名的文件给客户,需要同时传送自己的授权证书给客户,具体操作如下打开Adobe Acrobat Professional -> Advancer(高级) -> Security Settings(安全性设置) 选择Digital IDs(数字身份证)在已有自己的证书下,选择 Expoer Certificate (导出证书)保存文件即可第一次需要同时传送“ 已签名文件“ 及“ 自己的授权证书(CertExchangeLuoJie) “ 文件给客户4 接受导入客户授权证书接受到授权证书如何导入接受到证书文件直接双击运行对话框选择设置联系人信任选择将本证书用作可信任根OK 确定即导入成功查看导入的证书信息打开Adobe Acrobat Professional -> Advancer(高级) -> Trusted Identities (可信任身份)可看到” luojie “ 已在可信任身份。

如何通过AdobeAcrobat编辑和签署PDF文件

如何通过AdobeAcrobat编辑和签署PDF文件

如何通过AdobeAcrobat编辑和签署PDF文件Adobe Acrobat是一款强大的PDF编辑和管理工具,可以帮助我们轻松编辑和签署PDF文件。

本文将介绍如何通过Adobe Acrobat编辑和签署PDF文件的详细步骤和方法。

一、安装和启动Adobe Acrobat首先,确保你已经成功安装了Adobe Acrobat软件,并且打开了程序。

一般情况下,安装完毕后,你可以在电脑桌面或开始菜单中找到Adobe Acrobat的图标,点击即可启动软件。

二、打开PDF文件在Adobe Acrobat中,你可以通过多种方式打开PDF文件。

最直接的方式是点击菜单栏的“文件”选项,然后选择“打开”,在文件资源管理器中选择并打开你想要编辑和签署的PDF文件。

三、编辑PDF文件Adobe Acrobat提供了多种编辑工具,方便我们对PDF文件进行修改和调整。

1. 文本编辑:如果你需要修改PDF中的文本内容,可以点击左侧工具栏中的“编辑文本”工具。

然后,在PDF文件中选中你想要编辑的文字,即可进行修改。

你还可以调整字体、字号、颜色等文本样式。

2. 图片编辑:如果你需要替换或删除PDF中的图片,可以点击左侧工具栏中的“编辑对象”工具。

然后,你可以选择图片,并进行替换、删除等操作。

3. 页面编辑:如果你需要重新排列或删除PDF中的页面,可以点击右侧工具栏中的“缩略图”选项卡。

然后,你可以在缩略图中拖动页面的顺序,或者右键点击页面并选择“删除”来删除页面。

四、签署PDF文件Adobe Acrobat的签署工具可以帮助我们方便地对PDF文件进行数字签名,确保文件的真实性和完整性。

1. 创建数字ID:首次签署PDF文件前,你需要创建一个数字ID。

点击右侧工具栏中的“签署”选项卡,然后选择“添加数字ID”,按照提示填写个人信息来创建数字ID。

2. 数字签名:当你想要在PDF文件上进行签名时,点击右侧工具栏中的“签署”选项卡,然后选择“签名文档”。

itextpdf签名步骤

itextpdf签名步骤

itextpdf签名步骤
iTextPDF签名步骤如下:
1.创建PDF阅读器对象,用于读取需要签名的PDF文件。

2.创建签章工具对象,用于添加数字签名。

可以选择只允许签名一次或允许追加签名,以及验签工具是否能够识别每次签名之后文档是否被修改。

3.创建数字签名域,包括签名位置、宽度和高度等参数。

4.输入证书信息,包括证书文件路径和提取证书时的密码。

5.如果需要,可以添加签名信息,如签名原因、联系方式和地址等。

6.点击“sign”按钮,开始签名过程。

在跟踪窗口中可以看到签名的进程。

7.签名完成后,打开指定的目标文件,检查文档是否已经成功签名。

这些步骤涵盖了使用iTextPDF库进行PDF签名的基本流程。

具体的实现细节可能会根据使用的库版本和编程语言有所不同,因此建议参考相关的文档或示例代码以获得更准确的指导。

使用WPS进行PDF文件签名和保护

使用WPS进行PDF文件签名和保护

使用WPS进行PDF文件签名和保护PDF(Portable Document Format)是一种广泛使用的文档格式,因其跨平台性和易读性而受到许多人的欢迎。

在日常工作和学习中,我们常常需要使用PDF文件进行签名和保护。

本文将介绍如何使用WPS (Word、PDF、Slides)软件来完成这些任务。

1. 使用WPS签名PDF文件在很多情况下,我们需要对PDF文件进行签名以确认文件的真实性和完整性。

WPS提供了方便的签名工具,使我们可以轻松地添加数字签名。

(1)打开WPS软件,并导入需要签名的PDF文件。

(2)在菜单栏中找到“签名”选项,点击后会出现一个签名工具栏。

(3)选择“添加签名”,此时会弹出一个对话框,要求选择签名文件。

如果之前已经创建了数字签名文件,可直接选择导入。

如果没有,需要先创建签名文件。

(4)签名文件可以通过多种方式创建,比如使用WPS软件的数字签名工具、使用手写板等。

选择合适的方式,创建并导入签名文件。

(5)在PDF文件中选择需要签名的位置,并点击鼠标左键进行签名。

(6)签名完成后,可以对签名进行调整、删除或移动。

2. 使用WPS保护PDF文件有时候我们需要对PDF文件进行保护,以防止文件的内容被篡改或者未经授权的访问。

WPS提供了多种保护措施,保护PDF文件的安全性。

(1)打开WPS软件,并导入需要保护的PDF文件。

(2)在菜单栏中找到“保护”选项,点击后会出现一个保护工具栏。

(3)选择“设置密码”,此时会弹出一个对话框,要求设置打开密码和编辑密码。

(4)设置打开密码后,只有知道密码的人才能打开此PDF文件。

设置编辑密码后,只有知道密码的人才能对PDF文件进行修改。

(5)点击确认后,系统会要求再次输入密码进行确认。

(6)保护设置完成后,PDF文件会自动保存并重新加密。

3. 使用WPS进行PDF文件的签名和保护的注意事项在使用WPS进行PDF文件的签名和保护时,需要注意以下事项:(1)创建和导入签名文件时,确保文件的安全性。

pdf防篡改方法

pdf防篡改方法

pdf防篡改方法
PDF防篡改的方法有多种,以下是一些常见的方法:
1.加密PDF文档:通过设置密码来保护PDF文档,防止未经授权的访问和修
改。

这种方法简单易行,但密码容易被破解,因此需要定期更换密码或使用更高级别的加密技术。

2.数字签名:在PDF文档中添加数字签名,可以验证文档的完整性和真实性。

数字签名可以防止文档被篡改或伪造,但需要使用专门的数字签名工具和证书。

3.限制编辑功能:通过设置PDF文档的权限,限制用户对文档的编辑和修改。

这种方法可以在一定程度上防止文档被篡改,但需要使用专门的PDF编辑软件或插件来实现。

4.隐藏元数据:在PDF文档中隐藏元数据,可以防止未经授权的用户获取文
档的敏感信息。

这种方法需要在文档中添加隐藏元数据,并使用专门的工具来查看和删除这些元数据。

5.使用专业的PDF保护工具:有一些专业的PDF保护工具可以帮助用户保护
PDF文档,防止被篡改或伪造。

这些工具通常具有多种功能,如加密、数字签名、权限管理等。

需要注意的是,以上方法并不能完全保证PDF文档不被篡改,因为技术手段不断更新,新的攻击方式也不断出现。

因此,在使用这些方法的同时,还需要定期更新和升级相关软件和工具,以应对新的威胁和挑战。

PDF怎么添加数字签名?这款编辑器软件很多人都说好用

PDF怎么添加数字签名?这款编辑器软件很多人都说好用

PDF怎么添加数字签名?这款编辑器软件很多人都说好用PDF文件怎么添加数字签名?其实,要给PDF文件添加数字签名,我们可以选择把这份文件转换成PDF格式的文件,再通过PDF编辑器给这份PDF文件添加数字签名。

那么,给PDF文件添加数字签名,我们可以选择哪一款PDF编辑器呢?另外,我们又该如何使用PDF编辑器给PDF文件添加数字签名呢?试试“迅捷PDF编辑器”,这款PDF编辑器软件很多人都说好用。

接下来,我们就以“迅捷PDF编辑器”为例子,往下找寻给PDF文件添加数字签名的具体方法步骤吧。

必备工具:迅捷PDF编辑器获取方法:在电脑百度上输入“迅捷PDF编辑器”并搜索,进入软件官网就可以免费获取第一步:在电脑上下载、安装好“迅捷PDF编辑器”后,双击运行该软件。

打开软件后,点击页面左上方的【文件】-【打开】,在弹出来的框中找到需要添加数字签名的PDF文件。

点击框中的【打开】按钮,把PDF文件打开。

第二步:需要添加数字签名的PDF文件在“迅捷PDF编辑器”中打开后,点击页面上方菜单栏处的【文档】。

在【文档】下拉框中找到【数字签名】,点击其中的【放置签名】以创建新的签名域并签名。

●第三步:点击【放置签名】后,点击并拉动鼠标,创建新的签名域。

●第四步:松开鼠标后,会弹出一个签名文档的设置页面。

在这里,完成对数字签名的各项设置。

完成设置后,点击设置页面的【确定】按钮,如此便完成数字签名的设置啦(或者直接点击【数字签名】中的【签名文档】,完成设置)。

第五步:最后,把已经添加数字签名的PDF文件保存起来就可以啦。

看完小编的分享内容,各位小伙伴是否已经知道如何使用“迅捷PDF编辑器”给PDF文件“迅捷PDF编辑器”还有更多其它PDF编辑功能哦。

添加数字签名了呢?除了添加数字签名,对这款软件感兴趣的小伙伴们,记得到软件官网下载、安装下来哦。

如何创建数字签名(1)

如何创建数字签名(1)

如何创建数字签名
以下操作在acrobat standard6.0以上的版本中完成,其它版本可能略有不同。

1、首先将自己最靓的签名扫描成图片并剪裁成
小图:
2、将该小图片打印成PDF文档备用。

3、在acrobat中选择“编辑-〉首选项-〉数字签名
-〉新建”就会弹出如图对话框:
4、填入标题“zhangsan”;
“导入图形-〉pdf文件”将刚才生成的文件导
入;
并按下图设置配置文本并确认。

5、“高级-〉管理数字身份证-〉我的数字身份证-〉
添加-〉创建自签名身份证”。

6、选中数字身份证,“导出-〉将数据通过电子邮
件发给他人->xianghua@”(暂时统一由向华收集吧)。

7、OK,可以用了。

如何使用电子签名
1、首先作者将其它文件转为PDF文档。

2、“文档-〉数字签名-〉在文档上签名-〉继续签
名-〉创建要签名的新签名域-〉下一步-〉确定”
3、用鼠标在文档上要签名的地方拖出一个矩形
框。

4、在弹出的对话框中选择要使用的数字签名。

5、按图示进行设置
6、完成。

PDF签名及数字证书配置详细教程

PDF签名及数字证书配置详细教程

PDF签名及数字证书配置详细教程数字签名与传统的手写签名一样,必须验证签署文件中签名人身份的真实性。

采用数字签名文件必须确认以下两点:一是文件的确是由签名者签署;二是文件内容自签发后到收到为止未曾作过任何修改。

在Acrobat中,如果需要对某个文档进行数字签名,那签名人必须首先具有一个指定的数字身份,数字身份就像身份证一样,这个数字身份可以自己创建,也可以由可信的第三方供应商提供。

在Acrobat中提供了三种数字证书的创建方法:第一种方法:使用缺省的安全证书方式自行创建数字身份,创建的数字身份文件被存储成后缀为.Pfx文件,在这种方式下,可以选择由密码来保护数字身份文件,这种方式只适合小规模企业,在大的环境中,验证签名的证书交换存在问题;第二种方法:由Windows的安全授权机构提供的数字身份,主要特点是申请管理证书及验证签名比较方便,无需重新投入费用,但只适合在企业内部使用,与其它企业建立相互信任关系比较困难;第三种方法:由可信的数字证书认证中心来提供。

一般官方场合使用的数字身份都是由可信的数字证书认证中心发放的。

数字证书认证中心会发放一个私钥文件 (Sk)和一个数字身份文件。

数字身份文件包含身份拥有者的公共密钥(公钥Pk)、名称,发证机构名称、数字身份证号,以及发证机构的数字签名等信息,但每年的投入费用相当昂贵。

1、申请个人数字证书备注:个人数字证书由公司证书服务器统一颁发,通过域帐号进行申请,要养成离开电脑后锁定计算机的习惯,域密码必须妥善保管,以防止被他人冒用申请证书;证书同样也必须妥善保管,以防被他人盗用;个人数字证书有限期为2年,过期后需要重新申请(Windows XP之后版本的操作系统证书过期后会自动续订更新证书)。

Windows XP之后版本的操作系统通过公司域登录后会自动注册个人数字证书,Windows 2000版本操作系统必须手工申请公司颁发的个人数字证书,查看数字证书是否注册成功,方法如下:打开IE浏览器,在“菜单”->“Internet选项”->“工具”->“内容”点击“证书”如果在个人证书列表中没有你以你域帐号描述的证书,请使用以下方法手工申请证书。

JavaPDF添加数字签名的实现方法

JavaPDF添加数字签名的实现方法

JavaPDF添加数字签名的实现⽅法经过数字签名的⽂档,能够使作者之外的⼈⽆法对其进⾏修改。

因此,在PDF⽂档中添加数字签名可以保证其安全性和真实性。

同时根据添加内容的差异性,数字签名可分为⽂本数字签名、图⽚数字签名、图⽚及⽂本数字签名。

本⽂将通过Spire.PDF for Java来演⽰如何在PDF⽂档中添加数字签名。

使⽤⼯具:Jar⽂件获取及导⼊:⽅法1:通过获取Jar包。

下载后,解压⽂件,并将lib⽂件夹下的Spire.Pdf.jar⽂件导⼊Java程序。

(如下图)⽅法2:通过maven仓库安装导⼊。

具体安装教程详见此⽹页。

⽰例1:添加⽂本数字签名import com.spire.pdf.PdfDocument;import com.spire.pdf.graphics.PdfTrueTypeFont;import com.spire.pdf.security.GraphicMode;import com.spire.pdf.security.PdfCertificate;import com.spire.pdf.security.PdfCertificationFlags;import com.spire.pdf.security.PdfSignature;import java.awt.*;import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D;public class TextSignature {public static void main(String[] args) {//加载PDF⽂档PdfDocument doc = new PdfDocument();doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");//加载pfx证书PdfCertificate cert = new PdfCertificate("C:\\Users\\Test1\\Desktop\\gary.pfx", "abc123");//添加数字签名,设置其位置和⼤⼩PdfSignature signature = new PdfSignature(doc, doc.getPages().get(doc.getPages().getCount()-1), cert, "MySignature");Rectangle2D rect = new Rectangle2D.Float();rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 270, (float) doc.getPages().get(0).getActualSize().getHeight() - 300), new Dimension(200, 110)); signature.setBounds(rect);//设置签名为⽂本形式signature.setGraphicMode(GraphicMode.Sign_Detail);//设置签名的内容signature.setNameLabel("签字者:");signature.setName("Gary");signature.setContactInfoLabel("联系电话:");signature.setContactInfo("010333555");signature.setDateLabel("⽇期:");signature.setDate(new java.util.Date());signature.setLocationInfoLabel("地点:");signature.setLocationInfo("US");signature.setReasonLabel("原因:");signature.setReason("我是⽂档所有者");signature.setDistinguishedNameLabel("DN: ");signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());//设置签名的字体signature.setSignDetailsFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 11)));//设置⽂档权限为禁⽌更改signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);signature.setCertificated(true);//保存⽂档doc.saveToFile("output/TextSignature.pdf");doc.close();}}⽂本数字签名效果:⽰例2:添加图⽚数字签名import com.spire.pdf.PdfDocument;import com.spire.pdf.graphics.PdfImage;import com.spire.pdf.graphics.PdfTrueTypeFont;import com.spire.pdf.security.GraphicMode;import com.spire.pdf.security.PdfCertificate;import com.spire.pdf.security.PdfCertificationFlags;import com.spire.pdf.security.PdfSignature;import java.awt.*;import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D;public class ImageSignature {public static void main(String[] args) {//加载PDF⽂档PdfDocument doc = new PdfDocument();doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");//加载pfx证书PdfCertificate cert = new PdfCertificate("C:\\Users\\Test1\\Desktop\\gary.pfx", "abc123");//添加数字签名,设置其位置和⼤⼩PdfSignature signature = new PdfSignature(doc, doc.getPages().get(doc.getPages().getCount()-1), cert, "MySignature");Rectangle2D rect = new Rectangle2D.Float();rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 250, (float) doc.getPages().get(0).getActualSize().getHeight() - 300), new Dimension(170, 150)); signature.setBounds(rect);//设置签名为图⽚形式signature.setGraphicMode(GraphicMode.Sign_Image_Only);signature.setSignImageSource(PdfImage.fromFile("C:\\Users\\Test1\\Desktop\\Image.png"));//设置签名的字体signature.setSignDetailsFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 11)));//设置⽂档权限为禁⽌更改signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);signature.setCertificated(true);//保存⽂档doc.saveToFile("output/ImageSignature.pdf");doc.close();}}图⽚数字签名效果:⽰例3:添加图⽚及⽂本数字签名import com.spire.pdf.PdfDocument;import com.spire.pdf.graphics.*;import com.spire.pdf.security.GraphicMode;import com.spire.pdf.security.PdfCertificate;import com.spire.pdf.security.PdfCertificationFlags;import com.spire.pdf.security.PdfSignature;import java.awt.*;import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D;public class TextAndImageSignature {public static void main(String[] args) {//加载PDF⽂档PdfDocument doc = new PdfDocument();doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");//加载pfx证书PdfCertificate cert = new PdfCertificate("C:\\Users\\Test1\\Desktop\\gary.pfx", "abc123");//添加数字签名,设置其位置和⼤⼩PdfSignature signature = new PdfSignature(doc, doc.getPages().get(doc.getPages().getCount()-1), cert, "MySignature");Rectangle2D rect = new Rectangle2D.Float();rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 350, (float) doc.getPages().get(0).getActualSize().getHeight() - 170), new Dimension(300, 170)); signature.setBounds(rect);//设置签名为图⽚加⽂本模式signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);//设置签名的内容signature.setNameLabel("签字者:");signature.setName("Gary");signature.setContactInfoLabel("联系电话:");signature.setContactInfo("010333555");signature.setDateLabel("⽇期:");signature.setDate(new java.util.Date());signature.setLocationInfoLabel("地点:");signature.setLocationInfo("US");signature.setReasonLabel("原因:");signature.setReason("我是⽂档所有者");signature.setDistinguishedNameLabel("DN: ");signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());signature.setSignImageSource(PdfImage.fromFile("C:\\Users\\Test1\\Desktop\\Image.png"));//设置签名的字体 signature.setSignDetailsFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 11)));//设置⽂档权限为禁⽌更改signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);signature.setCertificated(true);//保存⽂档doc.saveToFile("output/TextAndImageSignature.pdf");doc.close();}}图⽚及⽂本数字签名效果:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

如何在AdobeAcrobat中编辑和签署PDF文件

如何在AdobeAcrobat中编辑和签署PDF文件

如何在AdobeAcrobat中编辑和签署PDF文件在现今信息化时代,PDF(便携式文档格式)已成为广泛应用于各类文件的标准格式。

而Adobe Acrobat作为最常用且功能强大的PDF编辑软件,为用户提供了方便快捷地编辑和签署PDF文件的功能。

本文将介绍如何在Adobe Acrobat中进行PDF文件的编辑和签署。

一、PDF文件的编辑Adobe Acrobat提供了多种编辑工具,使得用户可以对PDF文件进行文字、图片、表格等内容的编辑和修改,极大地方便了用户的办公工作。

以下是具体的编辑方法:1. 文字编辑若需对PDF文件中的文字进行编辑,可通过以下步骤实现:首先,在Adobe Acrobat中打开目标PDF文件;其次,选择“工具”菜单中的“编辑PDF”选项;接着,点击需要编辑的文字,并进行修改,这包括修改字体、字号、颜色等。

2. 图片编辑在PDF文件中插入、删除或替换图片,可按照以下步骤进行操作:先打开目标PDF文件;然后,点击“工具”菜单中的“编辑PDF”选项;接着,在工具栏上选择“图片”工具,即可执行插入、删除或替换图片的操作。

3. 表格编辑若需要对PDF文件中的表格进行编辑,可按照以下方法进行操作:首先,在Adobe Acrobat中打开目标PDF文件;接着,选择“工具”菜单中的“编辑PDF”选项;然后,通过使用“表格编辑”工具对表格进行修改,包括插入、删除、合并、拆分单元格等。

二、PDF文件的签署在商务活动中,经常需要对合同、文件等进行签署。

Adobe Acrobat提供了便捷的数字签名工具,使得用户可以在PDF文件中进行签署操作。

以下是具体的签署方法:1. 创建数字签名首先,在Adobe Acrobat中打开目标PDF文件;然后,选择“工具”菜单中的“保护”选项;接着,在“保护”工具箱中选择“证书”工具;最后,根据提示步骤创建数字签名。

2. 在PDF文件中签署若需要在PDF文件中进行签署操作,可按照以下步骤进行:首先,在Adobe Acrobat中打开目标PDF文件;接着,选择“工具”菜单中的“保护”选项;然后,在“保护”工具箱中选择“签署和证书”工具;最后,点击需要签署的位置,并选择预先创建好的数字签名。

如何在pdf上电子签名

如何在pdf上电子签名

如何在pdf上电子签名【篇一:如何在pdf上电子签名】首先需要安装pdf阅读器(adobereader),然后打开已经下载到自己电脑的pdf申请表单文件,接着在电脑上插入签名人的数字证书,在pdf上点击标有签名人姓名和身份证号的签名域,在弹出的对话框里点击签名,输入数字证书密码,点击保存,即可电子签名成功。

【篇二:如何在pdf上电子签名】降低成本并加速批准流程2)本操作方法实用于以下:茂鑫源(深圳)电子有限公司生产制造系统pdf实现电子签名的方法1)利用ad obe acrobat 7.0 prof essional 软件实现电子签名2)利用ad obe 便携式文档格式 (pdf) 文件中的数字签名,使用ad obe 解决方案,可以实现:●保证文件可靠真实性,●接收者可以验证签名人的数字身份●核实文档没有被欺骗性地更改●降低成本并加速批准流程pdf实现电子签名步骤:1.创建数字身份证2.设计电子签名外观3.指定签名域及文档验证4.文档签名5.签名验证pdf电子签名操作流程pdf电子签名操作流程一创建数字身份证:1.打开ad obe acrobat 7.0 prof essional2.请选择高级安全性设置 2.请选择左边的 win dows数字身份证,然后单击添加数字身份证 pdf电子签名操作流程pdf电子签名操作流程3.请选择创建自签名数字身份证然后单击下一步然后再单击下一步 4.选择新建pkcs#12数字身份证文件然后单击下一步 5.选择启用unicod e支持然后为适当的域指定unicod e 值,其中ascⅡ码请填写英文名字或者汉语简拼,unicod e码请填写相应的中文,从菜单选择密钥算法、选择1024bit r sa \请从数字身份证用于菜单,选择数字签名请单击下一步 pdf电子签名操作流程6.请指定数字身份证的文件名和口令并单击完成(该文件用于签名验证)pdf电子签名操作流程二创建个性化电子签名外观使用ad obe解决方案产生的电子签名包含文本签名和数字签名1.如果你要在签名中包含图像(例如艺术签名或图章)请从创作应用程序创建或导入图像、将图像放置在页面上pdf 电子签名操作流程2.请选择编辑 -- 首选项,然后选择左边的安全性 pdf电子签名操作流程3.单击新建进入配置签名外观4.请在配置签名外观对话框中,键入签名外观的标题。

PDF电子签名方法

PDF电子签名方法

PDF电子签名方法一、什么是PDF电子签名。

小伙伴们!今天咱来唠唠PDF电子签名这事儿。

简单来说呢,PDF电子签名就是在PDF文档上以电子的形式添加签名,就跟咱在纸质文件上签字差不多,不过更方便、更环保啦!它能保证文档的真实性、完整性和不可否认性,让咱们在数字世界里也能放心地签署各种重要文件。

1. 使用Adobe Acrobat软件签名。

Adobe Acrobat可是处理PDF文件的神器哦!咱要是用它来添加电子签名,那操作起来也挺简单的。

首先得打开要签名的PDF文档哈。

然后呢,在菜单栏里找到“工具”选项,点进去后再找到“证书”或者“签名”相关的功能按钮(不同版本可能位置有点不一样哦)。

接下来就可以选择创建自己的数字签名啦,按照提示填写一些必要的信息,比如姓名、邮箱啥的。

填完之后,再把这个数字签名应用到文档里需要签名的地方就大功告成啦!2. 利用在线PDF签名平台。

现在网络这么发达,有好多在线平台都能帮咱们给PDF文件添加电子签名呢。

比如说SmallPDF、DocuSign这些平台。

咱只需要把PDF文档上传到这些平台上,然后按照平台的提示操作就行啦。

一般来说,平台会让咱创建一个签名(可以手写输入,也可以选择一些预设的漂亮字体签名哦),创建好之后,把签名拖放到文档指定的位置就好啦。

最后再下载签好名的PDF文件到本地就可以啦,是不是很方便呀?3. 通过PDF编辑软件添加图片签名。

有些PDF编辑软件也能让咱轻松添加电子签名哦,比如说福昕PDF编辑器。

咱可以先准备好自己的签名图片(可以用手机或者其他设备手写签名后拍照,然后裁剪成合适的大小)。

接着打开PDF文档,在编辑软件里找到“插入图片”或者“添加图像”的功能,把准备好的签名图片插入到文档需要签名的地方。

调整一下图片的大小和位置,让它看起来更美观、更合适就OK啦。

三、注意事项。

在进行PDF电子签名的时候,也有一些小细节得注意哦。

比如说,要确保自己的签名具有法律效力,那就得遵守相关的法律法规和规范,不能随便乱签哈。

数字签名工具专业版使用指南

数字签名工具专业版使用指南

数字签名工具专业版使用指南1000字数字签名工具专业版使用指南数字签名工具专业版是一款功能强大、易于使用的数字签名工具。

它可以为您的电子文档、Word文档、PDF文件等添加数字签名,使其具有法律效力。

本指南将向您介绍数字签名工具专业版的安装、应用及常用操作方法。

一、安装数字签名工具专业版首先,您需要下载数字签名工具专业版的安装包,并双击运行。

接着,按照程序提示进行安装,直到完成即可。

二、数字证书的申请与导入数字签名的有效性基于数字证书,所以您需要申请并导入数字证书。

1. 向数字证书颁发机构申请数字证书并导入打开数字证书颁发机构的网站,按照其要求填写个人信息并提交申请。

待机构审核通过后,您将收到颁发的数字证书文件。

将该文件双击打开,按照向导即可将证书导入。

2. 生成自己的数字证书数字签名工具专业版也支持生成自己的数字证书。

在主界面点击“新建数字证书”,填写相应信息并确认。

接着,选择证书存储路径并保存。

最后,将新生成的数字证书导入。

三、添加数字签名1. 添加数字签名在主界面点击“数字签名”,然后点击“添加数字签名”,选择要签名的文件,并填写签名信息。

接着,选择数字证书及密码,点击确认即可完成签名。

2. 批量签名如果您需要对多个文件进行签名,可以使用数字签名工具专业版的批量签名功能。

在主界面点击“批量签名”,选择要签名的文件夹,填写签名信息并选择数字证书,点击确认即可。

四、修改数字签名如果您需要修改签名信息或数字证书,可以使用数字签名工具专业版的修改签名功能。

在主界面点击“修改签名”,选择需要修改的签名文件,填写新的签名信息,并选择数字证书,点击确认即可完成修改。

五、验证数字签名在主界面点击“验证签名”,选择需要验证的签名文件,输入数字证书密码,然后点击“验证”按钮。

如果签名有效,数字签名工具专业版将提示验证成功。

六、删除数字签名如果您需要删除签名文件的数字签名,可以使用数字签名工具专业版的删除数字签名功能。

使用AdobeAcrobatPro编辑和签署PDF文件

使用AdobeAcrobatPro编辑和签署PDF文件

使用AdobeAcrobatPro编辑和签署PDF文件Adobe Acrobat Pro是一款功能强大的PDF编辑和签署工具,它提供了各种实用的功能,使得对PDF文件进行编辑和签署变得简单而高效。

本文将介绍如何使用Adobe Acrobat Pro编辑和签署PDF文件,包括编辑文本、插入图片、添加批注、创建数字签名等技巧。

1. 编辑文本Adobe Acrobat Pro允许您轻松编辑PDF文档中的文本内容。

在打开PDF文件后,点击"编辑"选项,选择需要编辑的文本,然后进行修改。

您可以更改字体、字号、颜色等属性,还可以进行排版调整和文本的添加、删除和替换。

编辑完成后,点击保存即可保存修改后的PDF文件。

2. 插入图片除了编辑文本,Adobe Acrobat Pro还支持插入图片到PDF文件中,这对于制作图文并茂的文档非常有用。

在编辑模式下,点击"编辑"选项,然后选择"添加图片"。

在弹出的对话框中,选择要插入的图片文件并确定位置,即可将图片插入到PDF文件中。

您还可以对插入的图片进行调整、裁剪和旋转等操作,以满足特定的需求。

3. 添加批注在协作处理和审核PDF文件时,添加批注是必不可少的功能。

Adobe Acrobat Pro提供了多种批注工具,如文本框、高亮、下划线、划线等。

单击"评论"选项,选择相应的批注工具,然后在需要添加批注的位置绘制或输入内容即可。

您还可以在批注中添加说明、标记重点内容,并调整批注的样式和格式。

4. 创建数字签名数字签名是一种安全有效的方式,用于确保PDF文件的完整性和真实性。

Adobe Acrobat Pro允许您创建和应用数字签名,以验证您的身份和批准文件。

在"工具"选项中,选择"保护",然后选择"签名"。

根据指引,您可以选择使用数字证书或手写签名来创建数字签名。

PDF文件签名的使用

PDF文件签名的使用

PDF文件签名的使用随着数字化时代的到来,电子文件的使用越来越普遍,其中PDF文件是最常见的一种格式。

而在处理敏感文件或者需要法律效力的文件时,签名的作用变得尤其重要。

本文将探讨PDF文件签名的使用,包括其定义、作用、使用方法以及优势。

一、PDF文件签名的定义PDF文件签名是指在PDF文件上附加数字签名,以确保文件的完整性和真实性。

数字签名是一种加密技术,通过将文件与签名者的身份信息绑定在一起,确保文件在传输或者存储过程中不被篡改。

PDF文件签名通常包括签名者的姓名、日期和签名图象等信息。

二、PDF文件签名的作用1. 确保文件的完整性:通过数字签名,PDF文件的接收者可以验证文件是否经过篡改。

任何对文件的修改都会导致签名验证失败,从而确保文件的完整性。

2. 确认文件的真实性:PDF文件签名还可以验证签名者的身份。

签名者的身份信息与签名绑定在一起,接收者可以通过验证签名者的证书来确认签名者的真实身份。

3. 法律效力:在一些法律文件或者合同中,签名是必要的。

PDF文件签名可以满足法律要求,具有与传统纸质签名相同的法律效力。

三、PDF文件签名的使用方法1. 创建数字证书:在使用PDF文件签名之前,签名者需要先创建自己的数字证书。

数字证书包含了签名者的身份信息和公钥,用于验证签名的真实性。

2. 添加签名:在打开PDF文件后,选择“工具”菜单中的“签名”选项。

然后选择“添加签名”并按照提示操作,可以选择使用数字证书进行签名或者手写签名。

3. 验证签名:接收者在收到签名的PDF文件后,可以选择“工具”菜单中的“验证签名”选项。

系统会自动验证签名的真实性和完整性,并显示验证结果。

四、PDF文件签名的优势1. 方便快捷:相比传统纸质签名,PDF文件签名更加方便快捷。

签名者可以随时随地进行签名,无需寄送纸质文件。

2. 安全可靠:PDF文件签名采用了加密技术,确保签名的安全性和可靠性。

数字签名的验证过程无法被篡改,保证签名的真实性和完整性。

如何在pdf上签字?pdf文件签字就用迅捷PDF编辑器

如何在pdf上签字?pdf文件签字就用迅捷PDF编辑器

如何在pdf上签字?pdf文件签字就用迅捷PDF编辑器
PDF文件可以内嵌多种媒体,比如音频、视频、图文等形式,而且文件的体积小,便于网络传输,打开文件后还能避免因为设备不同而出现的排版错乱等小问题,这些诸多优点都让PDF文件成为职场人和学习者的常用文档之一。

但如何在PDF文件上签字?给大家介绍这款迅捷PDF编辑器,它拥有在pdf文件上签字的功能哦!
使用软件:迅捷PDF编辑器
很多人都不知道可以直接对PDF文件进行编辑,英子最近发现一款迅捷PDF编辑器软件可以实现编辑的操作。

我们打开电脑上的软件,进入主界面窗口,在上方的菜单导航栏中点击【文档】——【数字签名】,在其子菜单栏下可以选择签名文档、放署签名等按钮(还可以清除所有签名)。

点击进去后按照提示进行操作便可完成添加签名的步骤了。

此外还有第二种方法,便是选择【数字签名】上方的【签名与缩写】按钮,点击【管理】按钮,进入新窗口。

这个方法相对前者来说比较个性化。

在【管理签名与缩写】的新窗口中,我们可点击【添加】按钮,选择【从文件导入】或【绘制签名】即可。

如果觉得签名不满意,直接选择删除或重新编辑。

大家有没有觉得这款软件操作很简单呢?在pdf文件上签字只需要简单几步,就可以实现啦!这么好用的工具分享给你们,记得点赞收藏起来哦!。

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

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

如何在PDF文档中添加数字签名在当今数字化的时代,PDF 文档因其稳定性和兼容性成为了广泛使用的文件格式。

无论是在商务合同、法律文件还是学术论文等领域,我们常常需要对 PDF 文档进行签名以确保其真实性、完整性和不可否认性。

数字签名就是一种有效的手段,它能为 PDF 文档提供更高的安全性和可信度。

那么,如何在 PDF 文档中添加数字签名呢?下面就为您详细介绍。

首先,我们需要了解什么是数字签名。

简单来说,数字签名就像是文件的“指纹”,它是通过特定的算法和加密技术生成的一段独特的代码。

这个代码与签署人的身份信息和文档的内容相关联,能够证明签署人的身份,并保证文档在签名后没有被篡改。

要在 PDF 文档中添加数字签名,我们通常有以下几种方法:方法一:使用 Adobe Acrobat 软件Adobe Acrobat 是一款功能强大的 PDF 编辑软件,它提供了完善的数字签名功能。

步骤 1:打开您需要添加数字签名的 PDF 文档。

步骤 2:在菜单栏中选择“工具”,然后点击“证书”选项。

步骤 3:在弹出的“证书”窗口中,选择“签名文档”。

步骤 4:此时会出现“签名文档”的向导页面,您可以选择“创建新的数字ID”来创建自己的数字证书,或者选择“使用现有的数字ID”来使用已经创建好的数字证书。

步骤 5:如果选择创建新的数字 ID,您需要根据提示输入相关的个人信息,如姓名、电子邮件地址等,并设置密码。

步骤 6:在完成数字证书的创建或选择后,您可以在文档中选择要签名的位置,然后输入密码进行签名。

方法二:使用在线数字签名服务如果您没有安装 Adobe Acrobat 软件,或者觉得其操作较为复杂,还可以选择使用在线数字签名服务。

步骤 1:打开您信任的在线数字签名服务网站,例如 DocuSign 、HelloSign 等。

步骤 2:注册并登录账号。

步骤 3:上传您需要添加数字签名的 PDF 文档。

步骤 4:按照网站的提示设置签名的位置、样式等参数。

vue-pdf-signature 原理

vue-pdf-signature 原理

vue-pdf-signature 原理
vue-pdf-signature 是一个 Vue 组件,用于在 PDF 文件中添加数字签名。

其原理可以分为两部分:前端部分和后端部分。

前端部分:
1. 使用 `vue-pdf` 组件加载 PDF 文件,并将其呈现为可翻页的组件。

2. 在 PDF 页面上的特定位置显示 Canvas 元素,用于用户进行签名操作。

3. 使用 `vue-pdf-signature` 组件提供的 API,将用户的签名保存为图片或数据,并传递给后端进行处理。

后端部分:
1. 接收前端传递的签名数据或图片。

2. 根据传递的数据或图片,在 PDF 文件的相应位置上添加签名信息。

3. 保存修改后的 PDF 文件,或返回给前端进行下载或预览。

总结起来,vue-pdf-signature 的原理就是在前端使用 Canvas 元素获取用户的签名,将签名数据传递给后端进行处理,并在PDF 文件中添加签名信息。

java pdf数字签名 原理

java pdf数字签名 原理

java pdf数字签名原理Java中的PDF数字签名是通过使用Java Cryptography Architecture(JCA)和相关的API来实现的。

数字签名的目的是确保文档的完整性、身份认证和不可否认性。

下面是Java中PDF 数字签名的基本原理:1. 数字签名概述:数字签名使用非对称加密算法,通常涉及到公钥和私钥对。

发送者使用私钥对消息进行签名,接收者可以使用发送者的公钥验证签名。

这确保了签名的唯一性和真实性。

2. PDF数字签名步骤:-选择数字签名算法:Java支持多种数字签名算法,例如RSA、DSA等。

选择一个适当的算法来创建数字签名。

-生成密钥对:通过密钥对生成器生成公钥和私钥。

私钥将用于签名,而公钥将用于验证签名。

-创建数字签名:使用私钥对PDF文档的摘要(消息的哈希值)进行签名。

通常,先计算文档的摘要,然后使用私钥对摘要进行签名。

-将数字签名嵌入PDF文档:将生成的数字签名嵌入PDF文档中。

这通常是通过PDF 文档的数字签名字段完成的。

-验证数字签名:接收者使用发送者的公钥从PDF文档中提取数字签名,并验证签名的有效性。

这通常涉及到计算文档的摘要,然后使用公钥验证签名是否匹配。

3. Java中的实现:在Java中,使用`java.security`包提供的类和接口来实现数字签名。

以下是基本步骤:-使用`KeyPairGenerator`生成密钥对。

-使用`Signature`类创建签名对象,并初始化它以进行签名或验证。

-使用`MessageDigest`类计算文档的摘要。

-使用私钥进行签名,或者使用公钥验证签名。

-将签名嵌入PDF文档。

以下是一个简化的示例代码,演示了如何在Java中进行PDF数字签名:import java.security.*;import java.security.spec.PKCS8EncodedKeySpec;import java.security.spec.X509EncodedKeySpec;import java.util.Base64;public class PdfSignatureExample {public static void main(String[] args) throws Exception {// 生成密钥对KeyPair keyPair = generateKeyPair();// 读取PDF文档,计算摘要byte[] pdfDocument = readPdfDocument();byte[] digest = calculateDigest(pdfDocument);// 使用私钥进行签名byte[] signature = signData(digest, keyPair.getPrivate());// 将签名嵌入PDF文档embedSignature(pdfDocument, signature);}private static KeyPair generateKeyPair() throws Exception {KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");keyPairGenerator.initialize(2048); // 设置密钥长度return keyPairGenerator.generateKeyPair();}private static byte[] readPdfDocument() {// 读取PDF文档的实现// ...return null;}private static byte[] calculateDigest(byte[] data) throws Exception {MessageDigest digest = MessageDigest.getInstance("SHA-256");return digest.digest(data);}private static byte[] signData(byte[] data, PrivateKey privateKey) throws Exception { Signature signature = Signature.getInstance("SHA256withRSA");signature.initSign(privateKey);signature.update(data);return signature.sign();}private static void embedSignature(byte[] pdfDocument, byte[] signature) { // 将签名嵌入PDF文档的实现// ...}}请注意,这只是一个简单的示例,实际中可能需要处理更多细节和异常。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

給PDF文件加上數字簽名
准備條件:
1. 需要一個pfx的証書文件
怎麼樣產生這個PDF的証書文件呢?
a、从CA获得
如果是商业应用最好从证书的签发机构CA获得证书,比如V eriSign,这样的大的CA 签发的证书已经被一些系统默认为可信任的证书签发机构,它所签发的证书也是被信任的。

但是这样的证书需要购买。

如果不是商业应用,这里推荐一个可以免费申请证书的CA:
b、从windows2003证书服务中获得
在windows2003中安装证书服务器,windows2003服务器即可当做一个小型的CA,可以申请签发证书。

c、使用makecert工具获得(仅用于测试目的的X.509 证书)
微软在framework SDK中提供了一个生成X.509数字证书的命令行工具Makecert.exe。

Makecert生成证书被保存到命令中指定的证书存储区。

比如使用下面这个命令生成一个证书:
makecert -r -pe -n "CN=PLMM" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my
参数说明:
-sr CurrentUser //指定主题的证书存储位置。

Location 可以是currentuser(默认值)或localmachine-ss My //指定主题的证书存储名称,输出证书即存储在那里。

My表示保存在“个人”-n CN=MyTestCert //指定主题的证书名称。

此名称必须符合X.500 标准。

最简单的方法是在双引号中指定此名称,并加上前缀CN=;例如,"CN=myName"。

-sky exchange //指定颁发者的密钥类型,必须是signature、exchange 或一个表示提供程序类型的整数。

默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。

-pe //将所生成的私钥标记为可导出。

这样可将私钥包括在证书中。

这个命令生成一个名字为MyTestCert的证书,被保存到了当前用户的个人证书存储区内。

Makecert命令的详细说明请参看微软Makecert.exe工具的文档:/library/chs/default.asp?url=/library/CHS/cptools/html/cpgrfcertificatecr eationtoolmakecertexe.asp
這個時候你就可以在IE工具欄菜單工具>選項>內容>憑証>個人下看到一個PLMM 的憑証,這個時候你可以把這個憑証導出來產生一個PFX文件即可.
正式的時候請到官方去申請PFX文件......
2. 需要引用itextsharp.dll文件
a. 所使用到iTextsharp中的對象及方法說明:
PKCS12Store : 証書文件(這里對應的是pfx的証書文件)
PdfStamper : PDF文件對象(這里就當成一個PDF文件吧)
PdfSignatureAppearance : 給PDF簽名的對象
PdfSignatureAppearance.SetCrypto : 將証書文件邦定到PDF檔
PdfSignatureAppearance.Reason : 設置數字簽名的理由
PdfSignatureAppearance.Contact : 設置數字簽名的簽署者聯絡資訊
PdfSignatureAppearance.Location : 設置數字簽名的位置
b. 產生步驟:
1. 將要加入數字簽名的PDF文件讀入iTextsharp的PdfReader對象中
2. 利用這個PdfReader對象來產生一個新的PDF對象PdfStamper
3. 取得這個新的PDF對象的數字簽名對象:PdfSignatureAppearance
4. 取得一個數字証書文件文件對象(這里取得的是pfx數字簽名文件)
5. 將這個數字証書文件加入到新PDF對象中
6. 設計新PDF文件數字証書的屬性:數字簽名的理由、數字簽名的簽署者聯絡資訊、數字簽名的位置
7. 另存為這個新的PDF文件
8. 數字証書文件文件對象的取得:實例化一個PKCS12Store對象,參數為這個pfx文件的路徑及密碼
代碼給PDF加入數字簽名:
// pfx憑証類
public class Cert
{
private string path = "";
private string password = "";
private AsymmetricKeyParameter akp;
private org.bouncycastle.x509.X509Certificate[] chain;
public org.bouncycastle.x509.X509Certificate[] Chain
{
get { return chain; }
}
public AsymmetricKeyParameter Akp
{
get { return akp; }
}
public string Path
{
get { return path; }
}
public string Password
{
get { return password; }
set { password = value; }
}
public Cert() { }
public Cert(string cpath)
{
this.path = cpath;
this.processCert();
}
public Cert(string cpath, string cpassword)
{
this.path = cpath;
this.Password = cpassword;
this.processCert();
}
private void processCert()
{
string alias = null;
PKCS12Store pk12;
//取得証書文件
pk12 = new PKCS12Store(new FileStream(this.Path, FileMode.Open, FileAccess.Read), this.password.ToCharArray());
IEnumerator i = pk12.aliases();
while (i.MoveNext())
{
alias = ((string)i.Current);
if (pk12.isKeyEntry(alias))
break;
}
this.akp = pk12.getKey(alias).getKey();
X509CertificateEntry[] ce = pk12.getCertificateChain(alias);
this.chain = new org.bouncycastle.x509.X509Certificate[ce.Length];
for (int k = 0; k < ce.Length; ++k)
chain[k] = ce[k].getCertificate();
}
}
// 給源PDF文件加上數字簽名後產生一個新的PDF文件
public void PDFSigner(string inputFile, string outputFile, Cert myCert, string sigReason, string sigContact, string sigLocation)
{
PdfReader reader = new PdfReader(inputFile);
PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputFile, FileMode.Create, FileAccess.Write), '\0', null, true);
PdfSignatureAppearance sap = st.SignatureAppearance;
//設置PDF的數字簽名
sap.SetCrypto(myCert.Akp, myCert.Chain, null, PdfSignatureAppearance.WINCER_SIGNED);
//設置數字簽名的理由
sap.Reason = sigReason;
//設置數字簽名的簽署者聯絡資訊
sap.Contact = sigContact;
//設置數字簽名的位置
sap.Location = sigLocation;
//設置是否在PDF頁面中顯示數字簽名的圖標
sap.SetV isibleSignature(new iTextSharp.text.Rectangle(100, 100, 250, 150), 1, null);
st.Close();
reader.Close(); }。

相关文档
最新文档