Mudanças entre as edições de "Assinatura Digital"

De UniWiki
Ir para: navegação, pesquisa
(Linux)
(Assinatura Digital em Linux)
Linha 47: Linha 47:
 
  Público: http://uniware-lda.no-ip.net:3080/_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 em Linux==
+
==Assinatura Digital Java (uPdfSign)==
  
 
===Instalação===
 
===Instalação===
 
: A instalação do uPdfSign para utilização no Unilab deverá ser feita da seguinte forma:
 
: A instalação do uPdfSign para utilização no Unilab deverá ser feita da seguinte forma:
:* Instalar o JDK (Java) 1.6 ou superior
+
:* 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"
:: [http://www.oracle.com/technetwork/java/javase/downloads/index.html]
+
:* Configurar o java (JRE) em cada terminal que utilize o unilab 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"
 
 
 
 
 
 
2 - 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
 
     NOTA:  No linux, o JRE deve ser instalado no wine (java para Windows), os arquivos de instalação encontram-se
Linha 64: Linha 58:
 
                 jre-6u45-windows-i586.exe      - JRE 1.6
 
                 jre-6u45-windows-i586.exe      - JRE 1.6
 
                 jce_policy-6.zip                - JCE security para chaves menores  (Certificado A1)
 
                 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
 
             O Wine (32) deve estar configurado para no máximo "Windows 2008 R2" e deve ser a versão mais recente
 
             disponivel.
 
             disponivel.
 +
            Instale o pacote jre-6u45-windows-i586.exe
  
2.1 - Windows:
+
    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.
          Verificar a versão do Java (JRE) e caso seja inferior a 1.6, , baixe 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
          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
 
 
      Linux: Instale o pacote jre-6u45-windows-i586.exe
 
  
2.2 - Editar o arquivo [java_dir]\jre\lib\security\java.security
+
===Configuração===
      e adiconar o provider "org.bouncycastle.jce.provider.BouncyCastleProvider" na lista de permitidos
 
  
a entrada no arquivo deverá ficar parecida com isso:
+
:* Editar o arquivo [java_dir]\jre\lib\security\java.security e adiconar o provider "org.bouncycastle.jce.provider.BouncyCastleProvider" na lista de permitidos
....................................................
+
   
security.provider.1=sun.security.provider.Sun
+
    NOTA:  A entrada no arquivo deverá ficar parecida com isso:
security.provider.2=sun.security.rsa.SunRsaSign
+
            security.provider.1=sun.security.provider.Sun
security.provider.3=sun.security.ec.SunEC
+
            security.provider.2=sun.security.rsa.SunRsaSign
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
+
            security.provider.3=sun.security.ec.SunEC
security.provider.5=com.sun.crypto.provider.SunJCE
+
            security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.6=sun.security.jgss.SunProvider
+
            security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.7=com.sun.security.sasl.Provider
+
            security.provider.6=sun.security.jgss.SunProvider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
+
            security.provider.7=com.sun.security.sasl.Provider
security.provider.9=sun.security.smartcardio.SunPCSC
+
            security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
+
            security.provider.9=sun.security.smartcardio.SunPCSC
 +
            security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
  
2.3 - Substituir o "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files"
+
:* Substituir o "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files"
  
 
       Windows:
 
       Windows:
 
           Para o JRE 1.8x, usar o pacote no arquivo jce_policy-8.zip nesta pasta ou fazer o download
 
           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
 
           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
 
           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.
 
               "Java Cryptography Extension (JCE) Unlimited Strength"  na pesquisa do site.
Linha 104: Linha 93:
 
           Utilize os arquivos do pacote jce_policy-6.zip  
 
           Utilize os arquivos do pacote jce_policy-6.zip  
  
2.3.1 - Descompactar o zip
+
:* Descompactar o zip
 
 
2.3.2 - Copiar os arquivos "local_policy.jar" e "US_export_policy.jar" para a lasta "[java_dir]\jre\lib\security\"
 
        Nota: è recomendável salvar os arquivos originais antes da substituição
 
 
 
2.3.2 - 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 APRESENTADOS PELA FERRAMENTA RELACIONADOS A CONFIGURAÇÃO/INSTALAÇÃO DO JAVA
 
=================================================================================
 
  
Erro: java.lang.SecurityException: JCE cannot authenticate the provider BC
+
:* 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
  
Causa: java.security não configurado. (ver item 2.2 da instalaçã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)
+
: 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)

Edição das 17h58min de 25 de outubro de 2016

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

Certificado dig a1.jpg
  • 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.

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)