com.aspose.words

Class DigitalSignatureType

  • java.lang.Object
    • com.aspose.words.DigitalSignatureType
public class DigitalSignatureType 
extends java.lang.Object

Utility class containing constants. Specifies the type of a digital signature.

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());

Field Summary
static final intUNKNOWN = 0
Indicates an error, unknown digital signature type.
static final intCRYPTO_API = 1
The Crypto API signature method used in Microsoft Word 97-2003 .DOC binary documents.
static final intXML_DSIG = 2
The XmlDsig signature method used in OOXML and OpenDocument documents.
 

    • Field Detail

      • UNKNOWN = 0

        public static final int UNKNOWN
        Indicates an error, unknown digital signature type.
      • CRYPTO_API = 1

        public static final int CRYPTO_API
        The Crypto API signature method used in Microsoft Word 97-2003 .DOC binary documents.
      • XML_DSIG = 2

        public static final int XML_DSIG
        The XmlDsig signature method used in OOXML and OpenDocument documents.