導航:首頁 > 文檔加密 > java加密和簽名

java加密和簽名

發布時間:2024-10-03 22:20:39

A. java如何對pdf文件實現數字簽名

用Spire.Doc for Java 可以添加及驗證數字簽名,參考代碼:

importcom.spire.pdf.*;
importcom.spire.pdf.graphics.PdfImage;
importcom.spire.pdf.graphics.PdfTrueTypeFont;
importcom.spire.pdf.security.GraphicMode;
importcom.spire.pdf.security.PdfCertificate;
importcom.spire.pdf.security.PdfCertificationFlags;
importcom.spire.pdf.security.PdfSignature;

importjava.awt.*;
importjava.awt.geom.Point2D;
importjava.awt.geom.Rectangle2D;

publicclassAddCertificate{
publicstaticvoidmain(String[]args){
//載入PDF文檔
PdfDocumentdoc=newPdfDocument();
doc.loadFromFile("test.pdf");

//載入pfx證書,及證書秘鑰
PdfCertificatecert=newPdfCertificate("Cermia.pfx","123654yes!");

//添加數字簽名到指定頁面,並設置其位置和大小
PdfSignaturesignature=newPdfSignature(doc,doc.getPages().get(2),cert,"MySignature");
Rectangle2Drect=newRectangle2D.Float();
rect.setFrame(newPoint2D.Float((float)doc.getPages().get(0).getActualSize().getWidth()-340,(float)doc.getPages().get(0).getActualSize().getHeight()-230),newDimension(280,150));
signature.setBounds(rect);

//設置簽名為圖片加文本模式
signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);

//設置簽名的內容
signature.setNameLabel("簽字者:");
signature.setName("Mia");
signature.setContactInfoLabel("聯系電話:");
signature.setContactInfo("02881705109");
signature.setDateLabel("日期:");
signature.setDate(newjava.util.Date());
signature.setLocationInfoLabel("地點:");
signature.setLocationInfo("成都");
signature.setReasonLabel("原因:");
signature.setReason("文檔所有者");
signature.setDistinguishedNameLabel("DN:");
signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());
signature.setSignImageSource(PdfImage.fromFile("sign.png"));

//設置簽名的字體
signature.setSignDetailsFont(newPdfTrueTypeFont(newFont("ArialUnicodeMS",Font.PLAIN,9)));

//設置文檔許可權為禁止更改
signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);
signature.setCertificated(true);

//保存文檔
doc.saveToFile("AddSignature.pdf");
doc.close();
}
}

數字簽名添加效果:

數字簽名效果

參考原文

B. Java 給Word添加數字簽名 Java給Word添加數字簽名的方法

Java 給Word添加數字簽名 Java給Word添加數字簽名的方法。數字簽名是一種應用於數字數據的電子加密身份驗證戳記,主要用於確認來自簽名者的信息以及文檔內容未被篡改。本文,將介紹如何使用Spire.DocforJava以編程方式向Word文檔添加數字簽名。
工具/材料
IntedliJIDEA
JDK1.8.0
Jar包:spire.doc.jar4.5.1
Word文檔:.docx2013版
數字證書:.pfx及秘鑰
操作方法
01
1.關於如何導入jar
1.1手動下載jar包,導入,
1.2maven倉庫下載導入,須配置pom.xml文件,如下:
repositories
repository
idcom.e-iceblue/id
url
/repository
/repositories
dependencies
dependency
groupIde-iceblue/groupId
spire.doc
version4.5.1/version
/dependency
/dependencies
完成配置後方可下載導入。
02
Java代碼:
importcom.spire.doc.*;
publicclassAddSignature{
publicstaticvoidmain(String[]args){
//載入Word文檔
Documentdoc=newDocument();
doc.loadFromFile("test.docx");
//添加數字簽名,並保存文檔
doc.saveToFile("AddSignature.docx",FileFormat.Docx_2013,"Cermia.pfx","123654yes!");
}
}
03
運行程序,生成Word文檔。可查看如下圖中的簽名添加效果:

閱讀全文

與java加密和簽名相關的資料

熱點內容
阿里網盤pc自動更新文件夾 瀏覽:207
蘋果7配置相當於安卓什麼 瀏覽:538
怎麼下載全軍出擊app 瀏覽:874
網吧伺服器上裝什麼 瀏覽:178
手機裡面的文件夾怎麼解壓 瀏覽:686
python公里轉換 瀏覽:243
linux命令行全屏模式 瀏覽:515
解壓編碼器類型不支持 瀏覽:311
裸金屬伺服器和雲伺服器授權 瀏覽:433
python自動化運維代碼 瀏覽:688
抖音發布作品前的編譯 瀏覽:931
蘋果電腦如何給外置磁碟加密 瀏覽:54
毒app怎麼加賣家 瀏覽:841
北漂程序員互聯網 瀏覽:244
程序員實現不了一些效果 瀏覽:794
php框架的編譯 瀏覽:740
地基處理加密技巧 瀏覽:201
戰地為什麼總是斷開伺服器 瀏覽:258
ios解壓縮rar 瀏覽:964
如何用java做一個web伺服器 瀏覽:153