当前位置: 首页>>代码示例>>Java>>正文


Java PAdESSignatureParameters类代码示例

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


PAdESSignatureParameters类属于eu.europa.esig.dss.pades包,在下文中一共展示了PAdESSignatureParameters类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: finalize

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
public FileRef finalize(String fileId, Signature signature) throws IOException {

        PAdESSignatureParameters parameters = getParameters(signature.getCertificate(), signature.getCreated());

        FileRef file = repository.get(fileId);
        try (InputStream stream = file.getStream()) {
            DSSDocument document = new InMemoryDocument(stream);

            SignatureAlgorithm algorithm = SignatureAlgorithm.getAlgorithm(parameters.getEncryptionAlgorithm(), digestAlgorithm);
            SignatureValue signatureValue = new SignatureValue(algorithm, Base64.getDecoder().decode(signature.getSignature()));

            DSSDocument signedDocument = pAdESService.signDocument(document, parameters, signatureValue);

            try (InputStream signedStream = signedDocument.openStream()) {
                return repository.create(signedStream, generateSignedFileName(file.getName()), file.getContentType(), file.getIndexedContent());
            }
        }
    }
 
开发者ID:LIBCAS,项目名称:ARCLib,代码行数:19,代码来源:PdfSigner.java

示例2: getParameters

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
/**
 * Private method to set up parameters of signature
 *
 * @param certificateBase64 certificate string encoded in base64
 * @return PAdESSignatureParameters parameters
 */
private PAdESSignatureParameters getParameters(String certificateBase64) {
    byte[] certificate = Base64.getDecoder().decode(certificateBase64);

    CertificateToken token = DSSUtils.loadCertificate(certificate);

    PAdESSignatureParameters parameters = new PAdESSignatureParameters();
    parameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);
    parameters.setSignaturePackaging(SignaturePackaging.ENVELOPED);
    parameters.setDigestAlgorithm(digestAlgorithm);
    parameters.setEncryptionAlgorithm(token.getEncryptionAlgorithm());
    parameters.setSigningCertificate(token);
    parameters.bLevel().setSigningDate(Date.from(Instant.now()));

    return parameters;
}
 
开发者ID:LIBCAS,项目名称:ARCLib,代码行数:22,代码来源:PdfSigner.java

示例3: extendSignatures

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Override
public DSSDocument extendSignatures(DSSDocument document, PAdESSignatureParameters parameters) throws DSSException {

	// check if needed to extends with PAdESLevelBaselineLT
	final PDFDocumentValidator pdfDocumentValidator = new PDFDocumentValidator(document);
	pdfDocumentValidator.setCertificateVerifier(certificateVerifier);

	List<AdvancedSignature> signatures = pdfDocumentValidator.getSignatures();
	for (final AdvancedSignature signature : signatures) {
		if (!signature.isDataForSignatureLevelPresent(SignatureLevel.PAdES_BASELINE_LT)) {
			document = padesLevelBaselineLT.extendSignatures(document, parameters);
			break;
		}
	}

	// Will add a Document TimeStamp (not CMS)
	return padesLevelBaselineT.extendSignatures(document, parameters);
}
 
开发者ID:esig,项目名称:dss,代码行数:19,代码来源:PAdESLevelBaselineLTA.java

示例4: digest

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Override
public byte[] digest(final InputStream toSignDocument, final PAdESSignatureParameters parameters, final DigestAlgorithm digestAlgorithm)
		throws DSSException {

	final byte[] signatureValue = DSSUtils.EMPTY_BYTE_ARRAY;
	ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
	PDDocument pdDocument = null;
	try {
		pdDocument = PDDocument.load(toSignDocument);
		PDSignature pdSignature = createSignatureDictionary(parameters, pdDocument);

		return signDocumentAndReturnDigest(parameters, signatureValue, outputStream, pdDocument, pdSignature, digestAlgorithm);
	} catch (IOException e) {
		throw new DSSException(e);
	} finally {
		Utils.closeQuietly(pdDocument);
		Utils.closeQuietly(outputStream);
	}
}
 
开发者ID:esig,项目名称:dss,代码行数:20,代码来源:PdfBoxSignatureService.java

