当前位置: 首页 > news >正文

合肥seo建站做本地团购网站怎么样

合肥seo建站,做本地团购网站怎么样,遵义网帮你,厦门市湖里区建设局网站如何检查pdf的签名 首先这里有一个已经签名的pdf文件#xff0c;通过pdf软件可以看到文件的数字签名。 图1为签名后的文件#xff0c;图2为签名后文件被篡改。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 dependencygroupIdorg.projectlombok通过pdf软件可以看到文件的数字签名。 图1为签名后的文件图2为签名后文件被篡改。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --dependencygroupIdcom.itextpdf/groupIdartifactIditextpdf/artifactIdversion5.5.13.3/version/dependencydependencygroupIdorg.bouncycastle/groupIdartifactIdbcprov-jdk15on/artifactIdversion1.70/version/dependencydependencygroupIdorg.bouncycastle/groupIdartifactIdbcpkix-jdk15on/artifactIdversion1.70/version/dependency编写检查签名的方法 import com.itextpdf.text.pdf.AcroFields; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.security.PdfPKCS7; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.io.IOException; import java.security.GeneralSecurityException; import java.security.Principal; import java.security.Provider; import java.security.Security; import java.security.cert.X509Certificate; import java.util.Calendar; import java.util.List;/*** pdf文件签名检查*/ public class PdfDigitalSignatureCheck {private static final Logger LOGGER LoggerFactory.getLogger(PdfDigitalSignatureCheck.class);public static final boolean verifySignature(PdfReader pdfReader)throws GeneralSecurityException, IOException {boolean valid false;AcroFields acroFields pdfReader.getAcroFields();ListString signatureNames acroFields.getSignatureNames();if (!signatureNames.isEmpty()) {for (String name : signatureNames) {if (acroFields.signatureCoversWholeDocument(name)) {//设定签名提供者Provider providerSecurity.getProvider(BouncyCastleProvider.PROVIDER_NAME);if(providernull){providernew BouncyCastleProvider();Security.addProvider(provider);}PdfPKCS7 pkcs7 acroFields.verifySignature(name);valid pkcs7.verify();String reason pkcs7.getReason();Calendar signedAt pkcs7.getSignDate();X509Certificate signingCertificate pkcs7.getSigningCertificate();Principal issuerDN signingCertificate.getIssuerDN();Principal subjectDN signingCertificate.getSubjectDN();LOGGER.info(valid {}, date {}, reason {}, issuer {}, subject {},valid, signedAt.getTime(), reason, issuerDN, subjectDN);break;}}}return valid;}/*** 验证签名** param name* return* throws IOException* throws GeneralSecurityException*/public static boolean validate(String name)throws IOException, GeneralSecurityException {PdfReader reader new PdfReader(name);boolean isSign verifySignature(reader);return isSign;}}编写测试用例,并执行可以看到数字证书相关信息。 如果有多个签名则会显示多个签名 Testvoid pdfDigitalSignatureCheck() throws IOException, GeneralSecurityException {System.out.println(-----------数字签名检查------------);String[] files {D:\\test3\\test1_sign.pdf, D:\\test3\\test1.pdf,D:\\test3\\test1_sign_wrapper.pdf};for (String file : files) {boolean validate PdfDigitalSignatureCheck.validate(file);log.info({} 是否签名:{}, file, validate);}}备注: test1_sign.pdf 为已签名文件test1.pdf为原始未签名文件test1_sign_wrapper.pdf为签名后更改过的文件模拟签名后文件被篡改 遇到的问题 签名设定 如果你的签入使用的BouncyCastleProvider那么你的签名检查也应该使用BouncyCastleProvider否则可能会报错。
http://www.hkea.cn/news/14350682/

相关文章:

  • 长图制作网站网站系统升级
  • 建网站用哪个好网页制作下载安装包
  • 2018江苏省海门市建设局网站三合一网站建设什么意思
  • 易旅游网站建设学电商出来一般干什么工作
  • 做网页网站怎么样网页设计模板素材网站大全
  • 嘉兴港区建设局网站zencart 网站建设
  • 温州市建设小学网站学做网站有前途吗
  • 天津谁做网站wordpress手机端跳转
  • 什么是网站的用户体验平台运营是做什么的
  • 企业网站建设网页wordpress固定衔接出错
  • 肇庆高端模板建站南昌网站建设哪家就好
  • 深圳网站制作公司报价单南和住房和城乡建设局网站
  • 论述网站开发建设的一般流程中企动力z邮箱登录手机
  • 网站建设培训方案创意设计app
  • 欧式建筑网站茂名小学网站建设
  • 购物网站模板 phpwordpress科技公司主题
  • 盐城网站开发公司做网站编辑应该注意什么
  • 网站色调代号广西南宁云尚网络科技有限公司
  • 做地方旅游网站2023年中国500强企业
  • wp做网站需要多久seo网站是什么
  • 北京 网站设计 地址通州湛江个人网站建设
  • 做外贸网站用什么软件网站开发应注意什么
  • 网站建设与开发课程内容黑白高端网站建设
  • 锦州网站建设医院网站跳出率高
  • php做的购物网站山东省住房和城乡建设厅电话号码
  • 公司后台网站怎么做房地产销售技巧和话术
  • 鞍山做网站企业邢台头条新闻
  • 石景山网站开发深圳全网营销网站建设
  • 黄村专业网站开发公司北京seo优化哪家好
  • 辽宁手机版建站系统开发做se要明白网站