Assinatura Digital
De UniWiki
Índice
O que é Assinatura Digital?
- Assinatura Digital é o processo eletrônico de assinatura, baseado em sistema criptográfico assimétrico, que permite ao usuário usar sua chave privada para declarar a autoria de documento eletrônico a ser entregue à Receita Federal do Brasil, garantindo a integridade de seu conteúdo.
Modelo Utilizado
-
- Validade de um ano e instalado em seu computador;
- Protegido por uma senha de acesso (opcional);
- Recomenda-se fazer cópia de segurança externa ao computador;
- Emissão do Certificado somente em Windows Vista, 7 ou 8.1 e linux e algumas certificadoras..
Configurações do Unilab
- No Unilab foi decidido que será usado o modelo A1 para a assinatura dos laudos.
- Após a assinatura vinculada ao usuário do Unilab e o rodapé do laudo ser configurado os documentos de PDF que forem gerados terão a assinatura digital incluída automaticamente.
- Quem assina o PDF?
- Se quem liberou um dos exames do laudo tem assinatura, ela vai no PDF.
- Se um dos que liberar não tem assinatura, vai a assinatura padrão no PDF.
- Se a assinatura padrão está expirada (ou não tem uma padrão), pegar alguma válida.
- Se não houver válida emitir sem assinatura.
Configurações na maquina que ira assinar digitalmente
- Na maquina que for configurar o certificado digital terá que registrar uma dll usando o caminho.
C:\Windows\Microsoft.NET\Framework\"VERSAO"\RegAsm.exe "LOCAL_DA_DLL"\AssDig32.dll /tlb
- Substituir os campos entre aspas pela pasta correta. O local da dll é o caminho da pasta do uniwarew.
- Caso de erro na hora de registrar a dll tem que instalar o .net framework atualizado.
- Só baixar no site https://www.microsoft.com/pt-br/download/confirmation.aspx?id=49981
Exportação do certificado A1
Atenção !!!
Não basta qualquer certificado para assinar um documento (mesmo que o certificado esteja instalado no windows).
Existem regras para utilização dos certificados.
Para exportar seu certificado tipo A1 para uso no Unilab ou saber mais sobre certificados e a assinatura digital de documentos, consulte o Manual para assinatura digital no Unilab em um dos links abaixo:
Interno: http://svw-uniware2/_wiki_docs/manuais/Assinatura-Digital-Unilab.ctb.pdf
Público: http://uniware-lda.no-ip.net:3080/_wiki_docs/manuais/Assinatura-Digital-Unilab.ctb.pdf
Assinatura Digital Java (uPdfSign)
Instalação
- A instalação do uPdfSign para utilização no Unilab deverá ser feita da seguinte forma:
- Copiar o conteúdo da pasta "dist" do projeto para a pasta na qual está localizado o unilab (geralmente uniwarew) com o nome de "jassdig"
- Configurar o java (JRE) em cada terminal que utilize o unilab da seguinte forma:
NOTA: No linux, o JRE deve ser instalado no wine (java para Windows), os arquivos de instalação encontram-se na pasta \\svw-uniware2\STORAGE\Linux-desenvolvimento\Java\JRE\jre-i386-wine jre-6u45-windows-i586.exe - JRE 1.6 jce_policy-6.zip - JCE security para chaves menores (Certificado A1) O Wine (32) deve estar configurado para no máximo "Windows 2008 R2" e deve ser a versão mais recente disponivel. Instale o pacote jre-6u45-windows-i586.exe
NOTA: No Windows, verificar a versão do Java (JRE) e caso seja inferior a 1.6, baixar e instale a versão 8 do Java. Para conferir a versão do JRE digite o seguinte comando no prompt (windows ou linux): java -version. Instalação do JRE em: http://www.oracle.com/technetwork/pt/java/javase/downloads/jre8-downloads-2133155.html
Configuração
- Editar o arquivo [java_dir]\jre\lib\security\java.security e adiconar o provider "org.bouncycastle.jce.provider.BouncyCastleProvider" na lista de permitidos
NOTA: A entrada no arquivo deverá ficar parecida com isso: security.provider.1=sun.security.provider.Sun security.provider.2=sun.security.rsa.SunRsaSign security.provider.3=sun.security.ec.SunEC security.provider.4=com.sun.net.ssl.internal.ssl.Provider security.provider.5=com.sun.crypto.provider.SunJCE security.provider.6=sun.security.jgss.SunProvider security.provider.7=com.sun.security.sasl.Provider security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI security.provider.9=sun.security.smartcardio.SunPCSC security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
- Substituir o "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files"
Windows: Para o JRE 1.8x, usar o pacote no arquivo jce_policy-8.zip nesta pasta ou fazer o download diretamente do site da Oracle: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html Obs: Para versões do Java superiores a 8x, localize o dowload informando a string "Java Cryptography Extension (JCE) Unlimited Strength" na pesquisa do site. Linux: Utilize os arquivos do pacote jce_policy-6.zip
- Descompactar o zip
- Copiar os arquivos "local_policy.jar" e "US_export_policy.jar" para a pasta "[java_dir]\jre\lib\security\"
Nota: è recomendável salvar os arquivos originais antes da substituição
- Boa pratica: Adicione uma nota em arquivo texto (por ex.: jce-unlimited-leia-me.txt) na pasta "[java_dir]\jre\lib\security\", indicando que o JCE foi substituido (quem, quando e porque)
Erros Comuns
- Erro: java.lang.SecurityException: JCE cannot authenticate the provider BC
- Causa: java.security não configurado. (ver item 2.2 da instalação)
- Erro: java.io.IOException: exception unwrapping private key - java.security.InvalidKeyException: Illegal key size
- Causa: java Cryptography Extension (JCE) Unlimited Strength" não instalado (ver item 2.3 da instalação)