Chào mừng năm mới 2016, đánh dấu sẽ viết bài sử dụng apache poi (poi-ooxml) để làm việc với Microsoft offices (2003/2007/20010...)
hehee. quên mất bài này :D
Phần này có mấy lưu ý nhỏ thôi
- Phần get private key và certificate vẫn dùng như cũ (dùng tocken, file pem, HSM...)
- Phần thiết lập chữ ký số trong offices:
//Khai báo đối tượng OPC
OPCPackage pkg = OPCPackage.open(FILE_INPUT_PATH, PackageAccess.READ_WRITE);
SignatureConfig signatureConfig = new SignatureConfig();
signatureConfig.setKey(this.get_PrivateKey());
signatureConfig.setSigningCertificateChain(Collections.singletonList((X509Certificate) this.get_Cert()));
signatureConfig.setOpcPackage(pkg);
// adding the signature document to the package
SignatureInfo si = new SignatureInfo();
si.setSignatureConfig(signatureConfig);
si.confirmSignature();
// optionally verify the generated signature
boolean b = si.verifySignature();
assert (b);
// write the changes back to disc
pkg.close();
- Thư viện cần:
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackageAccess;
import org.apache.poi.poifs.crypt.dsig.SignatureConfig;
import org.apache.poi.poifs.crypt.dsig.SignatureInfo;
Đơn giản vậy thôi :D
--Done--
Author: HVA
Fan page: https://www.facebook.com/JavaFullstackVietNam
Group: https://www.facebook.com/groups/312867776882695
Bài đăng nổi bật
Lập trình Java Spring Boot (20 buổi)
JAVA FULLSTACK VIỆT NAM: Website: javafullstackvietnam.com Fan page: https://www.facebook.com/JavaFullstackVietNam Group: https://www.fac...
Bài đăng phổ biến
-
Có một tip nhỏ, nếu không biết cũng mất khá nhiều thời gian :D Viết tiếng việt trên pdf sử dụng iText. Description: Dùng font unicode t...
-
- Bài này hướng dẫn cách kết nối HSM từ C#, sử dụng provider RSACryptoServiceProvider. - Khuyến nghị Protect mode key hsm: module - Tất cả...
-
Buổi: Giới thiệu Java và lập trình cơ bản Tổng quan về khóa học: Tuần 1 Buổi 1 Giới thiệu khóa học, cài đặt Inte...
-
Buổi 1: Giới thiệu về Struts Framework Struts Framework là gì? Struts là một framwork mã nguồn mở cho việc phát triển các ứng dụng web bằng...
-
JAVA FULLSTACK VIỆT NAM: Website: javafullstackvietnam.com Fan page: https://www.facebook.com/JavaFullstackVietNam Group: https://www.f...
-
Hôm nay mình đã làm xong các thủ tục để được miễn thuế thu nhập cá nhân (TNCN) khi bán nhà. Thủ tục hơi loằng ngoằng (ko có quy định mẫu b...
-
Tháng trước phải tháo 2 con điều hòa, sau khi tự tìm hiểu thấy tháo cực kỳ đơn giản. Tiện thể note lại có khi có người cần. Sơ qua về cục...
-
Các bước chính để cấu hình https cho webserver trên môi trường IBM WAS7.0 A. Mục đích: cấu hình 1 webserver test trên môi trường local w...
-
#check HTTPConnector mqsireportproperties TESTNODE_anhhv -e default -o HTTPConnector -r mqsireportproperties AgrUAT ...
-
JAVA FULLSTACK VIỆT NAM: Website: javafullstackvietnam.com Fan page: https://www.facebook.com/JavaFullstackVietNam Group: https://www.fac...