導航:首頁 > 文檔加密 > 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加密和簽名相關的資料

熱點內容
中信銀行還完貸款什麼時候給解壓 瀏覽:229
ug自學編程入門 瀏覽:612
英語口語900句pdf 瀏覽:565
javabyte拼接 瀏覽:481
加密應用在哪裡找vivo 瀏覽:290
python讀寫圖像 瀏覽:289
不是金山毒霸會員文件還能加密嗎 瀏覽:955
python網站開發教程 瀏覽:875
安卓超感畫質引擎是什麼意思 瀏覽:323
ug80編程穩定嗎 瀏覽:706
樂高ev3魔方機器人編程 瀏覽:891
文件夾120 瀏覽:753
怎麼判斷用幾個密鑰進行加密 瀏覽:433
學韓語哪個app最好 瀏覽:940
怎麼才能讓蘋果手機登安卓號 瀏覽:599
史上最強大腦演算法 瀏覽:327
java圖形識別演算法 瀏覽:971
安卓手機開機怎麼會出現圓圈 瀏覽:203
定常流體一定是不可壓縮流體嗎 瀏覽:508
java基本演算法 瀏覽:390