Pular para o conteúdo principal

Resolução de problemas

Os modos de falha, organizados por onde são percebidos, como cada um se manifesta e onde ler a causa. Toda resposta HTTP traz um X-Correlation-Id; informe-o e o operador encontra na hora as linhas do log do Servidor e as linhas da Trilha de Auditoria da requisição.

O Servidor não inicia​

Toda inicialização recusada gera uma linha Critical citando a causa. A tabela completa está em Instalação do Servidor. A versão resumida:

SintomaCausa
Uma linha citando KeyRingProtector:Não há protetor, o valor não está em base64, a senha está errada ou não há chave RSA. Toda implantação precisa de um.
…the Key Ring Protector configured here opens none of themUm protetor trocado. Restaure o antigo, ou adicione-o em RetiredCertificates.
…could not be reached in 90 secondsO banco de dados nunca respondeu na inicialização. No Azure SQL, verifique o acesso pela rede pública ou o private endpoint (erro 47073).
…is behind the build … by N migration(s)MigrateOnStart está desligado e há migrações pendentes.
…has N migration(s) applied that this build does not containUma imagem mais antiga sobre um esquema mais novo, ou um banco de dados criado pelo Servidor 1.2.0 ou anterior.
Signer:ApiKey is required…Um endereço do Signer sem chave.
Sessions:MaxDuration abaixo de DefaultDuration, ou outra regra entre chavesUma configuração recusada; a linha cita as duas chaves.
No App Service, o container é encerrado e reiniciado em loop sem nada útil no logUma migração que demora mais que WEBSITES_CONTAINER_START_TIME_LIMIT (padrão de 230 s). Defina-o como 1800.

O Servidor iniciou, mas não funciona​

SintomaO que éOnde olhar
/ responde 200, /healthz responde 503O banco de dados caiu depois da inicialização. O contrato falha; o cofre está fechado.A connection string, a disponibilidade do SQL Server.
Toda assinatura e importação no cofre é recusada, enquanto as estações de trabalho assinam normalmenteA trava do cofre: o Servidor subiu antes do banco de dados.O aviso VaultReadiness na inicialização. O cofre se abre no primeiro uso depois que o banco de dados responde.
Todo Certificado do Cofre aparece como UNTRUSTED; importações recusadasNão há licença do PKI SDK, ou ela expirou.A linha Critical de LacunaPkiRuntime na inicialização. Defina Certificates__Validation__License.
Todo certificado no Servidor aparece como UNTRUSTED, embora a licença esteja válidaNenhuma âncora consegue terminar uma cadeia: UseIcpBrasil desligado sem nenhuma Autoridade Certificadora Confiável que seja raiz, ou um sistema de arquivos somente leitura sem /tmp gravável, de modo que a licença não pôde ser carregada.As duas linhas Critical sobre o conjunto de âncoras; monte um tmpfs sobre /tmp.
Uma configuração não tem efeitoUma das sete chaves que podem ser sobrepostas foi salva na tela Configurações e usuários, e a camada do banco de dados prevalece silenciosamente./admin/settings; restaure os padrões implantados.
O console administrativo em http:// nunca conclui o loginUm cookie sem Secure em um link que a plataforma converte para HTTPS.No App Service, --https-only true. Atrás de um proxy, ASPNETCORE_FORWARDEDHEADERS_ENABLED=true.
Toda linha de auditoria registra o endereço do proxyOs forwarded headers estão desligados.ASPNETCORE_FORWARDEDHEADERS_ENABLED=true.
Linhas KeyRingProvider[48] ou XmlKeyManager[24] em um Servidor que iniciou sem errosO banco de dados está inacessível, não o protetor./healthz.
Uma linha Critical com uma linha de auditoria inteiraO banco de dados recusou uma gravação de auditoria; a linha só existe nessa entrada do log.Guarde o fluxo de log. O console mostra um alerta.
Um banner de aviso em todas as páginas administrativasUseLacunaTestPki está ligado, ou uma gravação de auditoria falhou.Desligue a PKI de testes em tudo que não seja uma máquina de desenvolvimento.

Estações de trabalho​