示例5: getSignedDocument

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Override
protected DSSDocument getSignedDocument() throws Exception {

	DSSDocument document = new FileDocument(new File("src/test/resources/sample.pdf"));

	// Sign
	PAdESSignatureParameters signatureParameters = new PAdESSignatureParameters();
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(getOriginalSignatureLevel());

	PAdESService service = new PAdESService(getCompleteCertificateVerifier());
	service.setTspSource(getGoodTsa());

	ToBeSigned dataToSign = service.getDataToSign(document, signatureParameters);
	SignatureValue signatureValue = getToken().sign(dataToSign, signatureParameters.getDigestAlgorithm(), getPrivateKeyEntry());
	return service.signDocument(document, signatureParameters, signatureValue);
}
 
开发者ID:esig,项目名称:dss,代码行数:19,代码来源:AbstractTestPAdESExtension.java

示例6: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/sample.pdf"));

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_LTA);

	SignatureImageParameters timestampImageParameters = new SignatureImageParameters();
	SignatureImageTextParameters textParameters = new SignatureImageTextParameters();
	textParameters.setText("My signature");
	textParameters.setTextColor(Color.GREEN);
	textParameters.setSignerNamePosition(SignerPosition.BOTTOM);
	timestampImageParameters.setTextParameters(textParameters);
	signatureParameters.setTimestampImageParameters(timestampImageParameters);

	service = new PAdESService(getCompleteCertificateVerifier());
	service.setTspSource(getGoodTsa());
}
 
开发者ID:esig,项目名称:dss,代码行数:22,代码来源:PAdESWithSignatureInvisibleAndTimestampVisibleTest.java

示例7: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/sample.pdf"));

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_LTA);

	SignatureImageParameters signatureImageParameters = new SignatureImageParameters();
	SignatureImageTextParameters textParameters = new SignatureImageTextParameters();
	textParameters.setText("My signature");
	textParameters.setTextColor(Color.GREEN);
	textParameters.setSignerNamePosition(SignerPosition.BOTTOM);
	signatureImageParameters.setTextParameters(textParameters);
	signatureParameters.setSignatureImageParameters(signatureImageParameters);

	service = new PAdESService(getCompleteCertificateVerifier());
	service.setTspSource(getGoodTsa());
}
 
开发者ID:esig,项目名称:dss,代码行数:22,代码来源:PAdESWithSignatureVisibleAndTimestampInvisibleTest.java

示例8: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/sample.pdf"));

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);
	signatureParameters.setEncryptionAlgorithm(EncryptionAlgorithm.DSA);
	signatureParameters.setDigestAlgorithm(DigestAlgorithm.SHA256);
	signatureParameters.setLocation("Luxembourg");
	signatureParameters.setReason("DSS testing");
	signatureParameters.setContactInfo("Jira");

	service = new PAdESService(getCompleteCertificateVerifier());
}
 
开发者ID:esig,项目名称:dss,代码行数:18,代码来源:PAdESLevelBWithDSATest.java

示例9: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);

	SignatureImageParameters imageParameters = new SignatureImageParameters();
	SignatureImageTextParameters textParameters = new SignatureImageTextParameters();
	textParameters.setText("My signature");
	textParameters.setTextColor(Color.GREEN);
	imageParameters.setTextParameters(textParameters);
	signatureParameters.setSignatureImageParameters(imageParameters);

	service = new PAdESService(getCompleteCertificateVerifier());
}
 
开发者ID:esig,项目名称:dss,代码行数:19,代码来源:PAdESSignatureFieldTest.java

示例10: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/sample.pdf"));

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);
	signatureParameters.setEncryptionAlgorithm(EncryptionAlgorithm.ECDSA);
	signatureParameters.setDigestAlgorithm(DigestAlgorithm.SHA256);
	signatureParameters.setLocation("Luxembourg");
	signatureParameters.setReason("DSS testing");
	signatureParameters.setContactInfo("Jira");

	service = new PAdESService(getCompleteCertificateVerifier());
}
 
开发者ID:esig,项目名称:dss,代码行数:18,代码来源:PAdESLevelBWithECDSATest.java

