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

怎么在百度搜索自己的网站网站用视频做背景音乐

怎么在百度搜索自己的网站,网站用视频做背景音乐,刚做的网站 为啥搜不到,关于政务网站建设如何检查pdf的签名 首先这里有一个已经签名的pdf文件&#xff0c;通过pdf软件可以看到文件的数字签名。 图1为签名后的文件&#xff0c;图2为签名后文件被篡改。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 <dependency><groupId>org.projectlombok<…

如何检查pdf的签名

首先这里有一个已经签名的pdf文件,通过pdf软件可以看到文件的数字签名。
图1为签名后的文件,图2为签名后文件被篡改。
在这里插入图片描述
在这里插入图片描述

下面就是如何代码检查这里pdf文件的签名
1.引入依赖

 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version></dependency><dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.70</version></dependency><dependency><groupId>org.bouncycastle</groupId><artifactId>bcpkix-jdk15on</artifactId><version>1.70</version></dependency>
  1. 编写检查签名的方法
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();List<String> signatureNames = acroFields.getSignatureNames();if (!signatureNames.isEmpty()) {for (String name : signatureNames) {if (acroFields.signatureCoversWholeDocument(name)) {//设定签名提供者Provider provider=Security.getProvider(BouncyCastleProvider.PROVIDER_NAME);if(provider==null){provider=new 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;}}
  1. 编写测试用例,并执行,可以看到数字证书相关信息。

如果有多个签名,则会显示多个签名

    @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.yayakq.cn/news/630603/

相关文章:

  • 重庆响应式网站多少钱网络科技公司logo
  • 亿联网络 网站怎么在网站上做下载
  • 建材板材网站源码 asp傻瓜式php网站开发工具
  • php免费企业网站模板手表哪个网站正品
  • 建设学校网站免费注册企业网站
  • 邢台做网站哪儿好如何自建一个网站
  • 网站底部关键词内链专业网站建设的软件
  • 网站建设设计制作熊掌号昆山的网站建设
  • 行知网站建设滁州网站开发
  • 深圳专业做网站的公司网站适配手机屏幕
  • 韩雪个人网站购物网站建设渠道
  • 上海人才中心网站网站上线后如何换模版
  • 江苏工程建设标准网站运营个网站需要什么条件
  • 南通网站建设seo企业营销网站模板免费下载
  • 网站建设 网站软文推广12380网站建设情况说明
  • 网站外链分析怎么做百度关键词搜索排名多少钱
  • 濮阳的网站建设右面是某网站建设立项需求
  • 怎么建设网站模板上传为什么做的网站要续费
  • 如何设计网站公司后台的网站代理维护更新
  • 南昌比较好的网站设计什么是新零售
  • 网站非法篡改产品推广宣传方案
  • 建设银行软件官方网站下载越南国家建设部网站
  • 直播网站建设需要多少钱多种成都网站建设
  • 旅游网站建设水平评价网站改版 网站存在问题
  • 网站建设销售提点20个点一般通过人体的电流超过多大
  • 郴州市北湖建设局网站wordpress增加浏览量
  • 创意网站制作哪儿能做邯郸网站建设
  • 浙江 网站备案甘肃庆阳今天重大新闻
  • 免费个人域名网站网站建设 设计 优化 维护
  • 安徽徐州网站建设公司深圳软件公司名录