SintomaO que éOnde olhar
Instalação com código de saída 1603, log cita SERVER_URLA condição de inicialização: URL vazia ou sem esquema.Passe SERVER_URL=https://….
Instalação com código de saída 1603, log diz que uma versão mais nova está instaladaUm downgrade.Desinstale antes; a máquina volta como uma máquina nova.
A instalação é revertida em Starting servicesO serviço se recusou a iniciar: uma licença que o SDK não lê, uma INSTALLER_KEY que não pode ser interpretada ou um valor de Registro do tipo errado.Log de eventos Aplicativo, origem TrustBridge Workstation Service.
Instalada, nunca aparece na fila de admissão, nada no ServidorA URL do Servidor está errada, ou uma GPO a está sobrepondo, ou a máquina não confia na cadeia TLS.A linha Server:Url is …, supplied by … do serviço na inicialização; HKLM\Software\Policies\TrustBridge em um PowerShell de 64 bits.
Nunca aparece, e o log da máquina diz que a requisição de admissão foi recusadaUma de quatro causas: revogada, uma Installer Key em que o Servidor não confia, requisições demais do endereço dela ou fila cheia. O Servidor deliberadamente não diz qual.As duas últimas se resolvem sozinhas. Procure uma linha revogada na tela Estações de Trabalho.
Está na fila, e o Tray mostra Ainda não admitidaNão é uma falha.Admita-a em /admin/admission.
Admitida, mas não se conecta; o log do Servidor diz Protocol version 2 is newer than this server's supported windowA estação de trabalho foi atualizada antes do Servidor.Atualize o Servidor.
Admitida, mas não se conecta; o log do Servidor diz A workstation assertion was refused: Expired ou NotYetValidO relógio da máquina está mais de 60 s fora.A sincronização de horário da máquina.
Todo certificado aparece como UNTRUSTEDNão há licença da PKI, ou ela expirou, ou nenhuma âncora consegue terminar uma cadeia.A linha Critical na inicialização do serviço; PKI_LICENSE por reparo ou por Diretiva de Grupo e, em seguida, reinicie o serviço.
Um certificado aparece como UNTRUSTED enquanto a licença está em ordemO emissor dele não está no conjunto de âncoras da máquina.Confiar no emissor, no Registro de Certificados, que adiciona uma Autoridade Certificadora Confiável que chega à máquina. Uma máquina no protocolo 1 precisa de arquivos de âncora.
Um certificado aparece como STALENão foi possível baixar a LCR da AC dele por mais tempo que a janela de tolerância (24 h).Se a máquina consegue acessar a AC.
Um token está conectado, mas nenhum certificado apareceUm middleware incomum, fora da lista fornecida; ou um módulo citado em Certificates:Pkcs11:Modules que não carrega.O log do serviço cita o módulo. A varredura também detecta, em até um minuto, um gatilho de mudança perdido.
O Tray App não aparece depois da instalaçãoEle inicia no próximo login.Saia e entre de novo, ou inicie Tray App\TrustBridge.TrayApp.exe.
O Tray App diz Sem conexãoEle não conseguiu abrir o pipe do serviço. O Workstation 1.0.0 tinha um bug aqui, corrigido na 1.0.1.Atualize o pacote da estação de trabalho.
Uma solicitação de PIN continua na tela depois de o cliente já ter recebido um erroEsperado: o timeout da solicitação no Servidor (60 s) é menor que o do Tray (90 s), e um Servidor que desistiu não consegue fechar a solicitação.Nada.
Uma alteração de diretiva não teve efeitoO Registro é lido uma vez, na inicialização.Restart-Service "TrustBridge Workstation Service".
Uma máquina perfeitamente configurada parece vazia no RegistroUm PowerShell de 32 bits redirecionado para WOW6432Node.Use um PowerShell de 64 bits.
Todo certificado de uma máquina aparece como ACTIVE, inclusive os de exemploUseLacunaTestPki ligado, ou uma seção FakeTokens no arquivo de configuração.Remova os dois de qualquer máquina em que alguém assine.

Erros na aplicação cliente​

Decida com base em error.code. O vocabulário completo está na página API REST.

