Projeto de exemplos em Java 7+ com Spring MVC
O Projeto de exemplos em Java 7+ com Spring MVC mostra como usar o Rest PKI junto com Web PKI em uma aplicação web Java 7+ usando framework Spring MVC. É hospedado no GiHub em:
https://github.com/LacunaSoftware/RestPkiSamples/tree/master/Java/sample-spring-mvc
Executando o projeto
- Download do projeto ou clonar o repositório
- Gere um token de acesso à API no REST PKI website
- Cole seu token de acesso no arquivo Java/sample-spring-mvc/src/main/resources/application.properties
- No prompt de comando, navegue até a pasta
Java/sample-spring-mvc
e execute o comandogradlew run
(no Linux./gradlew run
). Se você estiver usando Windows, você pode, alternativamente, clicar duas vezes no arquivoRun-Sample.bat
. - Depois de ver a mensagem "Starded Application in x.xxx seconds" (a porcentagem na tela não atingirá 100%), abra o browser e vá para a URL http://localhost:60963
Mapa do projeto
Esta seção lista tem onde encontrar as partes relevantes em cada amostra de recurso no projeto.
Autentificação com certificado digital
- Controller: AuthenticationController
- Views:
Assinatura PAdES com arquivo já no servidor
- Controller: PadesSignatureController
- Views:
- pades-signature.html (Javascript on signature-form.js)
- pades-signature-info.html
Assinatura PAdES com arquivo enviado pelo usuário
Após o upload do arquivo (que é grosseiramente implementado apenas para fins de demonstração em UploadController) é feito o fluxo de controle é o mesmo que na amostra Assinatura PAdES com arquivo já no servidor,
mas com parâmetro de URL userfile
preenchidos.
Assinatura conjunta PAdES
Após o fluxo de controle da amostra Assinatura PAdES com arquivo já no servidor está concluído e o link Co-sign with another certificate é clicado, o mesmo fluxo de controle é
repetido, mas agora com parâmetro de URL userfile
preenchidos.
Marcas PAdES
Esse recurso é demonstrado como uma configuração opcional no Assinatura PAdES com arquivo já no servidor, amostra que por padrão começa comentada. Para ativá-lo, remova o comentário da linha a seguir PadesSignatureController:
signatureStarter.addPdfMark(PadesVisualElements.getPdfMark(1));
Tip
Tente mudar o argumento para a função getPdfMark()
para ver diferentes configurações de marcas PDF.
O código relevante está no arquivo PadesVisualElements,
função getPdfMark()
.
Assinatura PAdES usando chave do servidor
- Controller: PadesSignatureServerKeyController
- View: pades-signature-server-key.html
Assinatura PAdES sem a comunicação com cliente
Ainda não está disponível neste projeto.
Abrir/validar uma assinatura PAdES existente
- Controller: OpenPadesSignatureController
- View: open-pades-signature.html
Versão para impressão
Após o fluxo de controle da amostra Assinatura PAdES com arquivo já no servidor está concluído e o link Download a printer-friendly version of the signed file é clicado, o fluxo
vai para o arquivo PrinterFriendlyVersionController.java, mas com parâmetro de URL fileId
preenchidos.
Assinatura CAdES com arquivo já no servidor
- Controller: CadesSignatureController
- Views:
- cades-signature.html (Javascript on signature-form.js)
- cades-signature-info.html
Assinatura CAdES com upload do arquivo pelo usuário
Depois que o upload do arquivo (que é grosseiramente implementado apenas para fins de demonstração no UploadController) é feito
o fluxo de controle é o mesmo que na amostra CAdES signature with file already on server, mas com parâmetro de URL userfile
preenchidos.
Assinatura conjunta CAdES
Após o fluxo de controle da amostra CAdES signature with file already on server está concluído e o link Co-sign with another certificate é clicado, o mesmo fluxo de controle é
repetido, mas agora com parâmetro de URL cmsfile
preenchidos.
Assinatura CAdES usando chave do servidor
- Controller: CadesSignatureServerKeyController
- View: cades-signature-server-key.html
Abrir/validar uma assinatura CAdES existente
- Controller: OpenCadesSignatureController
- View: open-cades-signature.html
Assinatura XML do documento inteiro
- Controller: XmlSignatureController
- Views:
- xml-full-signature.html (Javascript on signature-form.js)
- xml-signature-info.html
Assinatura XML de um elemento
- Controller: XmlSignatureController
- Views:
- xml-element-signature.html (Javascript on signature-form.js)
- xml-signature-info.html
Assinatura XAdES de um elemento
Ainda não está disponível neste projeto.
Abrir/validar assinatura de um arquivo XML existente
- Controller: OpenXmlSignatureController
- View: open-xml-signature.html
Lote de assinatura PAdES
- Controller: BatchSignatureController
- View: batch-signature.html
- Javascript: batch-signature-form.js
Lote otimizado de assinaturas PAdES
Ainda não está disponível neste projeto.
Lote de assinaturas CAdES
Ainda não está disponível neste projeto.
Lote de assinaturas XML de elementos no mesmo documento
Ainda não está disponível neste projeto.