本文整理汇总了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());
}
}
}
示例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;
}
示例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);
}
示例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);
}
}
示例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);
}
示例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());
}
示例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());
}
示例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());
}
示例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());
}
示例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());
}
示例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());
}
示例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
}
示例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());
}
示例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());
}
示例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());
}
}