Rafael Kaminski Teixeira
Bronze DIVISÃO 5 , Autônomo(a)Olá colegas, hoje tive um problema com o assinador da DCTFWeb. No momento de assinar a transmissão do mesmo recebi um problema de Java bloqueando o procedimento e impedindo a assinatura, por consequência, o impossibilitando envio da DCTFWeb.
Bom, depois de algumas horas consegui resolver e venho compartilhar com os colegas, pode ser útil para alguém.
Quando vamos realizar uma assinatura digital por muitas vezes é necessário baixar um executável para o computador e abri-lo. Feito isso, assinamos digitalmente e esta pronto. Isto ocorre nos sites do ecac e de algumas juntas comerciais, exemplos que me recordo rapidamente.
Ocorre que o java passou a bloquear estes executáveis, impossibilitando a assinatura.
Quando há algum bloqueio de java basta ir nas configurações do mesmo, aba de "segurança" e adicionar o site na lista de "exceções". É provável que muitos dos colegas já devam ter feito este procedimento, em especial para acessar o site da conectividade.
O problema com os assinadores em formato de executáveis (aqueles que precisamos fazer o download) é que não necessariamente utilizam o mesmo domínio do site, ou seja, o java irá bloqueá-lo. Desta forma, há a necessidade de adicionar o domínio do assinador nas exceções do java, e foi neste ponto que demorei muito tempo para descobrir como fazer e venho compartilhar.
De forma resumida, para assinar a DCTFWeb, em específico, basta adicionar nas "exceções" do java o dominio: https://assinadoc.estaleiro.serpro.gov.br/
Resolvido.
-----------------------------------
Explicando de uma forma mais completa e que possa resolver problemas futuros, para descobrir o domínio de algum assinador, basta abrir o executável que baixamos com o bloco de notas, vai aparecer o código fonte do executável e o site/domínio que o assinador esta usando, o qual você precisará adicionar nas exceções do java.
Utilizando o meu problema como exemplo, ou seja, fazendo isso com o assinador do ecac, vai aparecer o seguinte:
"
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File -->
<jnlp spec="6.0+" codebase="https://assinadoc.estaleiro.serpro.gov.br/jws">
<information>
<title>Assinadoc JWS Demo Application</title>
<vendor>SERPRO</vendor>
<homepage href="index.html"/>
<description>Assinadoc JWS Demo Application</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" java-vm-args="-esa -Xnoclassgc"/>
<!--<jar href="assinadoc-jws/assinadoc-jws.jar" main="true"/>-->
<jar href="assinadoc-jws.jar" main="true"/>
</resources>
<application-desc main-class="serpro.assinadoc.jws.EntryPoint">
"
Podem ver que o domínio esta ali. Caso tenham este problema com outro assinador este procedimento pode resolver também.
Abraço a todos, espero ter sido útil a alguém.