• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CrlClient类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.itextpdf.text.pdf.security.CrlClient的典型用法代码示例。如果您正苦于以下问题:Java CrlClient类的具体用法?Java CrlClient怎么用?Java CrlClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CrlClient类属于com.itextpdf.text.pdf.security包,在下文中一共展示了CrlClient类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: sign

import com.itextpdf.text.pdf.security.CrlClient; //导入依赖的package包/类
public void sign(
	char[] cardPassword, SignatureProcessSettings settings, List<PdfDocument> pdfDocumentsList 
) throws IOException, GeneralSecurityException, DocumentException, HttpException, CertificateException {
	
	notifyListeners("Lendo SmartCard.");
	certificateProcessor.loadKeystore(cardPassword);
	
	notifyListeners("Obtendo Alias do Certificado.");
	String firstAlias = certificateProcessor.getFirstAlias();
	
	if(settings.isValidateSignerCertificateAlias()){
		String validSignerCertificateAlias = settings.getValidSignerCertificateAlias();
		if(!StringValidator.validateString(validSignerCertificateAlias) || !validSignerCertificateAlias.equalsIgnoreCase(firstAlias)){
			notifyListeners("Certificado N�o Autorizado.");
			throw new CertificateException(
				"USU\u00C1RIO N\u00C3O AUTORIZADO A ASSINAR."
				+ "\nCERTIFICADO ESPERADO: " + validSignerCertificateAlias
				+ "\nCERTIFICADO NO CARTAO: " + firstAlias
			);
		}
	}
	
	notifyListeners("Lendo Cadeia de Certificados.");
	Certificate[] certificateChain = certificateProcessor.getCertificateChain();
	
	if(settings.isCheckCertificateValidity()){
		notifyListeners("Checando Validade Do Certificado.");
		boolean isCertificateChainValid = certificateProcessor.isFirstCertificateChainValid();
		
		if(isCertificateChainValid == false){
			notifyListeners("Certificado Inv�lido.");
			throw new CertificateException("CERTIFICADO EXPIRADO");
		}
	}
	
	if(settings.isCheckCertificateRevocation()){
		notifyListeners("Checando Revoga��o do Certificado.");
		boolean isCertificateChainRevoked = certificateProcessor.isFirstCertificateRevoked();
		
		if(isCertificateChainRevoked == true){
			notifyListeners("Certificado Revogado");
			throw new CertificateException("CERTIFICADO REVOGADO");
		}
	}
	
	notifyListeners("Obtendo Chave Privada.");
	PrivateKey certificatePrivateKey = certificateProcessor.getFirstCertificatePrivateKey(cardPassword);
	
	notifyListeners("Gerando Carimbo de Tempo.");
	TSAClientBouncyCastle tsaClient = generateTSAClientBouncyCastleInstance(certificateChain);
	
	List<CrlClient> crlList = null;
	if(settings.isEmbedCRLZip()){
		notifyListeners("Gerando Lista de CRL.");
		crlList = generateCRLClientList(certificateChain);
	}
	
	sign(
		pdfDocumentsList, settings, firstAlias, certificateChain, certificatePrivateKey, 
		digestAlgorithm, certificateProcessor.getProviderName(), cryptographySpecification, 
		crlList, tsaClient, 0
	);
}
 
开发者ID:MatheusArleson,项目名称:PdfUtil,代码行数:64,代码来源:PdfSignerV4.java


示例2: generateCRLClientList

import com.itextpdf.text.pdf.security.CrlClient; //导入依赖的package包/类
private List<CrlClient> generateCRLClientList(Certificate[] chain){ 
	List<CrlClient> crlList = new ArrayList<CrlClient>();
	crlList.add(new CrlClientOnline(chain));
	return crlList;
}
 
开发者ID:MatheusArleson,项目名称:PdfUtil,代码行数:6,代码来源:PdfSignerV4.java


示例3: addLtvJanPokorny

import com.itextpdf.text.pdf.security.CrlClient; //导入依赖的package包/类
/**
 * <a href="http://stackoverflow.com/questions/35134568/itext-ltv-enabled-how-to-add-more-crls">
 * iText LTV enabled - how to add more CRLs?
 * </a>
 * <p>
 * The original addLtv method of the OP modified merely to allow the
 * source PDF to be given as {@link InputStream} instead of {@link String}.
 * </p>
 */
