java.lang.Object
com.aspose.words.DigitalSignature
public class DigitalSignature
To learn more, visit the Work with Digital Signatures documentation article. Example:
Document doc = new Document(getMyDir() + "Digitally signed.docx");
for (DigitalSignature signature : doc.getDigitalSignatures()) {
System.out.println("*** Signature Found ***");
System.out.println("Is valid: " + signature.isValid());
// This property is available in MS Word documents only
System.out.println("Reason for signing: " + signature.getComments());
System.out.println("Signature type: " + signature.getSignatureType());
System.out.println("Time of signing: " + signature.getSignTime());
System.out.println("Subject name: " + signature.getSubjectName());
System.out.println("Issuer name: " + signature.getIssuerName());
System.out.println();
}
| Property Getters/Setters Summary | ||
|---|---|---|
CertificateHolder | getCertificateHolder() | |
| Returns the certificate holder object that contains the certificate was used to sign the document. | ||
java.lang.String | getComments() | |
| Gets the signing purpose comment. | ||
java.lang.String | getIssuerName() | |
| Returns the subject distinguished name of the certificate isuuer. | ||
boolean | isValid() | |
Returns true if this digital signature is valid and the document has not been tampered with.
|
||
int | getSignatureType() | |
| Gets the type of the digital signature. The value of the property is DigitalSignatureType integer constant. | ||
byte[] | getSignatureValue() | |
| Gets an array of bytes representing a signature value. | ||
java.util.Date | getSignTime() | |
| Gets the time the document was signed. | ||
java.lang.String | getSubjectName() | |
| Returns the subject distinguished name of the certificate that was used to sign the document. | ||
| Method Summary | ||
|---|---|---|
java.lang.String | toString() | |
| Returns a user-friendly string that displays the value of this object. | ||
| Property Getters/Setters Detail |
|---|
getCertificateHolder | |
public CertificateHolder getCertificateHolder() | |
Example:
Shows how to sign documents with X.509 certificates.
// Verify that a document is not signed.
Assert.assertFalse(FileFormatUtil.detectFileFormat(getMyDir() + "Document.docx").hasDigitalSignature());
// Create a CertificateHolder object from a PKCS12 file, which we will use to sign the document.
CertificateHolder certificateHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw", null);
SignOptions signOptions = new SignOptions();
signOptions.setSignTime(new Date());
// There are two ways of saving a signed copy of a document to the local file system:
// 1 - Designate a document by a local system filename and save a signed copy at a location specified by another filename.
DigitalSignatureUtil.sign(getMyDir() + "Document.docx", getArtifactsDir() + "Document.DigitalSignature.docx",
certificateHolder, signOptions);
Assert.assertTrue(FileFormatUtil.detectFileFormat(getArtifactsDir() + "Document.DigitalSignature.docx").hasDigitalSignature());
// 2 - Take a document from a stream, and save a signed copy to another stream.
InputStream inDoc = new FileInputStream(getMyDir() + "Document.docx");
try {
OutputStream outDoc = new FileOutputStream(getArtifactsDir() + "Document.DigitalSignature.docx");
try {
DigitalSignatureUtil.sign(inDoc, outDoc, certificateHolder);
} finally {
if (outDoc != null) outDoc.close();
}
} finally {
if (inDoc != null) inDoc.close();
}
Assert.assertTrue(FileFormatUtil.detectFileFormat(getArtifactsDir() + "Document.DigitalSignature.docx").hasDigitalSignature());
// Please verify that all of the document's digital signatures are valid and check their details.
Document signedDoc = new Document(getArtifactsDir() + "Document.DigitalSignature.docx");
DigitalSignatureCollection digitalSignatureCollection = signedDoc.getDigitalSignatures();
Assert.assertTrue(digitalSignatureCollection.isValid());
Assert.assertEquals(1, digitalSignatureCollection.getCount());
Assert.assertEquals(DigitalSignatureType.XML_DSIG, digitalSignatureCollection.get(0).getSignatureType());
Assert.assertEquals("CN=Morzal.Me", signedDoc.getDigitalSignatures().get(0).getIssuerName());
Assert.assertEquals("CN=Morzal.Me", signedDoc.getDigitalSignatures().get(0).getSubjectName());getComments | |
public java.lang.String getComments() | |
Example:
Shows how to validate and display information about each signature in a document.
Document doc = new Document(getMyDir() + "Digitally signed.docx");
for (DigitalSignature signature : doc.getDigitalSignatures()) {
System.out.println("*** Signature Found ***");
System.out.println("Is valid: " + signature.isValid());
// This property is available in MS Word documents only
System.out.println("Reason for signing: " + signature.getComments());
System.out.println("Signature type: " + signature.getSignatureType());
System.out.println("Time of signing: " + signature.getSignTime());
System.out.println("Subject name: " + signature.getSubjectName());
System.out.println("Issuer name: " + signature.getIssuerName());
System.out.println();
}getIssuerName | |
public java.lang.String getIssuerName() | |
Example:
Shows how to sign documents with X.509 certificates.
// Verify that a document is not signed.
Assert.assertFalse(FileFormatUtil.detectFileFormat(getMyDir() + "Document.docx").hasDigitalSignature());
// Create a CertificateHolder object from a PKCS12 file, which we will use to sign the document.
CertificateHolder certificateHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw", null);
SignOptions signOptions = new SignOptions();
signOptions.setSignTime(new Date());
// There are two ways of saving a signed copy of a document to the local file system:
// 1 - Designate a document by a local system filename and save a signed copy at a location specified by another filename.
DigitalSignatureUtil.sign(getMyDir() + "Document.docx", getArtifactsDir() + "Document.DigitalSignature.docx",
certificateHolder, signOptions);
Assert.assertTrue(FileFormatUtil.detectFileFormat(getArtifactsDir() + "Document.DigitalSignature.docx").hasDigitalSignature());
// 2 - Take a document from a stream, and save a signed copy to another stream.
InputStream inDoc = new FileInputStream(getMyDir() + "Document.docx");
try {
OutputStream outDoc = new FileOutputStream(getArtifactsDir() + "Document.DigitalSignature.docx");
try {
DigitalSignatureUtil.sign(inDoc, outDoc, certificateHolder);
} finally {
if (outDoc != null) outDoc.close();
}
} finally {
if (inDoc != null) inDoc.close();
}
Assert.assertTrue(FileFormatUtil.detectFileFormat(getArtifactsDir() + "Document.DigitalSignature.docx").hasDigitalSignature());
// Please verify that all of the document's digital signatures are valid and check their details.
Document signedDoc = new Document(getArtifactsDir() + "Document.DigitalSignature.docx");
DigitalSignatureCollection digitalSignatureCollection = signedDoc.getDigitalSignatures();
Assert.assertTrue(digitalSignatureCollection.isValid());
Assert.assertEquals(1, digitalSignatureCollection.getCount());
Assert.assertEquals(DigitalSignatureType.XML_DSIG, digitalSignatureCollection.get(0).getSignatureType());
Assert.assertEquals("CN=Morzal.Me", signedDoc.getDigitalSignatures().get(0).getIssuerName());
Assert.assertEquals("CN=Morzal.Me", signedDoc.getDigitalSignatures().get(0).getSubjectName());isValid | |
public boolean isValid() | |
true if this digital signature is valid and the document has not been tampered with.
Example:
Shows how to validate and display information about each signature in a document.
Document doc = new Document(getMyDir() + "Digitally signed.docx");
for (DigitalSignature signature : doc.getDigitalSignatures()) {
System.out.println("*** Signature Found ***");
System.out.println("Is valid: " + signature.isValid());
// This property is available in MS Word documents only
System.out.println("Reason for signing: " + signature.getComments());
System.out.println("Signature type: " + signature.getSignatureType());
System.out.println("Time of signing: " + signature.getSignTime());
System.out.println("Subject name: " + signature.getSubjectName());
System.out.println("Issuer name: " + signature.getIssuerName());
System.out.println();
}getSignatureType | |
public int getSignatureType() | |
Example:
Shows how to validate and display information about each signature in a document.
Document doc = new Document(getMyDir() + "Digitally signed.docx");
for (DigitalSignature signature : doc.getDigitalSignatures()) {
System.out.println("*** Signature Found ***");
System.out.println("Is valid: " + signature.isValid());
// This property is available in MS Word documents only
System.out.println("Reason for signing: " + signature.getComments());
System.out.println("Signature type: " + signature.getSignatureType());
System.out.println("Time of signing: " + signature.getSignTime());
System.out.println("Subject name: " + signature.getSubjectName());
System.out.println("Issuer name: " + signature.getIssuerName());
System.out.println();
}getSignatureValue | |
public byte[] getSignatureValue() | |
Example:
Shows how to get a digital signature value from a digitally signed document.
Document doc = new Document(getMyDir() + "Digitally signed.docx");
for (DigitalSignature digitalSignature : doc.getDigitalSignatures())
{
String signatureValue = Base64.getEncoder().encodeToString(digitalSignature.getSignatureValue());
Assert.assertEquals("K1cVLLg2kbJRAzT5WK+m++G8eEO+l7S+5ENdjMxxTXkFzGUfvwxREuJdSFj9AbD" +
"MhnGvDURv9KEhC25DDF1al8NRVR71TF3CjHVZXpYu7edQS5/yLw/k5CiFZzCp1+MmhOdYPcVO+Fm" +
"+9fKr2iNLeyYB+fgEeZHfTqTFM2WwAqo=", signatureValue);
}getSignTime | |
public java.util.Date getSignTime() | |
Example:
Shows how to validate and display information about each signature in a document.
Document doc = new Document(getMyDir() + "Digitally signed.docx");
for (DigitalSignature signature : doc.getDigitalSignatures()) {
System.out.println("*** Signature Found ***");
System.out.println("Is valid: " + signature.isValid());
// This property is available in MS Word documents only
System.out.println("Reason for signing: " + signature.getComments());
System.out.println("Signature type: " + signature.getSignatureType());
System.out.println("Time of signing: " + signature.getSignTime());
System.out.println("Subject name: " + signature.getSubjectName());
System.out.println("Issuer name: " + signature.getIssuerName());
System.out.println();
}getSubjectName | |
public java.lang.String getSubjectName() | |
Example:
Shows how to sign documents with X.509 certificates.
// Verify that a document is not signed.
Assert.assertFalse(FileFormatUtil.detectFileFormat(getMyDir() + "Document.docx").hasDigitalSignature());
// Create a CertificateHolder object from a PKCS12 file, which we will use to sign the document.
CertificateHolder certificateHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw", null);
SignOptions signOptions = new SignOptions();
signOptions.setSignTime(new Date());
// There are two ways of saving a signed copy of a document to the local file system:
// 1 - Designate a document by a local system filename and save a signed copy at a location specified by another filename.
DigitalSignatureUtil.sign(getMyDir() + "Document.docx", getArtifactsDir() + "Document.DigitalSignature.docx",
certificateHolder, signOptions);
Assert.assertTrue(FileFormatUtil.detectFileFormat(getArtifactsDir() + "Document.DigitalSignature.docx").hasDigitalSignature());
// 2 - Take a document from a stream, and save a signed copy to another stream.
InputStream inDoc = new FileInputStream(getMyDir() + "Document.docx");
try {
OutputStream outDoc = new FileOutputStream(getArtifactsDir() + "Document.DigitalSignature.docx");
try {
DigitalSignatureUtil.sign(inDoc, outDoc, certificateHolder);
} finally {
if (outDoc != null) outDoc.close();
}
} finally {
if (inDoc != null) inDoc.close();
}
Assert.assertTrue(FileFormatUtil.detectFileFormat(getArtifactsDir() + "Document.DigitalSignature.docx").hasDigitalSignature());
// Please verify that all of the document's digital signatures are valid and check their details.
Document signedDoc = new Document(getArtifactsDir() + "Document.DigitalSignature.docx");
DigitalSignatureCollection digitalSignatureCollection = signedDoc.getDigitalSignatures();
Assert.assertTrue(digitalSignatureCollection.isValid());
Assert.assertEquals(1, digitalSignatureCollection.getCount());
Assert.assertEquals(DigitalSignatureType.XML_DSIG, digitalSignatureCollection.get(0).getSignatureType());
Assert.assertEquals("CN=Morzal.Me", signedDoc.getDigitalSignatures().get(0).getIssuerName());
Assert.assertEquals("CN=Morzal.Me", signedDoc.getDigitalSignatures().get(0).getSubjectName());| Method Detail |
|---|
toString | |
public java.lang.String toString() | |