示例11: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/sample.pdf"));

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setDigestAlgorithm(DigestAlgorithm.SHA512);
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);
	signatureParameters.setMaskGenerationFunction(MaskGenerationFunction.MGF1_SHA512);
	signatureParameters.setLocation("Luxembourg");
	signatureParameters.setReason("DSS testing");
	signatureParameters.setContactInfo("Jira");

	service = new PAdESService(getCompleteCertificateVerifier());
}
 
开发者ID:esig,项目名称:dss,代码行数:18,代码来源:PAdESLevelBWithMGF512Test.java

示例12: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);

	service = new PAdESService(getCompleteCertificateVerifier());

	signitureImage = new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/signature.png"));

	signablePdfs.put("normal", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test.pdf")));
	signablePdfs.put("90", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test_90.pdf")));
	signablePdfs.put("180", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test_180.pdf")));
	signablePdfs.put("270", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test_270.pdf")));
	signablePdfs.put("-90", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test_-90.pdf")));
	signablePdfs.put("-180", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test_-180.pdf")));
	signablePdfs.put("-270", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/test_-270.pdf")));
	signablePdfs.put("minoltaScan", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/sun.pdf"))); // scanner
																														// type
	signablePdfs.put("minoltaScan90", new InMemoryDocument(getClass().getResourceAsStream("/visualSignature/sun_90.pdf"))); // scanner
																															// type
}
 
开发者ID:esig,项目名称:dss,代码行数:25,代码来源:PAdESVisibleSignaturePositionTest.java

示例13: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/doc.pdf"));

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);
	signatureParameters.setLocation("Luxembourg");
	signatureParameters.setReason("DSS testing");
	signatureParameters.setContactInfo("Jira");
	signatureParameters.setSignatureFieldId("Signature1");

	SignatureImageParameters imageParameters = new SignatureImageParameters();
	imageParameters.setImage(new FileDocument(new File("src/test/resources/signature-image.png")));

	SignatureImageTextParameters textParameters = new SignatureImageTextParameters();
	textParameters.setText("My signature");
	textParameters.setTextColor(Color.GREEN);
	imageParameters.setTextParameters(textParameters);
	signatureParameters.setSignatureImageParameters(imageParameters);

	service = new PAdESService(getCompleteCertificateVerifier());
}
 
开发者ID:esig,项目名称:dss,代码行数:26,代码来源:PAdESFieldLevelBTest.java

示例14: init

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
@Before
public void init() throws Exception {
	documentToSign = new FileDocument(new File("src/test/resources/sample.pdf"));

	OnlineTSPSource tspSource = getGoodTsa();
	TimeStampToken timeStampResponse = tspSource.getTimeStampResponse(DigestAlgorithm.SHA256,
			DSSUtils.digest(DigestAlgorithm.SHA256, DSSUtils.toByteArray(documentToSign)));
	TimestampToken token = new TimestampToken(timeStampResponse, TimestampType.CONTENT_TIMESTAMP, new CertificatePool());

	signatureParameters = new PAdESSignatureParameters();
	signatureParameters.bLevel().setSigningDate(new Date());
	signatureParameters.setSigningCertificate(getSigningCert());
	signatureParameters.setCertificateChain(getCertificateChain());
	signatureParameters.setSignatureLevel(SignatureLevel.PAdES_BASELINE_B);
	signatureParameters.setContentTimestamps(Arrays.asList(token));

	service = new PAdESService(getCompleteCertificateVerifier());
}
 
开发者ID:esig,项目名称:dss,代码行数:19,代码来源:PAdESLevelBWithContentTimestampTest.java

示例15: prepare

import eu.europa.esig.dss.pades.PAdESSignatureParameters; //导入依赖的package包/类
public MessageDigest prepare(String fileId, String certificate) throws IOException {
    PAdESSignatureParameters parameters = getParameters(certificate);

    FileRef file = repository.get(fileId);
    try (InputStream stream = file.getStream()) {
        DSSDocument document = new InMemoryDocument(stream);

        ToBeSigned toSign = pAdESService.getDataToSign(document, parameters);
        String message = Base64.getEncoder().encodeToString(toSign.getBytes());

        return new MessageDigest(parameters.getBLevelParams().getSigningDate().toInstant(),
                message, parameters.getEncryptionAlgorithm());
    }
}
 
开发者ID:LIBCAS,项目名称:ARCLib,代码行数:15,代码来源:PdfSigner.java


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