A assinatura digital é uma técnica matemática para verificar a autenticidade do documento. Para documentos, a assinatura digital é representada por certificado com chaves privada e pública. Como desenvolvedor Java, você pode assinar facilmente seus documentos com certificados digitais de forma programática. Este artigo se concentrará em como assinar documentos eletronicamente com assinaturas digitais usando Java.

Os seguintes tópicos são discutidos/abordados neste artigo:

API Java para assinatura de documentos

Usarei a API GroupDocs.Signature for Java para assinar documentos com o certificado digital. Ele ajuda você a desenvolver aplicativos Java para assinar eletronicamente documentos digitais de formatos suportados. Também permite assinar imagens e documentos com assinaturas eletrônicas de Imagem, QR-Code, Código de Barras, Metadados, Texto e Carimbo.

Baixe e configure

Você pode baixar o JAR da API ou simplesmente adicionar a seguinte configuração pom.xml em seus aplicativos Java baseados em Maven para experimentar os exemplos de código mencionados abaixo.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-signature</artifactId>
        <version>20.9</version> 
</dependency>

Assine documentos PDF com assinaturas digitais usando Java

Você pode assinar eletronicamente seus documentos PDF com assinaturas digitais seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Signature
  • Forneça o caminho do documento PDF
  • Crie uma instância da classe DigitalSignOptions
  • Forneça o caminho do arquivo de certificado
  • Defina o caminho do arquivo de imagem
  • Defina as opções de sinal necessárias, como posição (superior, esquerda etc.)
  • Em seguida, chame o método Sign para assinar o documento

O exemplo de código a seguir mostra como assinar os documentos PDF com o certificado usando Java.

Signature signature = new Signature("sample.pdf");

// Definir opções de sinal digital  
DigitalSignOptions options = new DigitalSignOptions("Signature.pfx");
options.setImageFilePath("signature.jpg");
options.setLeft(100);
options.setTop(200);
options.setPageNumber(1);

// Assinar documento para arquivo
signature.sign("output.pdf", options);
Assinar documento PDF com certificado digital usando Java

Assinar documento PDF com certificado digital usando Java

A classe Signature é a classe principal que controla o processo de assinatura de documentos. Esta classe fornece vários métodos para assinar, verificar, atualizar e pesquisar assinaturas.

A classe DigitalSignOptions fornece vários métodos para definir e obter opções de sinal para representar assinaturas digitais.

Assine documentos do Word com assinaturas digitais usando Java

Você pode assinar eletronicamente seus documentos do Word com assinaturas digitais seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Signature
  • Forneça o caminho do arquivo do Word
  • Crie uma instância da classe DigitalSignOptions
  • Forneça o caminho do arquivo de certificado
  • Defina o caminho do arquivo de imagem
  • Defina as opções de sinal necessárias, como posição (superior, esquerda etc.)
  • Em seguida, chame o método Sign para assinar o documento

O exemplo de código a seguir mostra como assinar o arquivo DOCX com o certificado usando Java.

Signature signature = new Signature("sample.docx");

// Definir opções de sinal digital  
DigitalSignOptions options = new DigitalSignOptions("Signature.pfx");
options.setImageFilePath("signature.jpg");
options.setPassword("1234567890");
options.setReason("Approved");
options.setContact("John Smith");
options.setLocation("New York");
options.setAllPages(true);
options.setWidth(160);
options.setHeight(80);
options.setTop(400);
options.setLeft(100);

// Assinar documento para arquivo
signature.sign("output.docx", options);
Assine documentos do Word com certificados digitais usando Java

Assine documentos do Word com certificados digitais usando Java

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como assinar documentos eletronicamente com assinaturas digitais usando Java. Você pode aprender mais sobre GroupDocs.Signature for Java API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também