Stirling-Tools / Stirling-PDF

#1 Locally hosted web application that allows you to perform various operations on PDF files
MIT License
39.91k stars 3.14k forks source link

[NON-DOCKER] Melhoria - Assinar PDF com TOKEN USB #269

Open JefPresotto opened 1 year ago

JefPresotto commented 1 year ago

Bom dia, A assinatura digital em PDFs poderia disponibilizar a opção de assinatura via TOKEN USB, pois na empresa onde trabalho quase todos possuem um certificado digital no formato de token USB, modelo "A3" (ICP-Brasil). Os navegadores carregam o arquivo c:\Windows\System32\aetpkss1.dll (PKCS#11) para abrir o certificado ao conecta-lo a porta USB. O formato de token usb (pendrive flash) é o mais utilizado. A emissora do formato mais comum deste tipo de certificado é a Certsign. Raramente alguem tera os formatos PEM ou PKCS#12, DER, X.509. Seria uma melhoria fantastica!

Frooodle commented 1 year ago

I'm not sure how i could do this via web browser. Its on you to upload from the c:\Windows\System32\aetpkss1.dll directory, i cant read that from web browser itself, you can only provide it via file browser etc.

However as for supporting additional formats like PKCS#11 I can look into!

JefPresotto commented 1 year ago

Olá, obrigado pela resposta. Acredito que caso ele consiga ler o PKCS#11 talvez consiga ler o dispositivo usb. Talvez se eu explicar melhor possa ajudar a encontrar uma maneira. Mas funciona assim:

Primeiro adquirimos uma assinatura eletronica que é instalada em um token usb pela empresa vendedora, então baixamos os drivers e instamos no computador. Assim que os drivers estão instalados, qualquer aplicação que possa ler tokens usb podem acessar e utilizar para assinar emails, assinar documentos, acessar sites. Vou colocar o exemplo do site da certificadora mais conhecido aqui no Brasil, apenas para conhecimento das cadeias de certificação: https://www.certisign.com.br/duvidas-suporte/downloads/hierarquias.

Quando instalamos o software no windows ou no linux, ele fica disponivel através dos drivers para qualquer aplicação utilizar. Vou colocar também um manual de instalação, apenas para explicar o processo. Pois assim como arquivos de certificado (PEM, DER, CER, etc) que são acessados através de drivers, acredito que exista uma maneira de utilizar os drivers dos tokens usb para permitir acesso também. Estou pesquisando também, pode ser que tudo dependa do PKCS#11.

Instalacao-do-Token-Starsign.pdf

sbplat commented 8 months ago

Additional formats like PKCS11 can be converted to Java Keystore and then imported. See #630 for more information regarding this.

As for digital tokens, it should be possible to load the hardware tokens using CryptoKey, but the format has to be in one of the listed formats.

kristianpaul commented 1 month ago

Does this mean i could use google kms via their pcks 11 library https://github.com/GoogleCloudPlatform/kms-integrations?