Histórico de versões do Lacuna TrustBridge
O TrustBridge tem duas linhas de release, lançadas de forma independente:
- Servidor: a imagem de container
trustbridge-server:<version>. As entradas têm o título Servidor X.Y.Z. - Estação de Trabalho: o Workstation Service e o Tray App num único MSI,
TrustBridge-Workstation-<version>-x64.msi. As entradas têm o título Estação de Trabalho X.Y.Z.
Um Servidor e as suas estações de trabalho conversam por um protocolo das estações de trabalho versionado. Um Servidor aceita o próprio protocolo e o anterior, então a ordem habitual é: atualize primeiro o Servidor, depois a frota, com no máximo um protocolo de diferença. O Workstation 1.5.0 é a exceção: ele e o Servidor 1.13.0 são atualizados juntos.
| Servidor | Protocolos das estações de trabalho aceitos |
|---|---|
| 1.15.0 – 1.24.0 | 5–6 (uma máquina no protocolo 5 se conecta e atende todas as sessões, exceto as de PIN por transação) |
| 1.13.0 – 1.14.1 | 4–5 (uma máquina no protocolo 4 se conecta e assina pelas sessões já vinculadas a ela, mas nunca recebe uma sessão nova) |
| 1.9.0 – 1.12.0 | 3–4 |
| 1.7.0 – 1.8.0 | 2–3 |
| 1.3.0 – 1.6.1 | 1–2 |
| 1.0.1 – 1.2.0 | 1 (nenhuma release da Estação de Trabalho usa esse protocolo) |
| Estação de Trabalho | Protocolo | Servidor necessário |
|---|---|---|
| 1.8.1 – 1.10.0 | 6 | 1.20.0 ou posterior (o Servidor 1.15.0 a 1.19.0 a mantém conectada, mas não recebe o Relatório da Estação de Trabalho; o Servidor 1.23.0 ou posterior mostra o console que o Workstation 1.10.0 informa) |
| 1.8.0 | 6 | 1.20.0 ou posterior (o Servidor 1.15.0 a 1.19.0 a admite, mas encerra a conexão dela quando o Relatório da Estação de Trabalho passa de 32 KB) |
| 1.6.0 – 1.7.0 | 6 | 1.15.0 ou posterior |
| 1.5.0 | 5 | 1.13.0 a 1.24.0 (a partir do Servidor 1.15.0, nunca é escolhida para uma sessão de PIN por transação) |
| 1.4.0 – 1.4.2 | 4 | 1.9.0 a 1.12.0 (o Servidor 1.13.0 a 1.14.1 a admite, mas não lhe envia sessões novas; o Servidor 1.15.0 a recusa) |
| 1.1.0 – 1.3.0 | 3 | 1.7.0 a 1.12.0 (1.8.0 ou posterior recomendado a partir do Workstation 1.2.0) |
| 1.0.0 – 1.0.1 | 2 | 1.3.0 a 1.8.0 |
Uma máquina com protocolo mais novo que a janela do seu Servidor é recusada no handshake, não recebe a
licença da PKI, e todos os certificados dela aparecem como UNTRUSTED até o Servidor ser atualizado.
Uma máquina com protocolo mais antigo que a janela é recusada por precisar de atualização.
Uma release do Servidor que atualiza o modelo do banco de dados aplica as suas migrações na inicialização, e a versão anterior passa a recusar a inicialização com esse banco: voltar atrás exige restaurar o backup do banco feito antes da atualização, e não basta trocar a tag da imagem.
Workstation 1.10.0 (2026-10-26)
Pacote TrustBridge-Workstation-1.10.0-x64.msi, protocolo 6 das estações de trabalho.
Notas de atualização: distribua-o com o Servidor 1.20.0 ou posterior, como o 1.9.0, e com o
Servidor 1.23.0 ou posterior para ver o que ele acrescenta. As duas novidades usam o protocolo 6 sem
mudá-lo: um Servidor anterior ignora o console e registra um pedido de PIN de início de sessão que a
máquina não conseguiu mostrar apenas como Undeliverable. Nenhuma chave de configuração foi
adicionada. Nos modelos de Política de Grupo atualizados, a explicação de Informar a situação desta
máquina ao TrustBridge Server diz que o relatório traz a conta conectada no console.
Novas funcionalidades
- O Relatório da Estação de Trabalho traz o console da máquina: a Conta no console conectada na sessão de console (o SID dela, e o nome
DOMAIN\userquando ele pode ser resolvido), ou ninguém; se essa sessão está bloqueada; se há um Tray App conectado ali, e a versão dele; e quantas outras sessões têm um Tray App conectado, sem citar as contas delas. O próprio Workstation Service lê a conta e o bloqueio, então eles são informados mesmo sem nenhum Tray App em execução. No Servidor 1.23.0 ou posterior, isso preenche a coluna Conta no console da tela Estações de Trabalho. Veja o console administrativo. - O console é informado de novo poucos segundos depois de uma entrada ou saída do Windows, de um bloqueio ou desbloqueio, de uma troca de usuário no console e de um Tray App que se conecta ou se desconecta, e não enquanto ele continua igual.
- O console acompanha a opção do relatório: com
WorkstationReport:Enableddesligado, nem a conta nem nenhuma outra parte dele sai da máquina. Veja Configuração da estação de trabalho. - O Workstation Service diz por que não conseguiu mostrar um pedido de PIN de início de sessão (
NO_TRAY), como já faz para uma Autorização de assinatura desde o Workstation 1.9.0: um Tray App numa sessão que não é a do console (Área de Trabalho Remota, ou um console trocado), nenhum Tray App conectado em lugar nenhum, uma release sendo instalada, um Tray App do console que não está lendo, o Tray App fechado com o pedido na tela, ou um Tray App reiniciado na sessão enquanto o pedido esperava a vez. Um pedido em que todos os certificados são A1 sem PIN do Certificado A1 definido dizNO_A1_PIN. O Servidor 1.23.0 ou posterior mostra o motivo por extenso na aba Eventos da máquina.
Melhorias
- As linhas de log do Workstation Service para um pedido que ele não conseguiu mostrar dizem qual foi o caso: um Tray App em outra sessão ou nenhum em sessão alguma, e um console que mudou enquanto o pedido esperava a vez, em vez de um Tray App que não está lendo.
Servidor 1.24.0 (2026-10-26)
Imagem trustbridge-server:1.24.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: distribua-o com qualquer Workstation: o Contrato SignSession, os códigos de
erro dele e o protocolo das estações de trabalho não mudaram, e nenhuma chave de configuração foi
adicionada. Nenhuma migração é nova, mas no SQL Server o índice da Trilha de Auditoria que o Servidor
1.23.0 cria (IndexTheAuditLogByWorkstationAndTime) passa a ser construído online onde a edição
permite: com baixa prioridade no Banco de Dados SQL do Azure, na Instância Gerenciada de SQL do Azure e
no SQL Server 2022 ou posterior Enterprise ou Developer, online nas versões anteriores do Enterprise, e
offline no Standard, no Express e no Web. Uma construção offline segura as gravações na Trilha de
Auditoria enquanto roda, e linhas gravadas nesse meio-tempo podem se perder por timeout; então uma
implantação na 1.22.0 ou anterior deve atualizar direto para a 1.24.0, e uma com uma Trilha de
Auditoria grande numa edição que constrói offline, ou no PostgreSQL, deve atualizar num horário
tranquilo. Um banco que já aplicou o índice com a 1.23.0 não precisa de nada, e voltar para a 1.23.0
é só trocar a tag da imagem. Veja
Atualização para o Servidor 1.23.0 ou posterior.
Novas funcionalidades
- A Trilha de Auditoria mostra o código de erro com que uma chamada da API foi respondida, depois do status HTTP na célula Evento:
GET /v1/certificates/info 401 SESSION_EXPIRED. O status sozinho não diz qual erro quem chamou recebeu (UNAUTHORIZEDeSESSION_EXPIREDsão ambos 401,SERVER_BUSYeTOO_MANY_PIN_ATTEMPTSambos 429), e o código é o que um integrador informa ao suporte. A linhaapi.callguarda o código nos detalhes comoerrorCode; a mensagem e os detalhes da resposta não são guardados. Uma chamada respondida sem envelope de erro não tem código, e uma linha gravada antes desta release aparece como antes. O código continua em inglês onde quer que apareça. Veja o console administrativo. - Uma Assinatura de teste que falhou na etapa de assinatura diz por quê, pelo código do contrato: uma frase escolhida pelo código, nos dois idiomas, com o código e a resposta do contrato ao lado.
CERT_INCOMPLETE_IDENTITYaponta para o campo Endereço de e-mail;PIN_NOT_AVAILABLEcita o PIN do titular, na maioria das vezes recusado ou não respondido no Tray App, ou um token bloqueado;SIGN_TIMEOUTdiz que a chave do titular pode já ter assinado;TOO_MANY_PIN_ATTEMPTSé o bloqueio do CPF. Uma execução cujo prazo passou enquanto esperava a confirmação de um titular com PIN por transação diz isso. Um lote diz o motivo para cada documento que falhou. As frases das outras etapas não mudaram. Veja Solução de problemas.
Servidor 1.23.0 (2026-10-26)
Imagem trustbridge-server:1.23.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: ReportWorkstationConsole, IndexTheAuditLogByWorkstationAndTime, RecordTheRunsFailureCause)
Notas de atualização: distribua-o com qualquer Workstation: o console é uma parte opcional do Relatório da Estação de Trabalho, então o protocolo 6 não muda, e o Contrato SignSession não mudou. Uma máquina numa release do Workstation anterior à 1.10.0 não informa o console, e a célula dela mostra Precisa da Estação de Trabalho 1.10.0. Nenhuma chave de configuração foi adicionada. No SQL Server, esta release constrói o novo índice da Trilha de Auditoria offline, o que segura as gravações na Trilha de Auditoria enquanto roda: atualize para o Servidor 1.24.0, que constrói o mesmo índice online onde a edição permite. Voltar para a 1.22.0 exige o backup do banco feito antes da atualização. Veja Atualização para o Servidor 1.23.0 ou posterior.
Novas funcionalidades
- A tela Estações de Trabalho diz quem está no console de cada máquina. Uma coluna Conta no console substitui o sistema operacional, que continua no cabeçalho do painel de detalhes: a conta conectada no console com o que há de errado com o Tray App dela ao lado, o mais grave primeiro (sem Tray, um Tray App de versão diferente da do service, bloqueada), ou Ninguém no console. Uma máquina desconectada mostra quando informou isso, e uma com o relatório desligado aparece como Sem relatório. O Servidor guarda o último console informado, também para uma máquina desconectada ou revogada, e não grava linha na Trilha de Auditoria quando ele muda. Veja o console administrativo.
- Um chip de filtro Conta no console, sem Tray lista as máquinas admitidas e conectadas cujo titular está conectado no console sem nenhum Tray App em execução ali, então uma máquina que recusaria uma chamada de PIN por transação é encontrada antes que alguém chame (
show=console-no-tray). - As recusas com problema de cada máquina nas últimas 24 horas aparecem num chip N recusas (24h) na célula de situação, e um chip de filtro Com recusas (24h) lista as máquinas admitidas que têm um (
show=refusals). Uma recusa do titular e uma Aplicação Cliente que desistiu de esperar não contam; um PIN errado conta. - A busca encontra uma máquina pela Conta no console, e pelo nome, CPF ou CNPJ de um titular cujo certificado ela guarda; um e-CNPJ também pela Empresa. Um CPF ou CNPJ digitado com pontos, traço e barra também é encontrado, aqui e nas buscas das telas Sessões de Assinatura e Operações de Assinatura.
- O painel de detalhes tem uma seção do console: a conta com o SID, o bloqueio, a situação e a versão do Tray App (com uma observação quando ela é anterior à do service), e as outras sessões com um Tray App, ou por que a máquina não mostra nada.
- A aba Eventos do painel de detalhes descreve cada Recusa da Estação de Trabalho por extenso, com o que perguntar ao titular quando ele pode resolver, e o código e a sessão em letra menor ao lado. Uma recusa do titular e uma Aplicação Cliente que desistiu são marcadas como escolha de alguém; toda outra recusa, um PIN errado inclusive, é um problema da máquina. Uma opção Somente recusas lista as últimas recusas da máquina em vez dos últimos eventos, e já vem ligada quando o painel abre numa máquina com uma recusa com problema nas últimas 24 horas. Ver tudo na Trilha de Auditoria abre as linhas da máquina na Trilha de Auditoria.
- A Trilha de Auditoria tem um filtro Id da Estação de Trabalho que encontra todas as linhas de uma máquina, de todos os tipos de evento e também de uma máquina removida, e se combina com os outros filtros; um link
workstationId=o preenche. pin.prompt-answeredtrazdetailquando um pedido de PIN de início de sessão foi respondidoUndeliverableporque nenhum Tray App pôde mostrá-lo, no mesmo formato quesigning.authorization-refusedtraz desde o Servidor 1.22.0, com um motivo só dele:NO_A1_PIN. Uma máquina anterior ao Workstation 1.10.0 não envia esse detalhe. A recusa vista pelo cliente não muda.- A tela Sessões de Assinatura diz quem, por qual aplicação e em qual máquina. O titular aparece pelo nome que o certificado traz, com o CPF embaixo; uma coluna Aplicação Cliente mostra a aplicação que criou a sessão; a máquina vinculada é um link para o painel dela na tela Estações de Trabalho, com a Conta no console embaixo. Uma sessão ativa numa máquina com uma Recusa da Estação de Trabalho com problema nas últimas 24 horas fica destacada e diz quantas foram. A busca também encontra o nome do titular, a Aplicação Cliente e o hostname da máquina. Veja o console administrativo.
- Um chip Criações recusadas (24h) na tela Sessões de Assinatura (
show=refused) lista as criações de sessão recusadas nas últimas 24 horas: quando, o titular com o CPF, a Aplicação Cliente, o motivo por extenso com o código, e cada máquina a que se pediu o PIN com a resposta dela, ou que nenhuma máquina foi consultada. São listadas as 200 mais recentes, e a tela avisa quando havia mais. - A tela Operações de Assinatura diz o que deu errado numa execução. Uma falha aparece por extenso, com o que perguntar ao titular quando ele pode agir, e diz se o token do titular assinou (e então pode existir um documento assinado no serviço de assinatura), se não assinou ou se não se sabe. Uma execução pendente há mais tempo do que uma execução ativa pode durar fica destacada e diz o que está esperando. Um filtro Aplicação Cliente fica ao lado da busca, o titular aparece pelo nome com o CPF embaixo, e a máquina é um link para o painel dela na tela Estações de Trabalho. Veja o console administrativo.
- Uma execução com falha registra o que a estação de trabalho respondeu ao lado do código, já que quatro causas diferentes terminam todas como
PIN_NOT_AVAILABLE; uma execução que falhou antes da atualização aparece só pelo código. - Uma Assinatura de teste pode assinar mais de um documento: uma quantidade em Documentos, de 1 a 50, ou
Signing:MaxBatchItemsquando ele é menor, assina cópias numeradas numa única chamada de lote. Os documentos assinados voltam num único ZIP,test-signatures.zip, e cada um que não foi assinado aparece com a etapa em que falhou. Uma execução de um documento só continua sendo a chamada única de sempre. A linha de auditoriatest_signature.*registra quantos documentos foram pedidos e, numa execução concluída, quantos foram assinados. Veja o console administrativo.
Melhorias
- O seletor de filtro da tela Estações de Trabalho virou uma linha de chips, cada um com quantas máquinas ele contém, com a busca aplicada. Os links
show=da faixa de situação e do Painel continuam selecionando o seu. - O seletor de filtro da tela Sessões de Assinatura virou uma linha de contagens que funcionam como filtros: Todas, Ativas, Ativas com recusas (24h), Encerradas e Criações recusadas (24h).
- O seletor de filtro da tela Operações de Assinatura virou uma linha de contagens: Todas, Pendentes, Com falha (24h) e Concluídas (24h). A menos que uma busca as restrinja, as duas contagens de 24 horas incluem todas as execuções terminadas no período, além das 200 mais recentes que a tabela lista. Com Com falha (24h) escolhido, uma linha de chips agrupa as falhas por causa.
- A página da Assinatura de teste devolve todos os campos preenchidos depois de uma execução, a chave de API e o PIN inclusive, e Assinar de novo mostra o formulário preenchido, então uma segunda execução é um clique. A página da resposta é marcada como
no-store, então o navegador não a guarda; num computador compartilhado, feche a aba ao fim da demonstração. O Servidor continua sem registrar no log a chave e o PIN, e esquece os dois assim que a página é gerada.
Servidor 1.22.0 (2026-10-25)
Imagem trustbridge-server:1.22.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: distribua-o com qualquer Workstation. Nada do que o cliente vê mudou: uma
chamada de PIN por transação recusada porque não havia a quem perguntar continua sendo
PIN_NOT_AVAILABLE com details no Tray at the console. Nem o contrato, nem o schema, nem a
configuração mudaram, então voltar para a 1.21.0 é só trocar a tag da imagem. Uma máquina anterior
ao Workstation 1.9.0 não envia o detalhe, e as linhas dela mostram detail: null.
Novas funcionalidades
- A linha de auditoria
signing.authorization-refusedtrazdetailnumNO_TRAY: qual foi o motivo da máquina (TRAY_NOT_AT_CONSOLE,NO_TRAY_RUNNING,TRAY_CANNOT_SHOW_TRANSACTIONS,INSTALLING_RELEASE,TRAY_NOT_READING,TRAY_DETACHEDouSERVICE_STOPPING), a sessão do Windows no console, as sessões em que havia um Tray App conectado e o build do Tray App. Descobrir o motivo antes exigia alguém na máquina. Ele é nulo em todos os outros motivos, e um motivo que este Servidor não conhece é registrado como veio. Veja Por que nenhum Tray App pôde ser consultado. - A linha de log do Servidor para uma autorização recusada cita o motivo do detalhe ao lado do motivo da recusa.
Correções de bugs
- Os botões Revogar e Remover do painel de detalhes da estação de trabalho ficam numa linha própria, abaixo do cabeçalho; na mesma linha do hostname e do chip de situação, os rótulos deles escapavam dos contornos e cobriam o chip.
Workstation 1.9.0 (2026-10-25)
Pacote TrustBridge-Workstation-1.9.0-x64.msi, protocolo 6 das estações de trabalho.
Notas de atualização: distribua-o com o Servidor 1.20.0 ou posterior, como o 1.8.0, por causa do
Relatório da Estação de Trabalho. O novo detalhe do NO_TRAY usa o protocolo 6 sem mudá-lo, e um
Servidor anterior à 1.22.0 o ignora. Nenhuma chave de configuração foi adicionada. O pacote cria um
atalho no menu Iniciar para todos os usuários.
Novas funcionalidades
- Um atalho no menu Iniciar, TrustBridge, instalado para todos os usuários e removido com o pacote, abre a janela do Tray App: se já há um Tray App em execução na sessão, ele traz essa janela para a frente; se não há, inicia um. Um Tray App que travou, parou, foi fechado por um reparo ou foi encerrado com Sair não fica mais ausente até a próxima entrada no Windows. Veja Instalação da estação de trabalho.
- Uma inicialização ao lado de um Tray App que não responde em 5 segundos o encerra, só naquela sessão, e toma o lugar dele; a substituição é registrada como
Error, que chega ao Relatório da Estação de Trabalho. Um Tray App que não pode ser encerrado continua em execução, e uma inicialização pelo atalho avisa isso antes de sair. - O Workstation Service diz por que respondeu
NO_TRAYa uma Autorização de assinatura: um Tray App numa sessão que não é a do console (Área de Trabalho Remota, ou um console trocado), nenhum Tray App conectado em lugar nenhum, um Tray App do console antigo demais para mostrar uma transação, uma release sendo instalada, um Tray App do console que não está lendo, o Tray App fechado com o pedido na tela, ou o service parando. Junto vão a sessão do console, as sessões em que havia um Tray App conectado e o build do Tray App. O Servidor 1.22.0 registra isso na Trilha de Auditoria, e o Servidor 1.23.0 mostra por extenso na aba Eventos da máquina.
Melhorias
- A inicialização automática na entrada do Windows passa
--background, assim como a reinicialização feita pelo service depois de uma instalação ou atualização: iniciado assim, o Tray App mostra só o ícone, como antes, e sai sem aviso se já houver na sessão um Tray App que responde. Iniciado pelo atalho ou pelo executável, ele abre a janela. - A linha de log do Workstation Service para um pedido que ele não conseguiu mostrar diz qual foi o caso: um Tray App em outra sessão, nenhum em sessão alguma, ou um que não consegue mostrar uma transação.
Workstation 1.8.1 (2026-10-24)
Pacote TrustBridge-Workstation-1.8.1-x64.msi, protocolo 6 das estações de trabalho.
Notas de atualização: distribua-o assim que puder. Nada muda na comunicação e nenhuma chave de configuração foi adicionada. Ao contrário do 1.8.0, ele continua conectado a um Servidor de 1.15.0 a 1.19.0, que não recebe o Relatório da Estação de Trabalho; é o Servidor 1.20.0 ou posterior que recebe e mostra o relatório. A atualização reinicia um Tray App que já tem a correção, então a própria atualização não dispara o problema.
Correções de bugs
- Fechar um pedido de PIN não encerra mais o Tray App. Num Tray App cuja janela não tinha sido aberta desde a entrada no Windows, ou desde que uma atualização o reiniciou, um pedido de PIN que se fechava (inclusive um Pedido de PIN na inserção respondido, recusado ou expirado) o encerrava sem nenhuma linha de log, e até a saída do Windows uma chamada de assinatura de PIN por transação naquela máquina era recusada (
PIN_NOT_AVAILABLE) e abrir o Tray App de novo não fazia nada. Agora ele só se encerra pelo Sair do menu, pela janela fechada quando não tem ícone por onde voltar, ou pela saída do Windows. - O encerramento do Tray App não pode mais travar: ele espera no máximo 3 segundos pela finalização e então libera a sessão, então a próxima inicialização abre um Tray App.
- Uma exceção que nada capturou é registrada pelo Tray App como
Error, com o tipo e a mensagem, na aba Log; uma de que o Tray App se recupera também chega ao Relatório da Estação de Trabalho. - Um Relatório da Estação de Trabalho fica abaixo de 32 KB até o Servidor aceitar um naquela conexão, então uma máquina com um relatório grande não perde mais a conexão com um Servidor anterior à 1.20.0. Depois que um relatório é aceito, os relatórios da conexão vão inteiros.
Melhorias
- A recusa de uma máquina revogada não diz mais que não há volta: desde o Servidor 1.21.0 um Administrador pode removê-la, e ela volta à fila de admissão como uma máquina nova. As linhas de log do Workstation Service e a recusa que o Tray App mostra, em inglês e em português, dizem isso.
Servidor 1.21.0 (2026-10-22)
Imagem trustbridge-server:1.21.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migração: RecordTheBindingsWorkstationId)
Notas de atualização: a forma do Contrato SignSession não mudou e nenhum código de erro é novo,
mas uma chamada de assinatura numa sessão ativa cuja máquina foi removida responde
422 WORKSTATION_OFFLINE com details workstation removed, assim como uma criação de sessão que
escolheu uma máquina removida no meio dela. Uma linha de auditoria workstation.disconnect pode
trazer o novo motivo removed. Nenhuma chave de configuração foi adicionada. Voltar para a 1.20.0
exige o backup do banco feito antes da atualização.
Novas funcionalidades
- Um Administrador pode Remover uma estação de trabalho pelo painel de detalhes dela na tela Estações de Trabalho, ao lado de Revogar, depois de digitar o hostname da máquina para confirmar. Os certificados dela, o Relatório da Estação de Trabalho e as Provas de PIN que falharam vão junto; todas as Sessões de Assinatura, Operações de Assinatura e linhas da Trilha de Auditoria em que ela aparece continuam.
- Uma máquina que já assinou pode ser removida: as listas de sessões e de operações passam a mostrá-la como estação de trabalho removida com o primeiro grupo do id dela, e a Atividade de assinatura do Painel fica igual antes e depois. Uma sessão ainda ativa nela não é encerrada nem cobrada; uma chamada de assinatura nela responde
WORKSTATION_OFFLINEaté ela expirar. - Uma máquina conectada é desconectada quando é removida. Se ainda estiver instalada, ela pede admissão de novo e chega à fila de admissão como uma máquina nova.
- Uma máquina revogada também pode ser removida, e a recusa dela vai junto com a linha: a mesma chave poderia pedir de novo e ser admitida.
- A fila de admissão oferece Remover numa linha que já foi admitida uma vez e voltou a pendente.
- Novo evento de auditoria
admin.workstation-removed, com a identificação completa da máquina. - O
deploy-docker.ps1implanta o Servidor no Docker com PostgreSQL, RustFS e REST PKI Core num único script: ele pede o nome do host, a licença da PKI e o endereço de e-mail do primeiro Administrador, gera todas as senhas, as chaves e o certificado TLS, inicia os containers e espera o/healthz. Uma segunda execução mantém todos os valores, então atualiza ou repara sem trocar as chaves, e-ConnectRestPkiconecta o Servidor ao REST PKI Core quando já existe uma chave Worker. Ele recusa uma imagem anterior à 1.20.0. Veja Instalação do Servidor.
Melhorias
- A confirmação de Revogar diz que uma máquina revogada continua recusada enquanto a linha dela existir, e não mais que a revogação é permanente.
- Revogar uma máquina que foi removida nesse meio-tempo informa que a máquina não existe mais e fecha o painel de detalhes.
Workstation 1.8.0 (2026-10-22)
Pacote TrustBridge-Workstation-1.8.0-x64.msi, protocolo 6 das estações de trabalho.
Notas de atualização: distribua-o com o Servidor 1.20.0 ou posterior. O protocolo continua no 6,
então o Servidor 1.15.0 ou posterior o admite, mas só o Servidor 1.20.0 aceita um Relatório da
Estação de Trabalho maior que 32 KB, e um Servidor anterior encerra a conexão de uma máquina cujo
relatório passe disso (uma com muitos tokens, middlewares ou erros). Há duas chaves de configuração
novas, cada uma com uma propriedade do MSI, ambas ligadas por padrão: WorkstationReport:Enabled
(WORKSTATION_REPORT) e Certificates:RestartFailedReaders (RESTART_FAILED_READERS). Um valor
diferente de 0 ou 1 é lido como desligado e registrado como Error. Os modelos de Política de
Grupo atualizados trazem Informar a situação desta máquina ao TrustBridge Server e Reiniciar uma
leitora de cartão que o Windows não conseguiu iniciar.
Novas funcionalidades
- O Relatório da Estação de Trabalho: o Workstation Service informa ao seu Servidor a licença da PKI e o runtime do .NET da máquina, as opções dela, os middlewares que carregou, os tokens e quanto falta para o PIN de cada um ser bloqueado, as leitoras que ficaram com falha e os erros que o Service e o Tray App registraram, agrupados pelo modelo da mensagem. Ele informa depois de cada handshake aceito e de novo pouco depois de qualquer mudança, e um relatório nunca custa à máquina a conexão, as assinaturas nem o Cache de PIN.
WorkstationReport:Enabled(propriedadeWORKSTATION_REPORTdo MSI, ou Política de Grupo) desliga o relatório numa máquina; o Servidor então esquece o que guardava sobre ela.- A aba Tokens diz quando o Windows não conseguiu iniciar uma leitora de cartão, onde antes dizia só que nenhum token foi visto.
- O Workstation Service reinicia uma leitora de cartão USB que o Windows deixou com falha (código de problema 10), até três vezes, e a aba Tokens mostra isso enquanto acontece; só então pede ao titular que desconecte a leitora e a conecte de novo. Ele nunca pede elevação nem reinicia o computador.
Certificates:RestartFailedReaders(propriedadeRESTART_FAILED_READERSdo MSI, ou Política de Grupo) desliga o reinício; a aba Tokens então pede de imediato que a leitora seja reconectada.- Conectar um dispositivo USB inicia uma verificação de certificados, então uma leitora que falha ao ser conectada é percebida na hora.
Melhorias
- A janela de PIN foi reorganizada: um cabeçalho com os detalhes do pedido logo abaixo, uma faixa laranja que encolhe conforme o prazo se esgota, e a contagem regressiva e os botões no rodapé.
- Um e-CPF aparece com o nome do titular, e não com o sujeito inteiro, no Pedido de PIN na inserção, na lista de certificados, na aba Tokens, nos balões e no seletor da janela de PIN; o seletor marca um certificado A1, que usa um PIN diferente do token do mesmo titular.
- O Pedido de PIN na inserção diz uma vez só o que fazer, e mostra o token e a leitora em duas linhas.
- O Tray App em português mostra (definido por Política de Grupo) quando uma política define a URL do Servidor, como o modelo de Política de Grupo.
Servidor 1.20.0 (2026-10-21)
Imagem trustbridge-server:1.20.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: SpellThumbprintsUpperCase, RecordWorkstationReports, ReportWorkstationReportingOff, ReportWorkstationTokens, ReportWorkstationFailedReaders, ReportWorkstationMiddleware, ReportWorkstationErrors, KeepTheReportingVersionAndAgeUnlistedErrors, AgeErrorGroupsByTheServersClock)
Notas de atualização: nada muda para uma implantação com SQL Server enquanto ela não pedir:
Database:Engine tem o padrão SqlServer, e nenhuma implantação passa de um banco para o outro.
SpellThumbprintsUpperCase passa para maiúsculas os thumbprints do Registro de Certificados, do Cofre
de Certificados e das Autoridades Certificadoras Confiáveis (a Trilha de Auditoria nunca é reescrita);
num banco com collation que diferencia maiúsculas de minúsculas, ela recusa, sem mudar nada, se duas
linhas diferirem só nisso, e cita a tabela. O Contrato SignSession não mudou, e a janela de protocolos
das estações de trabalho continua 5–6. Novas chaves de configuração: Database:Engine e
WorkstationReports:ErrorRetentionDays. Voltar para a 1.19.0 exige o backup do banco feito antes da
atualização.
Novas funcionalidades
- O PostgreSQL 16 ou posterior é um segundo banco suportado no Docker, escolhido uma vez por implantação em
Database:Engine(SqlServerouPostgreSql). Uma connection string que só o driver do outro banco lê, ou um valor que não cita nenhum dos dois, recusa a inicialização. No PostgreSQL, o Servidor cria o banco e o schema como faz no SQL Server. Os arquivos de implantação ganhamdocker-compose.postgresql.ymlePOSTGRES_PASSWORD, e os backups usampg_dump. O App Service continua no Azure SQL. Veja Instalação do Servidor. - O Relatório da Estação de Trabalho: o Servidor guarda o que cada máquina informou por último sobre a própria situação e mostra isso numa coluna Relatório da tela Estações de Trabalho, numa seção do painel de detalhes, em dois itens do Painel (uma leitora que ficou com falha, um token bloqueado) e na nova tela Relatórios das Estações de Trabalho, cujas linhas abrem as máquinas correspondentes. Uma máquina numa release do Workstation anterior à 1.8.0 não envia relatório e aparece como Sem relatório.
- Os grupos de erros informados aos quais nenhum relatório acrescentou nada há
WorkstationReports:ErrorRetentionDaysdias (30 por padrão) são apagados por uma limpeza diária. - A página de login lembra o caminho usado por último neste navegador: com o Acesso com Certificado ligado, um acesso aceito com certificado faz a página abrir direto na página do certificado da próxima vez (cookie
TrustBridge.SignInCredential), e uma chave Senha | Certificado digital nas duas páginas fica a um clique. - A página do certificado lista os certificados em linhas com titular, emissor, validade e um selo A3 ou A1, uma busca a partir de seis certificados, e os certificados expirados sob um título próprio.
Melhorias
- Todas as páginas de quem não está conectado (login, a página do certificado, as duas páginas de segundo fator e acesso negado) são desenhadas como um único cartão no mesmo estilo.
- O hub das estações de trabalho aceita mensagens de até 1 MB, por causa do Relatório da Estação de Trabalho; todos os outros hubs continuam com 32 KB.
- Os thumbprints são gravados e procurados em hexadecimal maiúsculo pelo próprio Servidor, e todo instante é gravado em UTC, nos dois bancos.
- A busca da Trilha de Auditoria encontra o nome de um autor sem diferenciar maiúsculas de minúsculas.
- Salvar as configurações da plataforma é repetido quando perde uma disputa com outro salvamento, em até três tentativas.
- A etapa do schema descreve com palavras próprias mais duas falhas: um limite de tempo de comando ou de lock definido no banco, e uma migração que perdeu um lock para outra sessão.
Servidor 1.19.0 (2026-10-20)
Imagem trustbridge-server:1.19.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: nem o contrato, nem o schema, nem a configuração mudaram, então voltar para a 1.18.0 é só trocar a tag da imagem. A frota não precisa de nada.
Melhorias
- O Painel tem um novo layout: três abas (Hoje, Este mês, Últimos 30 dias) escolhem uma frase como Hoje, até agora, foram assinados 11 documentos e 538 hashes. 4 Estações de Trabalho participaram. Documentos e hashes são sempre dois números, nunca somados.
- O que precisa de você, ao lado da frase, lista a Atividade de assinatura atrasada, as falhas das últimas 24 horas, as estações de trabalho recusadas até se atualizarem, as estações admitidas que não estão conectadas e os certificados que vão expirar, cada item com o mesmo link do chip correspondente na faixa de situação.
- Os painéis da janela são as etapas por que uma assinatura passa: quem pediu, quanto tempo o titular levou para autorizar, onde ela foi feita e o resultado. A tabela de tempos fica recolhida abaixo deles.
- A tela Estações de Trabalho tem um filtro Admitidas, desconectadas (
?show=admitted-offline), que é o que a linha das estações não conectadas do Painel abre; o filtro Desconectadas também lista as máquinas revogadas.
Correções de bugs
- A release oferecida a uma máquina e a última atualização dela ficam em duas linhas na célula Atualizações, em vez de aparecerem coladas.
Workstation 1.7.0 (2026-10-19)
Pacote TrustBridge-Workstation-1.7.0-x64.msi, protocolo 6 das estações de trabalho.
Notas de atualização: nada muda no Servidor: ele exige o Servidor 1.15.0 ou posterior, como o
1.6.0. Há uma chave de configuração nova, Tray:InsertionPrompt, com a propriedade INSERTION_PROMPT
do MSI, ligada por padrão. Os modelos de Política de Grupo atualizados trazem Pedir o PIN do token na
inserção, que prevalece sobre o valor do instalador.
Novas funcionalidades
- O Pedido de PIN na inserção: um token colocado numa leitora no console pede o PIN ali mesmo, e o que o token aceitar fica no Cache de PIN para todos os certificados dele, então as assinaturas seguintes não precisam de pedido.
- Ele é oferecido uma vez por token, enquanto o Tray App está conectado ao console, para um token com pelo menos um certificado
ACTIVE, que não seja A1, não esteja com o PIN bloqueado e não tenha PIN em cache. A janela mostra o token, a leitora e o titular (e a Empresa) de cada certificado, abre sem tomar o foco do teclado, e tem Agora não e a contagem regressiva de 90 segundos de todo pedido. Um PIN errado é digitado de novo na mesma janela. - Ele nunca chega ao Servidor e nunca autoriza uma chamada de assinatura de PIN por transação: essa chamada continua pedindo o PIN no Tray App toda vez.
Tray:InsertionPrompt(propriedadeINSERTION_PROMPTdo MSI, ou Política de Grupo) o desliga numa máquina, mantendo o balão do token.
Melhorias
- O Pedido de PIN na inserção cede a vez ao pedido de PIN de uma sessão ou a uma Autorização de assinatura, e é oferecido de novo quando a tela fica livre, se o token ainda estiver inserido e o PIN ainda não estiver em cache. Ele fecha quando o token é retirado, quando o PIN vai para o cache por outro caminho ou quando o Tray App se desconecta.
- Ele nunca abre atrás da tela de bloqueio: um token inserido com o console bloqueado é oferecido no desbloqueio.
- Com o Pedido de PIN na inserção ligado, o Tray App não mostra mais o balão de desbloqueio para um token que chega.
- O
Errordo log de inicialização para uma opção do registro ilegível cita a chave de configuração que ele passa a ler como desligada.
Servidor 1.18.0 (2026-10-19)
Imagem trustbridge-server:1.18.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: SignDocumentsWithRestPkiCore, WaiveTheSessionPin)
Notas de atualização: nada muda enquanto um Administrador não ligar uma das chaves novas: toda
Aplicação Cliente assina com o Signer, e o pin continua obrigatório em POST /v1/sessions. Há três
chaves de configuração novas, opcionais e todas as três ou nenhuma: RestPkiCore:Endpoint,
RestPkiCore:ApiKey (de uma aplicação com o papel Worker) e RestPkiCore:SecurityContextId;
algumas sem as outras, ou uma malformada, recusa a inicialização. Signing:StrandedAfter agora
precisa ser maior que o dobro de Signing:RequestBudget mais Signing:SignerCancelBudget: os padrões
atendem a isso, mas uma implantação que a definiu abaixo disso não inicia, e o erro cita a chave.
Antes de passar uma aplicação para o REST PKI Core, defina do lado dele o que ele decide (a política de
assinatura, a política de marcação de PDF da organização e um contexto de segurança que confie nas ACs
dos titulares), e deixe o Servidor acessar tanto o endpoint do REST PKI Core quanto o endereço do site
dele. Veja a página de configuração. Voltar para a 1.17.0 exige o backup do banco
feito antes da atualização.
Novas funcionalidades
- Assinar documentos com o REST PKI Core: um Administrador liga essa opção numa Aplicação Cliente na tela Aplicações Cliente, e a partir da próxima chamada de assinatura dela o REST PKI Core prepara e conclui cada PDF em torno da assinatura do titular, e guarda o documento assinado. A opção é recusada enquanto o Servidor não tiver a seção
RestPkiCore. - Nesse caminho as respostas mantêm a forma, o
signatureIdé o id do documento no REST PKI Core, eGET /v1/signatures/{signatureId}/documentbusca o documento no REST PKI Core. Os ids gerados pelo Signer continuam sendo buscados no Signer, como antes. - As falhas do REST PKI Core chegam com os códigos que já existiam: um certificado que ele recusa é
422 CERT_NOT_ACTIVE, antes de o titular receber o pedido; um PDF que ele não consegue assinar é422 UNSUPPORTED_DOCUMENT; uma indisponibilidade ou cota esgotada é502 SIGNER_ERROR; uma chave, papel ou contexto de segurança que ele recusa é500 INTERNAL_ERROR, com umErrorque diz qual; e um documento que ele não tem mais é422 DOCUMENT_UNAVAILABLE. - PIN dispensado na criação: numa Aplicação Cliente com o PIN por transação ligado, uma segunda opção torna o
pinopcional emPOST /v1/sessions. Uma sessão criada sem ele só é vinculada onde exatamente um certificado pode atendê-la, e, caso contrário, a resposta é400 INVALID_REQUEST; toda chamada de assinatura nela continua pedindo o PIN ao titular. Desligar o PIN por transação desliga essa opção também. - Uma Assinatura de teste segue a forma de assinar da aplicação cuja chave é digitada, e pode ser feita sem digitar o PIN.
- Novos eventos de auditoria
admin.application-document-signer-changed,admin.application-session-pin-waivedeadmin.application-session-pin-required. Toda linha que uma execução de assinatura grava trazdocumentSigner, esession.createdtrazpin:"proven"ou"none".
Melhorias
- No caminho do REST PKI Core, um lote executa cada documento da mesma forma, e um documento que falha é o
ERRORdaquele item, enquanto os outros continuam sendo assinados. - Um certificado sem endereço de e-mail pode assinar pelo REST PKI Core; só o Signer exige um.
Servidor 1.17.0 (2026-10-19)
Imagem trustbridge-server:1.17.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: CountSettledSigningActivity, SetTheSignatureAllowancePerClientApplication, FoldSigningTimingHistograms, ConstrainSigningActivity)
Notas de atualização: Sessions:SignatureAllowance não é mais lida, então uma implantação que a
define fica com sessões sem limite depois desta atualização até um Administrador definir o valor em
cada Aplicação Cliente que precisar de um: nada leva o valor da chave adiante. Logo depois de
atualizar, defina a Franquia de Assinaturas na tela Aplicações Cliente para cada aplicação cujas
sessões ela limitava, e depois remova a chave; um Servidor que ainda a encontra definida inicia, com um
Warning. Há uma chave de configuração nova, Dashboard:TimeZone (padrão UTC), o fuso IANA cuja
meia-noite começa um dia do Painel; um fuso que o Servidor não encontra, ou um id de fuso do Windows,
recusa a inicialização. A primeira inicialização conta a Atividade de assinatura sobre toda a Trilha de
Auditoria, e a limpeza da auditoria não apaga nada até isso terminar. O contrato não mudou. Voltar
para a 1.16.0 exige o backup do banco feito antes da atualização. Veja
a página de configuração.
Novas funcionalidades
- Franquia de Assinaturas por Aplicação Cliente: um Administrador a define, altera ou remove pelo cartão da aplicação na tela Aplicações Cliente. Toda Sessão de Assinatura que a aplicação criar depois fica Esgotada depois desse número de chamadas de assinatura; uma sessão que já existe mantém a franquia que recebeu. Um campo vazio significa sem limite, e zero ou menos é recusado.
- O console administrativo abre num Painel,
/admin/dashboard: documentos assinados e hashes assinados, nunca somados, e as estações de trabalho que assinaram, hoje, neste mês e desde a instalação, com uma tendência de 30 dias e o momento até o qual os números estão consolidados. - A Atividade de assinatura é contada a partir da Trilha de Auditoria, alguns minutos atrás, sem deixar nenhuma assinatura mais lenta, e não identifica nenhum titular. As Assinaturas de teste são contadas à parte. Uma contagem atrasada avisa isso no Painel e na faixa de situação.
- O Painel mostra os tempos aproximados de p50 e p95 de cada etapa da assinatura e da espera da Autorização de assinatura, e painéis sobre uma janela escolhida (Hoje, Este mês ou Últimos 30 dias): falhas por código, Aplicações Cliente, custódia, o minuto mais movimentado e a frota admitida.
- Novo evento de auditoria
admin.application-signature-allowance-changed.
Melhorias
- A contagem de assinaturas da faixa de situação lê a Atividade de assinatura, então conta documentos e hashes de fato assinados, e não Operações de Assinatura iniciadas.
- Toda chamada de assinatura é cronometrada, qualquer que seja o valor de
Diagnostics:ServerTiming, que agora decide só se o headerServer-Timingé enviado; os tempos são gravados nodetailsdas linhas de auditoriasigning.completed/failedehash-signing.completed/failed.
Servidor 1.16.0 (2026-10-18)
Imagem trustbridge-server:1.16.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: nem o contrato nem o schema mudaram, então voltar para a 1.15.0 é só trocar
a tag da imagem. A configuração da Assinatura de teste mudou: TestSignature:Cpfs, ApiKey,
FallbackEmail, Turnstile:SiteKey e Turnstile:SecretKey não são mais lidas, e
TestSignature:Timeout passa a se chamar TestSignature:MaxTimeout. Uma implantação que ainda define
alguma delas inicia, com um Warning que as cita. Remova-as e revogue a chave que
TestSignature:ApiKey guardava na tela Aplicações Cliente: ela continua sendo uma chave válida
da Aplicação Cliente dela. TestSignature:MaxTimeout e TestSignature:LoopbackAddress agora são
verificadas na inicialização mesmo com a página pública desligada, então um valor inválido que antes
era ignorado recusa a inicialização.
Novas funcionalidades
- A Assinatura de teste é feita com a chave que quem a pede digita:
/test-signaturepede o CPF, o PIN, um CNPJ opcional, a chave de API de uma Aplicação Cliente, um endereço de e-mail alternativo opcional e um timeout, limitado porTestSignature:MaxTimeout(no máximo uma hora). A lista de CPFs e a verificação do Cloudflare Turnstile foram removidas. - O console administrativo tem uma página própria de Assinatura de teste,
/admin/test-signature, em Sistema, sempre disponível para os Administradores, qualquer que seja o valor deTestSignature:Enabled; um Auditor vê se a página pública está ligada, e nenhum formulário. - Uma Assinatura de teste tem as próprias linhas na Trilha de Auditoria: novos eventos
test_signature.completed,test_signature.failed(com a etapa) etest_signature.refused(com o motivo). Elas nunca trazem o PIN nem a chave. - Uma Assinatura de teste funciona para uma Aplicação Cliente com o PIN por transação ligado.
Melhorias
- A página de Assinatura de teste mostra que está aguardando e desiste depois do timeout digitado mais uma margem, ou com Esc, apagando o PIN e a chave.
- O documento de teste assinado traz os dados públicos do certificado que assinou, com a cadeia, no idioma da página, e nada sobre a implantação.
- Uma Assinatura de teste que falha cita a etapa: sessão, certificado, documento, assinatura, Signer, timeout ou loopback.
Correções de bugs
- Excluir uma Versão da Estação de Trabalho não esgota mais o tempo num banco Azure SQL pequeno (Basic, 5 DTU): a exclusão tem o mesmo prazo de 10 minutos do upload, e a tela avisa que a exclusão começou e pode levar alguns minutos.
- O menu administrativo abre em qualquer largura na tela de Assinatura de teste.
- O título de uma página não mostra mais um contorno de foco depois de uma navegação.
Workstation 1.6.0 (2026-10-18)
Pacote TrustBridge-Workstation-1.6.0-x64.msi, protocolo 6 das estações de trabalho.
Notas de atualização: exige o Servidor 1.15.0, e o Servidor vai primeiro: um Servidor anterior
à 1.15.0 recusa esta release no handshake com update the Server first, não entrega a licença à
máquina, e todos os certificados dela aparecem como UNTRUSTED. O Servidor 1.15.0, por sua vez,
recusa o Workstation 1.4.x, então uma frota ainda na 1.4.x passa para a 1.5.0 antes da atualização do
Servidor, e para esta release depois dela. Os PINs em cache, os PINs do Certificado A1 e a admissão da
máquina são mantidos, e nenhuma propriedade do MSI ou configuração mudou. Voltar para a 1.5.0 exige
antes uma desinstalação completa, o que faz a máquina pedir admissão de novo.
Novas funcionalidades
- PIN por transação: para uma Aplicação Cliente que o tem ligado, o Tray App pede o PIN ao titular a cada chamada de assinatura, com o título Uma transação de assinatura precisa do seu PIN. Ele mostra a Aplicação Cliente que está pedindo e o que ela vai assinar: o número de hashes, ou o número de documentos e os cinco primeiros nomes. Os botões são Autorizar e Recusar.
- O PIN de um token digitado ali é verificado pelo token, e o de um A1, contra o PIN do Certificado A1; um PIN errado é digitado de novo na mesma janela. O PIN aceito fica em memória só para aquela chamada, e nunca vem do Cache de PIN nem vai para ele.
- A aba Serviço do Tray App tem um botão Trocar de Servidor…, que abre o próprio diálogo de manutenção do pacote instalado para apontar a máquina para outro Servidor. Quando uma política define a URL, o botão fica desativado e o endereço aparece com (definido por Diretiva de Grupo).
- Apontar a máquina para um novo endereço de Servidor não reinstala mais os arquivos do pacote, então funciona numa máquina cujo MSI foi apagado por uma atualização entregue pelo Servidor.
Melhorias
- O runtime incluído é o .NET 10.0.13, posterior aos alertas de segurança de outubro de 2026.
- O modelo de Política de Grupo em português diz "Política de Grupo" e "política", como o Windows pt-BR.
Servidor 1.15.0 (2026-10-18)
Imagem trustbridge-server:1.15.0, aceita os protocolos 5–6 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migração: RequireThePinPerTransaction)
Notas de atualização: antes de atualizar, procure na tela Estações de Trabalho alguma máquina
admitida ainda no Workstation 1.4.x e atualize-a para a 1.5.0: este Servidor recusa o protocolo 4 no
handshake. Depois, atualize o Servidor e faça upload do Workstation 1.6.0. Uma máquina na 1.5.0
continua atendendo todas as sessões como antes, mas nunca é escolhida para uma sessão de PIN por
transação, então só ligue o PIN por transação numa Aplicação Cliente quando as máquinas dos titulares
dela já rodarem a 1.6.0. Integradores: um pin enviado numa chamada de assinatura, que os Servidores
anteriores ignoravam, agora é recusado com 400 INVALID_REQUEST, a menos que a sessão seja de PIN por
transação "client". Novas chaves de configuração: Signing:AuthorizationTimeout,
Signing:MaxPendingAuthorizations e Diagnostics:ServerTiming; nenhuma foi renomeada ou removida.
Voltar para a 1.14.1 exige o backup do banco feito antes da atualização.
Novas funcionalidades
- PIN por transação: um Administrador pode configurar uma Aplicação Cliente para exigir o PIN do titular em toda chamada de assinatura, na tela Aplicações Cliente. Isso vale para as sessões que a aplicação criar depois.
POST /v1/sessionseGET /v1/sessions/statusrespondemtransactionPin:null,"workstation"(o titular autoriza cada chamada no Tray App) ou"client"(um Certificado do Cofre: o cliente enviapinem cada chamada). A tela Sessões de Assinatura mostra esse valor.POST /v1/signatures,/signatures/batche/signatures/hashesaceitam umpinopcional, obrigatório numa sessão"client"e recusado em todas as outras.- Numa sessão
"workstation", cada chamada de assinatura abre uma Autorização de assinatura na máquina vinculada; um lote pede uma vez só. Um pedido recusado, sem resposta ou que não pôde ser entregue responde422 PIN_NOT_AVAILABLEcom uma palavra emdetails, e nada chega ao serviço de assinatura. - Novos eventos de auditoria
admin.application-transaction-pin-enabled,admin.application-transaction-pin-disabled,signing.authorization-requested,signing.authorization-grantedesigning.authorization-refused. - Com
Diagnostics:ServerTimingligado (desligado por padrão; deixe-o desligado em produção), as respostas do contrato trazem um headerServer-Timingque mostra onde o tempo da chamada foi gasto.
Melhorias
- Protocolo 6 das estações de trabalho; o protocolo 4 sai da janela.
- Uma máquina mantém no máximo
Signing:MaxPendingAuthorizationschamadas esperando o titular (2 por padrão); a seguinte responde422 PIN_NOT_AVAILABLEcomtoo many calls waiting. Signing:AuthorizationTimeout(60 s, no máximo dez minutos) limita a espera pelo titular, fora deSigning:RequestBudget.- Uma chamada por transação espera por uma máquina que se ausentou por pouco tempo, dentro de
Signing:WorkstationReconnectGrace, antes de o titular receber o pedido. - Para uma Aplicação Cliente com o PIN por transação ligado, a criação de sessão ignora as máquinas no protocolo 5, com um
Warningque cita cada uma. - Uma sessão
"client"não guarda senha entre as chamadas, então sobrevive a um reinício do Servidor e volta a assinar com opinda chamada seguinte.
Servidor 1.14.1 (2026-10-15)
Imagem trustbridge-server:1.14.1, aceita os protocolos 4–5 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: nem a API nem a configuração mudaram; basta trocar a tag da imagem. Um console administrativo servido em inglês não vê diferença.
Melhorias
- O console administrativo em português diz "Política de Grupo" e "política", como o Windows pt-BR, no lugar de "Diretiva de Grupo" e "diretiva": a tela Estações de Trabalho mostra Atualizações desativadas por política, e não mais Atualizações desativadas por diretiva.
- A coluna Assunto da Trilha de Auditoria passa a se chamar Objeto: ela mostra o objeto do registro (uma sessão, um documento, uma chave de API, uma máquina).
- O modelo de Política de Grupo em português recebe a mesma mudança, mas é distribuído com os modelos da Estação de Trabalho e chega ao domínio com a próxima release dela, e não com esta imagem.
Servidor 1.14.0 (2026-10-14)
Imagem trustbridge-server:1.14.0, aceita os protocolos 4–5 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: RecordTheVaultChainsEncodings, GrantHashSigningPerClientApplication)
Notas de atualização: o protocolo das estações de trabalho não mudou, então a frota não precisa de
nada e o Workstation 1.5.0 continua sendo o atual. Uma Aplicação Cliente que não recebeu a Assinatura
de hash não vê diferença além dos novos membros certificate e chain. Há oito chaves de
configuração novas em TestSignature:, e o recurso vem desligado por padrão. Voltar para a 1.13.0
exige o backup do banco feito antes da atualização.
Novas funcionalidades
- Assinatura de hash:
POST /v1/signatures/hashesassina hashes que o próprio cliente calculou e responde assinaturas PKCS#1 v1.5 brutas, na ordem, no modo tudo ou nada. Ela fica desligada para todas as Aplicações Cliente até um Administrador concedê-la na tela Aplicações Cliente; quem chama sem a concessão é recusado com403 HASH_SIGNING_NOT_GRANTED. POST /v1/sessionseGET /v1/certificates/inforespondem ocertificatevinculado (DER, base64) e achaindele, do emissor mais próximo para o mais distante. Um Certificado de Estação de Trabalho continua respondendochain: [].- A Assinatura de teste: com
TestSignature:Enabledligado, a página inicial (Landing Page) pode fazer uma assinatura real, de ponta a ponta, pelo navegador. (Refeita na 1.16.0.) - Novos eventos de auditoria
admin.application-hash-signing-granted,admin.application-hash-signing-revoked,hash-signing.digest-signed,hash-signing.completedehash-signing.failed.
Melhorias
- O Acesso com Certificado tem uma página própria,
/admin/login/certificate, aberta por um botão na página de login; a página de login não traz mais o script nem a licença do Web PKI. ComAdmin:CertificateSignIn:Requiredligado, a página de login encaminha todo visitante para ela. - A requisição do desafio do certificado desiste depois de trinta segundos, e o tempo de vida de um desafio é contado pelo relógio do Servidor.
- A barra superior do console administrativo ficou compacta: a troca de idioma e o menu da conta viraram um botão cada, e a versão foi para o menu de navegação lateral.
- Uma gravação na Trilha de Auditoria não pode mais ser cancelada e tem um limite próprio de quinze segundos, então fechar uma aba no meio de uma requisição não dispara mais um falso alerta de fallback da auditoria.
- Só uma indisponibilidade do banco de dados aparece como não foi possível acessar o banco de dados numa tela administrativa.
- O banner de licença recusada continua correto depois de uma renovação recusada: as máquinas que já estão rodando continuam assinando até o Workstation Service delas reiniciar.
- A imagem passa para o .NET 10.0.13, posterior aos alertas de segurança de outubro de 2026.
Correções de bugs
- Um anúncio de certificado cujo thumbprint não tenha 40 ou 64 dígitos hexadecimais é recusado.
Workstation 1.5.0 (2026-10-04)
Pacote TrustBridge-Workstation-1.5.0-x64.msi, protocolo 5 das estações de trabalho.
Notas de atualização: exige o Servidor 1.13.0; atualize o Servidor e a frota juntos. Um Servidor mais antigo recusa esta release no handshake. Os PINs em cache e os PINs do Certificado A1 definidos na 1.4.x são mantidos, e nenhuma propriedade do MSI ou configuração mudou.
Novas funcionalidades
- Certificados e-CNPJ são lidos, anunciados com a Empresa a um Servidor que os aceita e usados para assinar as Sessões de Assinatura de uma Empresa.
- CNPJs alfanuméricos são aceitos.
- A lista e o detalhe de certificados do Tray App mostram a Empresa de um e-CNPJ, e o pedido de PIN de uma sessão de Empresa mostra qual Empresa está sendo autorizada.
- Com um Servidor que não aceita e-CNPJ, o Tray App mostra o certificado como não anunciado, com o motivo.
Melhorias
- O PIN não chega mais a esta máquina: o Service responde ao desafio do Servidor com uma Prova de PIN (PIN Proof) calculada sobre o PIN em cache ou o PIN do Certificado A1, e é o Servidor que decide se ela confere.
- Um PIN digitado no pedido do Tray App continua sendo verificado localmente contra o token ou o PIN do Certificado A1; o pedido então aguarda o veredito do Servidor e fecha quando o timeout de pedido de PIN do Servidor se esgota.
- O tempo de vida de um PIN em cache é renovado quando o Servidor vincula uma sessão a esta máquina.
Servidor 1.13.0 (2026-10-04)
Imagem trustbridge-server:1.13.0, aceita os protocolos 4–5 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: RegisterACompanysCnpj, HoldACompanysCnpjInTheVault, KeyASessionByItsCompany, BudgetAMachinesFailedPinProofs, BudgetTheVaultsFailedUnlocks)
Notas de atualização: atualize o Servidor e a frota juntos e faça upload do Workstation
1.5.0 junto com esta atualização. Um titular cujas máquinas ainda rodam todas o Workstation
1.4.x recebe 422 WORKSTATION_OFFLINE até uma delas ser atualizada, e o Workstation 1.3.0 ou
anterior é recusada. Nenhuma chave de configuração foi adicionada, renomeada ou removida. Voltar para
a 1.12.0 exige o backup do banco feito antes da atualização.
Novas funcionalidades
- Suporte a e-CNPJ:
POST /v1/sessionsaceita umcnpjopcional; uma sessão assim só se vincula ao e-CNPJ dessa Empresa e assina com ele, e as respostas só trazemcnpjquando ele se aplica. - O Cofre de Certificados importa certificados e-CNPJ e registra a Empresa deles.
- As telas de certificados, Certificados do Cofre, sessões e Trilha de Auditoria mostram a Empresa quando há uma.
- Novo evento de auditoria
pin.proof-budget-spent.
Melhorias
- Protocolo 5 das estações de trabalho: as Provas de PIN substituem o envio do PIN às estações de trabalho; o Servidor desafia todas as máquinas candidatas ao mesmo tempo, dentro de
Sessions:PinRelayTimeout, e verifica ele mesmo cada prova. - As Provas de PIN com falha de cada estação de trabalho para um titular são limitadas por
Sessions:MaxPinFailuresdentro deSessions:PinFailureWindow; acima do limite, a máquina é ignorada para aquele CPF até as falhas expirarem. - As senhas do Cofre de Certificados que não abrem nada são limitadas da mesma forma, e um limite esgotado responde
PIN_NOT_AVAILABLEcom uma frase emdetails. - Uma criação de sessão bem-sucedida não zera mais as falhas de bloqueio de um CPF; elas expiram com a janela.
INVALID_PINagora significa que todas as candidatas deram uma prova e nenhuma conferiu com o PIN enviado.- Quando
Sessions:PinPromptTimeoutse esgota, o pedido de PIN do Tray App é retirado na hora. - A página de login do console administrativo lista só certificados e-CPF.
- Os chips da faixa de situação levam às telas que resumem.
Servidor 1.12.0 (2026-10-03)
Imagem trustbridge-server:1.12.0, aceita os protocolos 3–4 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migração: RecordWhoSetABoundCpf)
Notas de atualização: uma implantação que desliga as senhas precisa de pelo menos dois Administradores, porque ninguém pode definir o próprio CPF vinculado. Voltar para a 1.11.0 exige o backup do banco feito antes da atualização.
Melhorias
- Um Administrador define ou substitui o CPF vinculado de outra conta (Definir CPF vinculado, ou no formulário de nova conta), só com
Admin:CertificateSignIn:Enabledligado e nunca na própria conta. - Vincular o próprio certificado pela tela da conta foi removido; não é mais preciso ligar as senhas para uma primeira vinculação.
- A tela de contas mostra o CPF vinculado completo de cada conta a Administradores e Auditores; o dono o vê somente para leitura, com quem o definiu e quando.
- Substituir um CPF vinculado encerra as sessões por certificado dessa pessoa em até cinco minutos.
- Auditoria: novo
admin.account-bound-cpf-set;admin.account-bound-cpf-clearedagora traz o CPF;admin.bound-cpf-enrollednão é mais gravado. - Definir e remover um CPF vinculado são repetidos em caso de deadlock no banco.
Workstation 1.4.2 (2026-10-02)
Pacote TrustBridge-Workstation-1.4.2-x64.msi, protocolo 4 das estações de trabalho.
Notas de atualização: uma máquina na 1.4.0 ou na 1.4.1 pode receber esta release do seu Servidor; uma máquina na 1.3.0 ou anterior precisa de instalação manual ou por Política de Grupo.
Correções de bugs
- Um certificado A3 com lista de extensões indecifrável não esconde mais os certificados de todos os tokens; só esse certificado é ignorado, com um Warning que o identifica.
- O log do Service cita cada certificado que sai do inventário.
- Um pedido de PIN pendente não pode mais imprimir o PIN caso seja formatado para um log.
- A ausência de âncoras de confiança configuradas é informada como tal, e não como um problema de licença.
Servidor 1.11.0 (2026-10-02)
Imagem trustbridge-server:1.11.0, aceita os protocolos 3–4 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: BindCpfToAdminAccounts, RenameEnrolledAtToFirstSeenAt)
Notas de atualização: a coluna Workstations.EnrolledAt passa a se chamar FirstSeenAt, então
uma consulta ou relatório sobre ela precisa mudar. Uma implantação Docker atrás do próprio proxy
reverso deve trocar ASPNETCORE_FORWARDEDHEADERS_ENABLED=true por ForwardedHeaders:TrustedProxies.
Voltar para a 1.10.0 exige o backup do banco feito antes da atualização.
Novas funcionalidades
- Acesso com Certificado: Administradores e Auditores podem entrar no console administrativo com um e-CPF ICP-Brasil pelo Lacuna Web PKI; desligado por padrão (
Admin:CertificateSignIn:Enabled, que exigeAdmin:CertificateSignIn:WebPkiLicense). - A conta é vinculada pelo CPF, não pelo certificado, então um certificado renovado continua funcionando.
Admin:CertificateSignIn:Requireddesliga o login por senha; uma conta sem CPF vinculado passa a não conseguir entrar.- O Web PKI é servido pelo próprio Servidor, então uma implantação isolada da rede (air-gapped) funciona.
- A tela de Autoridades Certificadoras Confiáveis conta os administradores que entram com certificado de cada autoridade.
- Nova configuração
ForwardedHeaders:TrustedProxies:X-Forwarded-ForeX-Forwarded-Protosó são considerados quando vêm dos proxies listados, e uma lista malformada recusa a inicialização. POST /v1/signaturesresponde ofileNamedo documento que assinou, e o lote identifica cada item pela mesma regra.- Novos eventos de auditoria
admin.certificate-sign-in,admin.certificate-sign-in-refusedeadmin.account-bound-cpf-cleared.
Melhorias
certificate.encoding-droppedecertificate.announcement-refusedgravam uma linha de auditoria por snapshot, com detalhes{ count, entries: [...] }; as linhas gravadas antes mantêm os campos planos.certificate.insertedregistraencodingVerified.- O limite por endereço da admissão conta um endereço IPv6 pelo seu /64.
- O SignSession Contract tem uma nova especificação normativa, escrita a partir deste Servidor, e a lista de divergências em relação à implementação de referência foi retirada.
Correções de bugs
POST /v1/signatures/batchsemsessionIdresponde400 INVALID_REQUESTem vez de401 SESSION_EXPIRED.ClockOffsetnuma recusa por relógio agora é sempre agora − IssuedAt (positivo quando a máquina está atrasada); revise umClockSkewToleranceajustado a partir de valores de log antigos.- Um certificado cujos campos do titular não podem ser lidos é recusado (
422 CERT_INCOMPLETE_IDENTITYao assinar), em vez de passar pela verificação do titular. - Um anúncio sem a codificação do certificado não consegue mais reescrever o titular de um certificado verificado.
- Atrás de um proxy TLS, o redirecionamento para o login não aponta mais para
http://. - Sair do console verifica o token antiforgery.
- O cookie administrativo só é avaliado nos caminhos administrativos.
- Um acesso com certificado pela metade é descartado quando a conta cadastra um Segundo Fator em outro lugar, e as etapas de código recusam uma conta sem fator.
- Uma recusa por relógio no caminho da admissão é registrada na máquina correspondente.
- Uma inicialização recusada por banco inacessível informa quanto tempo de fato esperou.
- A ausência de âncoras de confiança configuradas é informada como tal, e não como um problema de licença.
- Uma alteração de conta administrativa que sofre deadlock no banco é repetida, em vez de mostrar uma tela de erro.
- Comandos e respostas que contêm um segredo são mascarados quando impressos.
Servidor 1.10.0 (2026-09-29)
Imagem trustbridge-server:1.10.0, aceita os protocolos 3–4 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migração: RecordValidatedChain)
Notas de atualização: voltar para a 1.9.0 exige o backup do banco feito antes da atualização: a 1.9.0 recusa o banco migrado e não consegue resgatar um Código de Recuperação que esta release já transformou em hash.
Melhorias
- Os Códigos de Recuperação são guardados como hash; os códigos existentes são convertidos em segundo plano na inicialização e continuam funcionando.
- Cada Certificado do Cofre registra a cadeia montada na sua última validação, então a contagem de remoção de uma Autoridade Certificadora Confiável intermediária é exata para o cofre depois da primeira revalidação horária.
- A tela do Cofre de Certificados mostra o aviso sobre a senha de importação sob demanda (Sobre a senha de importação).
Correções de bugs
- Uma recusa estruturada do Signer é tratada como recusa: um 400 ou 403 estruturado responde
422 SIGNER_REJECTED, e um 404 estruturado no download do documento responde404 DOCUMENT_NOT_FOUND, em vez de502 SIGNER_ERROR. - Uma tela administrativa com falha não quebra mais o restante do console até a página ser recarregada.
Workstation 1.4.1 (2026-09-28)
Pacote TrustBridge-Workstation-1.4.1-x64.msi, protocolo 4 das estações de trabalho.
Melhorias
- Mesmo código da 1.4.0, lançado para que uma máquina na 1.4.0 tenha uma release mais nova para receber do seu Servidor.
Workstation 1.4.0 (2026-09-28)
Pacote TrustBridge-Workstation-1.4.0-x64.msi, protocolo 4 das estações de trabalho.
Notas de atualização: exige o Servidor 1.9.0; atualize o Servidor primeiro. Esta release é
instalada manualmente ou por Política de Grupo. Os modelos de Política de Grupo atualizados trazem
Receber atualizações do Servidor TrustBridge (ServerUpdates), ligada a menos que desabilitada.
Novas funcionalidades
- Atualizações entregues pelo Servidor: o Service baixa a release que o Servidor oferece, a verifica (hash, assinatura Authenticode e carimbo de tempo, Publisher Pin, revogação, produto e versão), instala num momento ocioso e informa o resultado.
- A política
ServerUpdatesdesliga as atualizações entregues pelo Servidor numa máquina.
Correções de bugs
- A aba Log para de receber o log do serviço numa sessão que deixa o console.
- A aba Log volta a acompanhar o log do serviço depois que o Service reinicia.
- Atualizar ou ler o status com o Service parado desiste após dez segundos, em vez de esperar para sempre.
- A aba Tokens marca a lista quando ela pode estar desatualizada.
Servidor 1.9.0 (2026-09-27)
Imagem trustbridge-server:1.9.0, aceita os protocolos 3–4 das estações de trabalho.
Atualiza modelo do banco de dados: sim (migrações: WorkstationReleases, WorkstationReleaseOffers)
Notas de atualização: as máquinas no Workstation 1.0.x (protocolo 2) são recusadas depois
desta atualização, então atualize-as antes; a tela Estações de Trabalho mostra a versão de cada
máquina. O upload de uma Versão da Estação de Trabalho exige o diretório temporário gravável
/tmp/trustbridge-releases.
Novas funcionalidades
- Tela Versões da Estação de Trabalho: um Administrador faz upload de um MSI da Estação de Trabalho assinado, de até 256 MB, e o Servidor lê do arquivo a versão, o protocolo e o signatário.
- As versões são oferecidas às máquinas e retiradas delas na tela Estações de Trabalho, que mostra Atualizações desativadas por diretiva, Precisa de atualização manual e as instalações que falharam.
- As máquinas baixam a versão oferecida por
GET /workstations/releases/{version}, com retomada e um limite próprio,WorkstationReleases:MaxConcurrentDownloads(padrão 20). - Uploads, ofertas, retiradas e o resultado da atualização de cada máquina são auditados.
Workstation 1.3.0 (2026-09-26)
Pacote TrustBridge-Workstation-1.3.0-x64.msi, protocolo 3 das estações de trabalho.
Novas funcionalidades
- Uma aba Tokens no Tray App mostra cada token que o Service vê: o middleware, o estado, se há PIN armazenado e os certificados.
- A aba Tokens identifica uma leitora com um cartão que nenhum middleware instalado lê, ou um cartão que não responde.
- Depois de uma instalação ou atualização, o Service inicia o Tray App em todas as sessões do Windows com usuário conectado.
- O pacote traz o Publisher Pin e declara o protocolo que usa, para as atualizações entregues pelo Servidor.
Correções de bugs
- Os avisos do próprio Tray App aparecem na aba Log, ao lado dos do Service.
- Um módulo PKCS#11 que não carrega é informado como falho, com o motivo.
Workstation 1.2.2 (2026-09-25)
Pacote TrustBridge-Workstation-1.2.2-x64.msi, protocolo 3 das estações de trabalho.
Correções de bugs
- Atualiza a 1.2.0 in-place: o mesmo produto assinado da 1.2.1, com um runtime .NET não mais antigo que o da 1.2.0.
Workstation 1.2.1 (2026-09-25)
Retirada: o pacote trazia um runtime .NET mais antigo que o da 1.2.0, e uma atualização a partir da 1.2.0 deixava o Service sem conseguir iniciar. Use a 1.2.2.
Melhorias
- O MSI e todos os executáveis e bibliotecas do TrustBridge nele são assinados por LACUNA SOFTWARE LTDA, com carimbo de tempo.
Workstation 1.2.0 (2026-09-24)
Pacote TrustBridge-Workstation-1.2.0-x64.msi, protocolo 3 das estações de trabalho. O Servidor 1.8.0
é o recomendado.
Novas funcionalidades
- Um Certificado A1 pode assinar: o titular define um PIN do Certificado A1 no Tray App, e o PIN de um cliente é verificado contra ele; o Service guarda só um verificador.
Melhorias
- O Service envia um ping ao Servidor a cada 5 segundos, então, com o Servidor 1.8.0, uma conexão perdida é percebida em até 15 segundos.
- A coluna de PIN do Tray App diz "Armazenado" em vez de "Em cache".
Correções de bugs
- A digitação do PIN acompanha a sessão de console quando a máquina é acessada pela Área de Trabalho Remota.
- Um Certificado A1 não recebe mais o pedido de PIN de token.
Servidor 1.8.0 (2026-09-24)
Imagem trustbridge-server:1.8.0, aceita os protocolos 2–3 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: a nova Workstations:ClientTimeout tem padrão de 30 segundos; mantenha esse
valor até todas as máquinas rodarem o Workstation 1.2.0 ou posterior.
Novas funcionalidades
- Uma estação de trabalho que cai sem fechar a conexão aparece offline mais cedo, e uma linha online mostra quando a máquina se conectou.
- As linhas de auditoria
workstation.disconnecttrazem o motivo do fim da conexão. - O chip de falhas da faixa de situação abre a Trilha de Auditoria filtrada por essas falhas.
Correções de bugs
- Revogar uma máquina ou devolvê-la à fila também fecha as conexões mais antigas e deslocadas dela.
- O handshake relê a admissão da máquina, então uma máquina revogada no meio do handshake é desconectada.
- Buscas sobrepostas na Trilha de Auditoria não misturam mais os resultados.
- O chip de implantação da barra do aplicativo ficou legível.
Workstation 1.1.0 (2026-09-23)
Pacote TrustBridge-Workstation-1.1.0-x64.msi, protocolo 3 das estações de trabalho.
Notas de atualização: exige o Servidor 1.7.0; atualize o Servidor primeiro. A licença da PKI agora
vem do Servidor: a propriedade PKI_LICENSE do MSI e a política PkiLicense foram removidas, e um
PKI_LICENSE na linha do msiexec é ignorado.
Novas funcionalidades
- A máquina recebe a licença da PKI do Servidor a cada conexão.
- O Tray App diz por que uma máquina está sem licença e o que resolve.
Melhorias
- A nota de PIN armazenado diz que a máquina guarda o PIN criptografado para evitar que o token seja bloqueado.
Correções de bugs
- O MSI não instala mais o arquivo de configuração de desenvolvimento do Service, e uma atualização o remove.
Servidor 1.7.0 (2026-09-23)
Imagem trustbridge-server:1.7.0, aceita os protocolos 2–3 das estações de trabalho.
Atualiza modelo do banco de dados: não
Notas de atualização: Certificates:Validation:License agora é obrigatória em toda implantação,
com ou sem o Cofre de Certificados; defina-a antes de atualizar, ou o Servidor recusa a inicialização.
Novas funcionalidades
- O Servidor entrega a sua licença da PKI a cada máquina admitida no handshake; renová-la é trocar o valor e reiniciar o Servidor.
- Uma licença da PKI que o SDK recusa é registrada como Critical e mostrada num banner em todas as páginas administrativas.
Correções de bugs
- Criações de sessão simultâneas para o mesmo CPF esperam a vez em vez de falhar com 500.
Workstation 1.0.1 (2026-09-21)
Pacote TrustBridge-Workstation-1.0.1-x64.msi, protocolo 2 das estações de trabalho.
Correções de bugs
- O Tray App se conecta ao Workstation Service instalado, que na 1.0.0 ele recusava como não legítimo.
Workstation 1.0.0 (2026-09-21)
Pacote TrustBridge-Workstation-1.0.0-x64.msi, protocolo 2 das estações de trabalho.
Novas funcionalidades
- Primeira release da linha da Estação de Trabalho: o Workstation Service e o Tray App num único MSI, com modelos de Política de Grupo. O pacote não é assinado, então o Windows exibe um aviso na instalação.
Servidor 1.6.1 (2026-09-16)
Atualiza modelo do banco de dados: não
Correções de bugs
- O arquivo de log e o Application Insights respeitam
Logging:LogLevel.
Servidor 1.6.0 (2026-09-16)
Atualiza modelo do banco de dados: não
Novas funcionalidades
- O log do Servidor também vai para um arquivo diário com rotação (
Logging:File:Directory,Logging:File:RetainedDays) e, opcionalmente, para o Application Insights (Logging:ApplicationInsights:ConnectionString). - Uma tela Log do Servidor no console administrativo.
Servidor 1.5.0 (2026-09-11)
Atualiza modelo do banco de dados: sim (migração: KeepBagChainCertificates)
Novas funcionalidades
- O Servidor pode buscar um emissor ausente por AIA; nada é guardado até um Administrador confirmar.
- Um Certificado do Cofre
UNTRUSTEDoferece confiar no seu emissor. - Uma importação no cofre guarda os certificados de AC que o arquivo PKCS#12 trazia.
- O upload de Autoridades Certificadoras Confiáveis aceita pacotes PKCS#7 (
.p7b).
Correções de bugs
- Um certificado com extensão Basic Constraints corrompida é tratado como não sendo AC, e o upload registra um Warning para cada certificado que ignora.
- A confirmação de remoção diz que as contagens são aproximadas.
Servidor 1.4.0 (2026-08-31)
Atualiza modelo do banco de dados: sim (migração: WorkstationTrustedCaReport)
Novas funcionalidades
- A página da frota mostra se cada máquina tem as Autoridades Certificadoras Confiáveis atuais do Servidor e, se não tem, por quê.
- Remover uma Autoridade Certificadora Confiável conta os Certificados de Estação de Trabalho afetados, além dos Certificados do Cofre.
Servidor 1.3.0 (2026-08-28)
Atualiza modelo do banco de dados: sim (histórico de migrações substituído por um único InitialCreate)
Notas de atualização: um banco criado pela 1.2.0 ou anterior é recusado; apague-o e deixe o
Servidor criar um novo. Audit:FallbackLogPath foi removida: uma entrada de auditoria que o banco
recusa vai para o log do Servidor como Critical.
Novas funcionalidades
- Admissão de estações de trabalho: a máquina cria uma chave não exportável e aguarda na fila de admissão até um Administrador admiti-la; o Enrollment Token deixou de existir.
- Uma Autoridade Certificadora Confiável adicionada no Servidor chega a todas as máquinas admitidas em segundos.
- Um throttling global responde
429 SERVER_BUSY(Throttle:ConcurrencyLimit,Throttle:QueueLimit). GET /healthzinforma se o Servidor e o banco de dados estão funcionando.- Uma Operação de Assinatura que ficou Pendente por um processo interrompido é encerrada por uma varredura (
RUN_STRANDED). - Sessões de Assinatura e Chaves de API abrem a própria trilha na Trilha de Auditoria, e uma sessão mostra quanto já gastou da sua Franquia de Assinaturas.
Melhorias
POST /v1/signaturesaceita qualquer parte de arquivo como documento, e uma requisição que não indica sessão responde400 INVALID_REQUEST.- Um Signer em throttling (429 ou 408) responde
502 SIGNER_ERRORem vez de uma recusa.
Servidor 1.2.0 (2026-08-24)
Atualiza modelo do banco de dados: sim (migração: SessionSignatureAllowance)
Notas de atualização: o Servidor aplica as próprias migrações na inicialização
(Database:MigrateOnStart, padrão true), então dotnet ef database update deixou de fazer parte de
uma atualização.
Novas funcionalidades
- Franquia de Assinaturas:
Sessions:SignatureAllowancelimita quantas chamadas de assinatura uma sessão pode fazer. - Fazer upload do certificado de um titular na tela de Autoridades Certificadoras Confiáveis resolve a cadeia emissora e a oferece para confirmação.
Servidor 1.1.0 (2026-08-23)
Atualiza modelo do banco de dados: não
Notas de atualização: a imagem vem com o Cofre de Certificados desligado; defina Vault:Enabled se
você o usa.
Novas funcionalidades
- A tela Autoridades Certificadoras Confiáveis: upload, listagem e remoção das autoridades certificadoras em que o Servidor confia.
Correções de bugs
- Um pacote de certificados DER concatenados é lido inteiro, em vez de manter só o primeiro.
- Os certificados guardados por um upload que falhou no meio entram em vigor na hora, e não só depois de um reinício.
- Texto antes do primeiro marcador
BEGIN, como um comentário ou uma saída doopenssl, não é mais contado como bloco ilegível.
Servidor 1.0.1 (2026-08-23)
Atualiza modelo do banco de dados: sim (migração: TrustedCas)
Notas de atualização: Certificates:Validation:TrustedRootPaths não é mais considerada no
Servidor; no Workstation Service, continua valendo.
Novas funcionalidades
- As autoridades certificadoras em que o Servidor confia são guardadas no banco de dados e aplicadas sem reinício.
Certificates:Validation:UseLacunaTestPkifaz confiar na PKI de teste da Lacuna.
Melhorias
- Os caches em disco do PKI SDK ficam em
/tmp/trustbridge-pki.