CódigoCausa comumO que fazer
401 UNAUTHORIZEDChave ausente, digitada errado, revogada ou expirada, ou uma aplicação desativada. Todas recusadas da mesma forma.Verifique a chave na tela Aplicações Cliente.
401 SESSION_EXPIREDA sessão expirou por inatividade, foi desativada, foi substituída por uma mais nova do mesmo CPF, esgotou a Franquia de Assinaturas ou estava vinculada ao cofre durante um reinício do Servidor.Crie uma nova sessão. Nada indica qual foi o caso; isso é deliberado.
400 INVALID_REQUEST em POST /v1/sessions citando cpfOs dígitos verificadores não conferem, ou é um valor de dígitos repetidos.Corrija o CPF na origem. Valide os dígitos verificadores no seu formulário.
400 INVALID_REQUEST em uma assinaturaNão há sessionId na requisição.Envie o id que POST /v1/sessions retornou. Repetir sem alterações falha da mesma forma.
404 CERT_NOT_FOUNDNenhum certificado do CPF está disponível em lugar nenhum: o token não está conectado, a máquina não está admitida ou conectada, ou o CPF nunca recebeu um certificado.O Registro de Certificados e a tela Estações de Trabalho.
422 CERT_NOT_ACTIVETodo certificado do CPF está EXPIRED, REVOKED, UNTRUSTED ou STALE. UNTRUSTED muitas vezes significa que as âncoras da implantação não cobrem o emissor.GET /v1/certificates/info para ver o veredito; o Registro de Certificados para ver o emissor.
401 INVALID_PINPIN errado, ou uma estação de trabalho com outro PIN em uso.Pergunte ao titular. Cinco falhas em quinze minutos bloqueiam o CPF.
422 PIN_NOT_AVAILABLEA solicitação no Tray expirou, foi recusada ou não havia ninguém conectado para respondê-la; ou um Certificado do Cofre não pôde ser aberto.O titular precisa estar na máquina dele com o Tray App em execução.
422 WORKSTATION_OFFLINEToda máquina com um certificado ativo do CPF está offline, depois da tolerância de reconexão, em uma assinatura.A tela Estações de Trabalho.
422 CERT_INCOMPLETE_IDENTITYO certificado não traz endereço de e-mail.Envie email ao criar a sessão.
422 SIGN_TIMEOUTA assinatura não terminou dentro de Signing:RequestBudget (60 s). Uma máquina lenta ou um Signer lento.A tela Operações de Assinatura mostra a etapa alcançada.
422 SIGNER_REJECTEDO Lacuna Signer recusou o documento; details traz a mensagem dele.O próprio documento.
502 SIGNER_ERRORNão foi possível acessar o Signer.A disponibilidade do Signer, Signer:BaseAddress.
409 DOCUMENT_NOT_READY que nunca se resolveA assinatura ainda está em andamento, ou uma execução foi interrompida por um reinício e o Signer ainda mantém o documento aberto.A tela Operações de Assinatura; RUN_STRANDED.
429 SERVER_BUSY no uso normalThrottle:ConcurrencyLimit baixo demais para a implantação; não é um problema do cliente.Aumente-o. Em um pico real, tente de novo com backoff e jitter.
429 TOO_MANY_PIN_ATTEMPTSO bloqueio por CPF.Espere a janela (15 min) passar. Tentar de novo piora a situação.
404 ENDPOINT_NOT_FOUNDUma rota sem o prefixo /v1.Corrija a URL.
413 DOCUMENT_TOO_LARGEAcima de Signing:MaxDocumentBytes (10 MB por padrão).Um documento menor, ou aumente o limite sabendo o que isso custa.
500 INTERNAL_ERROR em uma assinatura, com could not be opened by the reader this platform signs with no log do ServidorUm Certificado do Cofre importado antes de existir a verificação do formato legado, protegido com pkcs5PBES2.Exporte de novo com openssl pkcs12 -export -legacy e importe outra vez. Isso exige o arquivo original.

Resultados de assinatura na tela Operações de Assinatura​

Uma operação Com falha traz um código de falha e a etapa que alcançou: o 202 do cliente pode ter sido respondido muito antes. RUN_STRANDED significa que o Servidor foi reiniciado durante a execução e uma varredura a encerrou. Uma execução que falhou depois de o documento chegar ao Signer deixa um documento aberto lá, que a busca informa como 409 até que a retenção do próprio Signer ou a limpeza o encerre como 422.

Como obter ajuda​

Envie ao suporte da Lacuna Software o X-Correlation-Id da requisição que falhou, a versão do Servidor exibida no rodapé do console administrativo, a versão do pacote da estação de trabalho mostrada na tela Estações de Trabalho e as linhas relevantes do log do Servidor. Para um problema em uma estação de trabalho, acrescente as entradas do log de eventos Aplicativo com origem TrustBridge Workstation Service. Nunca envie um PIN, uma chave de API, o Protetor do Chaveiro nem a licença.

Ver em Markdown