Package com.pd4ml.pdf.sign
Class SigningOptions
- java.lang.Object
-
- com.pd4ml.pdf.sign.SigningOptions
-
public final class SigningOptions extends java.lang.ObjectConfiguration for a singlePdfSigner.sign(java.io.File, java.io.File, com.pd4ml.pdf.sign.CertificateUtils.SigningIdentity, com.pd4ml.pdf.sign.SigningOptions)call: which key to sign with, the metadata written into the signature dictionary, and (optionally) where to place a visible signature widget or which TSA to timestamp against.Typical usage:
SigningOptions options = new SigningOptions() .setReason("Approved") .setLocation("Berlin, DE") .setSignerName("Jane Doe") .setContactInfo("jane@example.com");
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSigningOptions.CertificationLevelMirrors PDF's /DocMDP transform: how much further editing is permitted after this signature.static classSigningOptions.DigestAlgorithm
-
Constructor Summary
Constructors Constructor Description SigningOptions()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SigningOptions.CertificationLevelgetCertificationLevel()java.lang.StringgetContactInfo()SigningOptions.DigestAlgorithmgetDigestAlgorithm()java.lang.StringgetFieldName()java.lang.StringgetLocation()java.lang.StringgetReason()intgetSignaturePlaceholderSize()java.lang.StringgetSignerName()java.lang.StringgetTsaPassword()java.lang.StringgetTsaUrl()java.lang.StringgetTsaUsername()VisibleSignatureOptionsgetVisibleSignatureOptions()SigningOptionssetCertificationLevel(SigningOptions.CertificationLevel certificationLevel)Set to something other than NOT_CERTIFIED only for the FIRST signature applied to a document.SigningOptionssetContactInfo(java.lang.String contactInfo)SigningOptionssetDigestAlgorithm(SigningOptions.DigestAlgorithm digestAlgorithm)SigningOptionssetFieldName(java.lang.String fieldName)Name of the AcroForm signature field created/used.SigningOptionssetLocation(java.lang.String location)SigningOptionssetReason(java.lang.String reason)SigningOptionssetSignaturePlaceholderSize(int signaturePlaceholderSize)Bytes reserved in the PDF for the CMS/PKCS#7 signature blob (default 16384, i.e.SigningOptionssetSignerName(java.lang.String signerName)Human-readable signer name; written to the signature dict and used as default visible-text if none is set.SigningOptionssetTsaCredentials(java.lang.String username, java.lang.String password)Optional basic-auth credentials for TSAs that require them.SigningOptionssetTsaUrl(java.lang.String tsaUrl)RFC 3161 timestamp authority URL, e.g.SigningOptionssetVisibleSignatureOptions(VisibleSignatureOptions visibleSignatureOptions)Supplying this makes the signature visible; omit it for an invisible signature.
-
-
-
Method Detail
-
getReason
public java.lang.String getReason()
-
setReason
public SigningOptions setReason(java.lang.String reason)
-
getLocation
public java.lang.String getLocation()
-
setLocation
public SigningOptions setLocation(java.lang.String location)
-
getContactInfo
public java.lang.String getContactInfo()
-
setContactInfo
public SigningOptions setContactInfo(java.lang.String contactInfo)
-
getSignerName
public java.lang.String getSignerName()
-
setSignerName
public SigningOptions setSignerName(java.lang.String signerName)
Human-readable signer name; written to the signature dict and used as default visible-text if none is set.
-
getDigestAlgorithm
public SigningOptions.DigestAlgorithm getDigestAlgorithm()
-
setDigestAlgorithm
public SigningOptions setDigestAlgorithm(SigningOptions.DigestAlgorithm digestAlgorithm)
-
getCertificationLevel
public SigningOptions.CertificationLevel getCertificationLevel()
-
setCertificationLevel
public SigningOptions setCertificationLevel(SigningOptions.CertificationLevel certificationLevel)
Set to something other than NOT_CERTIFIED only for the FIRST signature applied to a document.
-
getTsaUrl
public java.lang.String getTsaUrl()
-
setTsaUrl
public SigningOptions setTsaUrl(java.lang.String tsaUrl)
RFC 3161 timestamp authority URL, e.g. "http://timestamp.digicert.com". Omit to skip timestamping.
-
getTsaUsername
public java.lang.String getTsaUsername()
-
getTsaPassword
public java.lang.String getTsaPassword()
-
setTsaCredentials
public SigningOptions setTsaCredentials(java.lang.String username, java.lang.String password)
Optional basic-auth credentials for TSAs that require them.
-
getVisibleSignatureOptions
public VisibleSignatureOptions getVisibleSignatureOptions()
-
setVisibleSignatureOptions
public SigningOptions setVisibleSignatureOptions(VisibleSignatureOptions visibleSignatureOptions)
Supplying this makes the signature visible; omit it for an invisible signature.
-
getFieldName
public java.lang.String getFieldName()
-
setFieldName
public SigningOptions setFieldName(java.lang.String fieldName)
Name of the AcroForm signature field created/used. Default "Signature1".
-
getSignaturePlaceholderSize
public int getSignaturePlaceholderSize()
-
setSignaturePlaceholderSize
public SigningOptions setSignaturePlaceholderSize(int signaturePlaceholderSize)
Bytes reserved in the PDF for the CMS/PKCS#7 signature blob (default 16384, i.e. a 32768-character hex placeholder). The actual signature -- RSA/EC signature bytes plus the embedded certificate chain, and, ifsetTsaUrl(java.lang.String), an embedded RFC 3161 timestamp token -- must fit within this;PdfSigner.sign(...)throws if it doesn't. Raise this if you're using a long certificate chain and/or timestamping.
-
-