Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI para o Signer #304

Open
denydias opened this issue Jul 25, 2021 · 6 comments
Open

CLI para o Signer #304

denydias opened this issue Jul 25, 2021 · 6 comments
Milestone

Comments

@denydias
Copy link

denydias commented Jul 25, 2021

Olá! Primeiramente, quero parabenizar todos os colaboradores deste projeto. Uma implementação de referência para o PBAD do porte do Demoiselle Signer tem importância vital para sociedade como um todo.

Tenho integrado o Signer em diversos projetos. Quando o projeto é Java nativo, o Maven e código resolvem o tema. Mas há projetos em muitas outras linguagens onde a integração começa a se complicar, chegando aos casos de uso extremo onde torna-se impossível usar o Demoiselle Signer.

Por isso eu pergunto: existe no roadmap do Signer o desenvolvimento de uma CLI (Command Line Interface) para o Signer?

Algo como isso, mas independente de plataforma (Linux, OS X, Windows etc):

$ java -jar /path/to/signer/DemoiselleSigner.jar [OPTIONS]... certificate file

Isso facilitaria muito a integração do Signer em praticamente qualquer projeto! Obviamente, o tratamento das saídas de stdout e stderr continuam sob responsabilidade do integrador.

Este é um exemplo do que me refiro: JSignPdf Command line (batch mode)

De antemão agradeço qualquer feedback dos colaboradores do projeto.

@denydias denydias changed the title CLI para o signer CLI para o Signer Jul 25, 2021
@esaito esaito added this to the Backlog milestone Oct 13, 2021
@alexandre-mbm
Copy link

@denydias, é possível usá-lo com NEOiD em Android?

@denydias
Copy link
Author

@denydias, é possível usá-lo com NEOiD em Android?

Não. O JSignPdf utiliza certificados armazenados de acordo com PKCS#12.

@alexandre-mbm
Copy link

@denydias

Tenho integrado o Signer em diversos projetos. Quando o projeto é Java nativo, o Maven e código resolvem o tema. Mas há projetos em muitas outras linguagens onde a integração começa a se complicar, chegando aos casos de uso extremo onde torna-se impossível usar o Demoiselle Signer.

Referi-me ao Demoiselle Signer.

@denydias
Copy link
Author

Referi-me ao Demoiselle Signer.

Aí é melhor você consultar a documentação do projeto.

@esaito
Copy link
Member

esaito commented Dec 26, 2024

O Assinador SERPRO, pode fazer algo nesse sentido, através de chamadas websocket. https://www.serpro.gov.br/assinador-digital/

@denydias
Copy link
Author

denydias commented Dec 28, 2024

O Assinador SERPRO, pode fazer algo nesse sentido, através de chamadas websocket. https://www.serpro.gov.br/assinador-digital/

Pode, mas muito aquém das possibilidades de uma linha de comando. Por exemplo:

  • O Assinador SERPRO é distribuído somente para Windows, macOS e distribuições com kernel Linux Debian/Ubuntu, Fedora e openSUSE. Especialmente nos ambientes em nuvem, existem infinidades de cenários onde esses pacotes simplesmente não podem ser utilizados;
  • Exige a instalação e execução em tempo integral do Assinador SERPRO em ao menos uma máquina, que pode ser a mesma onde a aplicação está em execução ou outra qualquer, o que implica em configuração adicional para a possibilidade de uso do websocket;
  • Exige uso de portas TCP (local ou remota);
  • Exige uso de um navegador;
  • Não pode carregar um certificado sob demanda (fora do keystore do próprio Assinador);
  • Documentação pobre.

Particularmente (leia-se: minha opinião), não gosto do modelo que o Serpro desenvolve e distribui seus aplicativos. Sendo uma empresa estatal, fornecer o Assinador SERPRO sem uma licença de código aberto e livre robusta como ocorre com o Demoiselle Signer invalida completamente a sua possibilidade de uso integrado ou embutido em outras aplicações.

Uma CLI para o Demoiselle Signer me parece uma solução muito mais segura, transparente, robusta e perene para possibilitar assinaturas sob demanda em qualquer ambiente.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants