package es.uji.security.crypto; import java.io.InputStream; import java.security.PrivateKey; import java.security.Provider; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class SignatureOptions { // General options private X509Certificate certificate; private PrivateKey privateKey; private Provider provider; private InputStream dataToSign; private boolean hash = false; private boolean localFile = false; private boolean swapToFile = false; private boolean coSignEnabled = false; private boolean detached = false; private boolean enveloped = true; // Document options private String documentReference; private String documentReferenceVerificationUrl; // XML options private String policyIdentifier; private String policyDescription; private List<String> references; private String signerRole; // PDF options private Map<String, String> bindValues; private String reason; private String location; private String contact; private Boolean timestamping; private String tsaURL; private Boolean visibleSignature; private String visibleSignatureType; private Integer visibleAreaX; private Integer visibleAreaY; private Integer visibleAreaX2; private Integer visibleAreaY2; private String visibleAreaPage; private Integer visibleAreaTextSize; private String visibleAreaImgFile; private String visibleAreaRepeatAxis; private String visibleAreaTextPattern; public SignatureOptions() { bindValues = new HashMap<String, String>(); references = new ArrayList<String>(); } public boolean isHash() { return hash; } public void setHash(boolean hash) { this.hash = hash; } public boolean isLocalFile() { return localFile; } public void setLocalFile(boolean localFile) { this.localFile = localFile; } public void setSwapToFile(boolean swapToFile) { this.swapToFile = swapToFile; } public boolean getSwapToFile() { return this.swapToFile; } public X509Certificate getCertificate() { return certificate; } public void setCertificate(X509Certificate certificate) { this.certificate = certificate; } public PrivateKey getPrivateKey() { return privateKey; } public void setPrivateKey(PrivateKey privateKey) { this.privateKey = privateKey; } public Provider getProvider() { return provider; } public void setProvider(Provider provider) { this.provider = provider; } public InputStream getDataToSign() { return this.dataToSign; } public void setDataToSign(InputStream dataToSign) { this.dataToSign = dataToSign; } public boolean isCoSignEnabled() { return coSignEnabled; } public void setCoSignEnabled(boolean coSignEnabled) { this.coSignEnabled = coSignEnabled; } public String getPolicyIdentifier() { return policyIdentifier; } public void setPolicyIdentifier(String policyIdentifier) { this.policyIdentifier = policyIdentifier; } public String getPolicyDescription() { return policyDescription; } public void setPolicyDescription(String policyDescription) { this.policyDescription = policyDescription; } public Map<String, String> getVisibleSignatureTextBindValues() { return bindValues; } public void setVisibleSignatureTextBindValues(Map<String, String> bindValues) { this.bindValues = bindValues; } public List<String> getReferences() { return references; } public void setReferences(List<String> references) { this.references = references; } public void addReference(String reference) { if (this.references != null) { this.references.add(reference); } } public void clearReferences() { this.references.clear(); } public Map<String, String> getBindValues() { return bindValues; } public void setBindValues(Map<String, String> bindValues) { this.bindValues = bindValues; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public String getContact() { return contact; } public void setContact(String contact) { this.contact = contact; } public Boolean isTimestamping() { return timestamping; } public void setTimestamping(Boolean timestamping) { this.timestamping = timestamping; } public String getTsaURL() { return tsaURL; } public void setTsaURL(String tsaURL) { this.tsaURL = tsaURL; } public Boolean isVisibleSignature() { return visibleSignature; } public void setVisibleSignature(Boolean visibleSignature) { this.visibleSignature = visibleSignature; } public String getVisibleSignatureType() { return visibleSignatureType; } public void setVisibleSignatureType(String visibleSignatureType) { this.visibleSignatureType = visibleSignatureType; } public Integer getVisibleAreaX() { return visibleAreaX; } public void setVisibleAreaX(Integer visibleAreaX) { this.visibleAreaX = visibleAreaX; } public Integer getVisibleAreaY() { return visibleAreaY; } public void setVisibleAreaY(Integer visibleAreaY) { this.visibleAreaY = visibleAreaY; } public Integer getVisibleAreaX2() { return visibleAreaX2; } public void setVisibleAreaX2(Integer visibleAreaX2) { this.visibleAreaX2 = visibleAreaX2; } public Integer getVisibleAreaY2() { return visibleAreaY2; } public void setVisibleAreaY2(Integer visibleAreaY2) { this.visibleAreaY2 = visibleAreaY2; } public String getVisibleAreaPage() { return visibleAreaPage; } public void setVisibleAreaPage(String visibleAreaPage) { this.visibleAreaPage = visibleAreaPage; } public Integer getVisibleAreaTextSize() { return visibleAreaTextSize; } public void setVisibleAreaTextSize(Integer visibleAreaTextSize) { this.visibleAreaTextSize = visibleAreaTextSize; } public String getVisibleAreaImgFile() { return visibleAreaImgFile; } public void setVisibleAreaImgFile(String visibleAreaImgFile) { this.visibleAreaImgFile = visibleAreaImgFile; } public String getVisibleAreaRepeatAxis() { return visibleAreaRepeatAxis; } public void setVisibleAreaRepeatAxis(String visibleAreaRepeatAxis) { this.visibleAreaRepeatAxis = visibleAreaRepeatAxis; } public String getVisibleAreaTextPattern() { return visibleAreaTextPattern; } public void setVisibleAreaTextPattern(String visibleAreaTextPattern) { this.visibleAreaTextPattern = visibleAreaTextPattern; } public boolean isEnveloped() { return enveloped; } public void setEnveloped(boolean enveloped) { this.enveloped = enveloped; } public String getSignerRole() { return signerRole; } public void setSignerRole(String signerRole) { this.signerRole = signerRole; } public void setDocumentReference(String documentReference) { this.documentReference = documentReference; } public String getDocumentReference() { return documentReference; } public void setDocumentReferenceVerificationUrl(String documentReferenceVerificationUrl) { this.documentReferenceVerificationUrl = documentReferenceVerificationUrl; } public String getDocumentReferenceVerificationUrl() { return documentReferenceVerificationUrl; } public boolean isDetached() { return detached; } public void setDetached(boolean detached) { this.detached = detached; } }