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

小说阅读网站开发视频最全的域名注册

小说阅读网站开发视频,最全的域名注册,模板制作工艺流程,最便宜的手机网站建设如何检查pdf的签名 首先这里有一个已经签名的pdf文件#xff0c;通过pdf软件可以看到文件的数字签名。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId通过pdf软件可以看到文件的数字签名。 下面就是如何代码检查这里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};for (String file : files) {boolean validate PdfDigitalSignatureCheck.validate(file);log.info({} 是否签名:{}, file, validate);}}遇到的问题 签名设定 如果你的签入使用的BouncyCastleProvider那么你的签名检查也应该使用BouncyCastleProvider否则可能会报错。
http://www.sadfv.cn/news/184450/

相关文章:

  • 东莞软件网站推广网站建设那好
  • 动易网站设计方案河南招标信息网
  • 行业网站排名查询网站优化培训好学吗
  • html5 网站 适配手机十大现货交易平台排名
  • 柳州住房和城乡建设厅网站网页浏览器图标
  • 网站推广的主流方法网站正在建设中的图片大全
  • 高校门户网站建设建议做公司网站的资料
  • 网站建设与管理专业题目产品开发流程管理
  • 学校网站怎么做东莞哪里建设网站好
  • 河南建设资格执业网站局域网网页制作
  • 科技小发明小制作郑州网站优化关键词
  • 网站上传后 后台进不去万网备案初审过了后网站能访问吗
  • 成都铁路局贵阳建设指挥部网站福州百度seo排名
  • 网站免费建设价格wordpress过时了吗
  • 自己做网站详细步骤贵阳专业做网站的公司有哪些
  • 漯河哪个网站推广效果好400电话网站源码
  • 淄博网站开发找网泰淮南网红餐厅
  • 软件介绍网站模板网站链接设计
  • 淘客网站怎么备案做推广如何引流
  • 手机网站按那个尺寸做网络宣传渠道有哪些
  • 荆门市网站建设视频号怎么运营
  • php网站建设课程作业广告设计培训学校有哪些
  • 网站上传 文件夹结构互联网技术应用
  • 网站安全和信息化建设h5制作模板免费版
  • 网站建设数据库怎么选择宁远做网站
  • 免费建网站系统平台深圳专业建网站公司排行
  • 网站建设监理呼和浩特网站推广公司
  • 律师怎样做网站专业企业网站开发
  • 婚介 东莞网站建设浙江网缘科技有限公司
  • wordpress建站视频新网站多久会被百度收录