public void addLtvJanPokorny(InputStream src, String dest) throws IOException, DocumentException, GeneralSecurityException
{
    PdfReader r = new PdfReader(src);
    FileOutputStream fos = new FileOutputStream(dest);
    PdfStamper stp = new PdfStamper(r, fos, '\0', true);
    LtvVerification v = stp.getLtvVerification();
    AcroFields fields = stp.getAcroFields();

    ArrayList<String> names = fields.getSignatureNames();
    String sigName = names.get(names.size() - 1);
    System.out.println("found signature: " + sigName);
    PdfPKCS7 pkcs7 = fields.verifySignature(sigName);

    //add LTV
    OcspClient ocsp = new OcspClientBouncyCastle();
    CrlClient crlClient1 = new CrlClientOnline("http://www.postsignum.cz/crl/psrootqca2.crl");
    ArrayList<CrlClient> crllist = new ArrayList<CrlClient>();
    crllist.add(crlClient1);
    CrlClient crlClient2 = new CrlClientOnline("http://www.postsignum.cz/crl/pspublicca2.crl");
    crllist.add(crlClient2);
    System.out.println("crllist.size=" + crllist.size());

    if (pkcs7.isTsp())
    {
        for (CrlClient crlclient : crllist)
        {
            if (v.addVerification(sigName, new OcspClientBouncyCastle(), crlclient,
                    LtvVerification.CertificateOption.SIGNING_CERTIFICATE,
                    LtvVerification.Level.CRL,
                    LtvVerification.CertificateInclusion.NO))
            {
                System.out.println("crl " + crlclient.toString() + " added to timestamp");
            }
        }
    }
    else
    {
        for (String name : names)
        {
            for (int i = 0; i < crllist.size(); i++) {
                if (v.addVerification(name, ocsp, crllist.get(i),
                        LtvVerification.CertificateOption.WHOLE_CHAIN,
                        LtvVerification.Level.CRL,
                        LtvVerification.CertificateInclusion.NO))
                {
                    System.out.println("crl " + crllist.get(i).toString() + " added to " + name);
                }
                if (i > 0)
                {
                    System.out.println("found verification, merge");
                    v.merge();
                }
            }
        }
    }
    stp.close();
}
 
开发者ID:mkl-public,项目名称:testarea-itext5,代码行数:67,代码来源:AddLtvCrls.java


示例4: addLtvFixed

import com.itextpdf.text.pdf.security.CrlClient; //导入依赖的package包/类
/**
 * <a href="http://stackoverflow.com/questions/35134568/itext-ltv-enabled-how-to-add-more-crls">
 * iText LTV enabled - how to add more CRLs?
 * </a>
 * <p>
 * The original addLtv method of the OP modified to allow the source PDF
 * to be given as {@link InputStream} instead of {@link String} and fixed
 * to properly use multiple CRLs.
 * </p>
 */
public void addLtvFixed(InputStream src, String dest) throws IOException, DocumentException, GeneralSecurityException
{
    PdfReader r = new PdfReader(src);
    FileOutputStream fos = new FileOutputStream(dest);
    PdfStamper stp = new PdfStamper(r, fos, '\0', true);
    LtvVerification v = stp.getLtvVerification();
    AcroFields fields = stp.getAcroFields();

    ArrayList<String> names = fields.getSignatureNames();
    String sigName = names.get(names.size() - 1);
    System.out.println("found signature: " + sigName);
    PdfPKCS7 pkcs7 = fields.verifySignature(sigName);

    //add LTV
    OcspClient ocsp = new OcspClientBouncyCastle();
    CrlClient crlClient = new CrlClientOnline("http://www.postsignum.cz/crl/psrootqca2.crl", "http://www.postsignum.cz/crl/pspublicca2.crl");

    if (pkcs7.isTsp())
    {
        if (v.addVerification(sigName, new OcspClientBouncyCastle(), crlClient,
                LtvVerification.CertificateOption.SIGNING_CERTIFICATE,
                LtvVerification.Level.CRL,
                LtvVerification.CertificateInclusion.NO))
        {
            System.out.println("crl " + crlClient.toString() + " added to timestamp");
        }
    }
    else
    {
        for (String name : names)
        {
            if (v.addVerification(name, ocsp, crlClient,
                    LtvVerification.CertificateOption.WHOLE_CHAIN,
                    LtvVerification.Level.CRL,
                    LtvVerification.CertificateInclusion.NO))
            {
                System.out.println("crl " + crlClient.toString() + " added to " + name);
            }
        }
    }
    stp.close();
}
 
开发者ID:mkl-public,项目名称:testarea-itext5,代码行数:53,代码来源:AddLtvCrls.java



注:本文中的com.itextpdf.text.pdf.security.CrlClient类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SimplexSolverInterface类代码示例发布时间:2022-05-16
下一篇:
Java WebMethod类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap