SD-JWT VC ou ISO mdoc: qual construir primeiro?

Avatar
Autor

Não escolhe um. O quadro EUDI exige suporte a ambos, e o Quadro de Arquitectura e Referência já os atribui: a apresentação por proximidade segue a ISO/IEC 18013-5, e a apresentação remota passa por OpenID for Verifiable Presentations, onde ambos os formatos estão perfilados.

Portanto a decisão real é a sequência. Se os seus utilizadores apresentam remotamente, num browser ou numa aplicação, construa SD-JWT VC primeiro. Se apresentam presencialmente, num balcão ou numa cancela, construa ISO mdoc primeiro.

O facto datado que resolve a maior parte do argumento é um regulamento de execução da Comissão. O OpenID4VC High Assurance Interoperability Profile, versão 1.0, é referenciado no CIR (UE) 2026/1731, e esse perfil cobre OpenID for Verifiable Credential Issuance, OpenID for Verifiable Presentations, IETF SD-JWT VC e ISO mdoc em conjunto, num único documento. É essa a resposta à pergunta sobre qual é o formato europeu. Ambos.

RFC 9901
O SD-JWT, o mecanismo subjacente, é um RFC publicado
ISO 18013-5:2021
mdoc e mDL publicados, com uma segunda edição referenciada para revogação
Draft 18
O SD-JWT VC continua a ser um Internet-Draft, datado de 3 de agosto de 2026
21 dez 2026
Alvo acompanhado para o SD-JWT VC v1.0 e para o HAIP v1.1
Não escolhe o formato do emissor. É por isso que o desenho elegante orientado a JSON normalmente tem um parser de CBOR no seu futuro.

Quais são as diferenças concretas na implementação?

Codificação
Binário contra texto
O mdoc é CBOR, binário. O SD-JWT VC é JSON, texto com uma estrutura separada por tílicas. Os parsers não têm nada em comum.
Assinaturas
COSE contra JWS
O mdoc usa COSE_Sign1 com um Mobile Security Object. O SD-JWT VC usa JWS, como em qualquer JWT assinado, tipicamente com o certificado do emissor no x5c.
Identificadores
mso_mdoc e dc+sd-jwt
Os identificadores de formato em OpenID4VP. Não são cadeias intercambiáveis que se possa normalizar. Um verificador tem de ramificar sobre eles.
Revogação
Dois modelos diferentes
Para o mdoc, o emissor pode incluir o mecanismo de revogação do MSO definido na ISO/IEC 18013-5. Para o SD-JWT VC, a informação de revogação pode opcionalmente ser obtida de um Status Provider, que pode ser o emissor ou uma quarta parte.
Um detalhe que apanha as equipas: quando vários mdoc voltam numa só resposta, cada um tem de ser devolvido num DeviceResponse separado, por isso um único vp_token pode conter várias instâncias de DeviceResponse. Se o seu parser assume um objecto de resposta, os pedidos multi-credencial quebram.

O ARF deixa-lhe realmente escolher?

Não no modo de apresentação, que é a parte que a maioria pensa ser uma escolha. O Quadro de Arquitectura e Referência é explícito. Para fluxos de apresentação remota, a carteira implementa OpenID for Verifiable Presentations. Para fluxos de apresentação por proximidade, adere à ISO/IEC 18013-5. Essa decisão já está tomada, e mapeia quase exactamente nos dois formatos, porque a ISO 18013-5 é ao mesmo tempo um formato e um protocolo de proximidade.

Onde tem margem é nos fluxos remotos. Em OpenID4VP, tanto mso_mdoc como dc+sd-jwt são válidos, e o perfil de alta garantia cobre emissão combinada de ambos. Portanto um serviço só remoto pode razoavelmente começar apenas com SD-JWT VC e acrescentar mdoc depois. Se a obrigação lhe chega ou não é uma questão separada, coberta em which sectors must accept the EUDI Wallet. O trabalho de engenharia em volta está no nosso guia de integração de relying party.

Está a definir a aceitação de carteira e não sabe qual o formato a construir primeiro?
Fale com a nossa equipa

O que significa o estado de draft do SD-JWT VC para um projecto que começa agora?

Significa que fixar a versão é uma tarefa a sério, não uma formalidade. O SD-JWT é RFC 9901 e estável. O SD-JWT VC é draft-ietf-oauth-sd-jwt-vc-18, datado de 3 de agosto de 2026, em via de normalização e ainda não um RFC. A Comissão Europeia avaliou o draft 11 de outubro de 2025 e não identificou lacunas, notando que a especificação continuava a evoluir e precisaria de reavaliação quando final.

O ecossistema respondeu exactamente a este problema. Em outubro de 2025 tanto o OpenID4VCI como o OpenID4VP fixaram a versão de SD-JWT VC que referenciam, e o perfil de alta garantia seguiu. Portanto a resposta prática não é seguir o último draft. É seguir o draft que o perfil ao qual está a conformar-se fixou, e registar esse número de versão na sua própria documentação.

Fixe a versão de draft na gestão de dependências e no registo de decisões de arquitectura. Dizer que suporta SD-JWT VC não é uma especificação.
Conte com uma migração. Entre o draft 18 e o eventual RFC haverá alterações, e algo no seu caminho de validação vai precisar de revisão.
Não construa contra um draft mais recente do que as suas contrapartes. Estar à frente do perfil é o mesmo problema que estar atrás.

O que tem realmente de construir do lado do verificador?

Os formatos diferem, e o trabalho em volta é em larga medida o mesmo, o que significa que a decisão de formato é menor do que parece. Comum aos dois: construir o pedido de apresentação, onde o trabalho recente de OpenID4VP usa DCQL em vez das abordagens anteriores de presentation definition. Resolver a confiança, que no contexto europeu significa resolução de listas de confiança ETSI e a Lista de Listas de Confiança, um modelo diferente da certificate chain validation used with the Portuguese Citizen Card. Verificar a ligação ao portador quando é imposta. Verificar o estado. E decidir o que guardar, que é um registo de que uma verificação ocorreu e não uma cópia da credencial.

Onde os formatos divergem
Descodificar
Descodificação CBOR de um token binário, ou dividir um token separado por tílicas no JWT e nas suas divulgações
›
Verificar assinatura
Verificação COSE_Sign1, ou verificação JWS com o certificado do emissor no x5c
›
Validar integridade
Validade do MobileSecurityObject conforme a ISO 18013-5, ou verificação dos resumos das divulgações contra os digests do payload
Existem implementações de verificador em código aberto para ambos e vale a pena lê-las antes de fechar um desenho. Leia primeiro a secção de ainda não implementado de qualquer uma, porque as honestas listam a construção de cadeia de certificação e a resolução de listas de confiança como pendentes, e são essas duas que tornam a verificação em produção realmente difícil.

Então qual constrói primeiro?

Quatro perguntas, por esta ordem. A primeira que der uma resposta clara decide. Os utilizadores apresentam alguma vez presencialmente, num balcão, cancela ou dispositivo, e nesse caso ISO mdoc primeiro, porque a proximidade é 18013-5 e não há caminho alternativo. Toda a interacção é remota, e nesse caso SD-JWT VC primeiro, pelo menor custo de integração. Já sabe em que formato emite a sua primeira contraparte real, e nesse caso iguale-a, porque testar contra algo real vale mais do que preferência arquitectural. E está a construir para um sector onde o mDL é a credencial primária, como transportes ou aluguer de veículos, e nesse caso mdoc primeiro, e conte que continue primário.

E uma instrução arquitectural que sobrevive a qualquer das respostas. Mantenha o tratamento de formato atrás de uma interface, e faça a lógica da aplicação perguntar o que foi verificado e a que nível de garantia, nunca o que a credencial contém estruturalmente. O segundo formato vem a caminho. Chegue em seis meses ou em dois anos, o custo de o acrescentar é fixado por uma decisão que toma agora.

Perguntas frequentes

Os dois formatos

Qual a diferença entre SD-JWT VC e ISO mdoc?
O ISO/IEC 18013-5 mdoc é um formato binário baseado em CBOR, saído do trabalho da carta de condução móvel, com assinaturas COSE_Sign1 e um Mobile Security Object, desenhado para apresentação por proximidade incluindo uso offline. O SD-JWT VC é um formato baseado em JSON e JWT saído do IETF, construído sobre SD-JWT, e encaixa numa stack web com muito menos tradução.
A EUDI Wallet exige os dois formatos de credencial?
Sim. O quadro exige suporte a ambos, e o OpenID4VC High Assurance Interoperability Profile versão 1.0 perfila SD-JWT VC e ISO mdoc em conjunto. Esse perfil é referenciado no Regulamento de Execução (UE) 2026/1731 da Comissão. O Quadro de Arquitectura e Referência atribui a apresentação por proximidade à ISO/IEC 18013-5 e a apresentação remota a OpenID for Verifiable Presentations.

Estado das normas e identificadores

O SD-JWT VC é uma norma acabada?
Ainda não. O SD-JWT, o mecanismo subjacente, está publicado como RFC 9901. O SD-JWT VC é um Internet-Draft em via de normalização, no draft 18 datado de 3 de agosto de 2026. O OpenID4VCI e o OpenID4VP fixaram em outubro de 2025 a versão de draft que referenciam, por isso implementações conformes devem fixar essa versão em vez de seguir o último draft.
Quais são os identificadores de formato de credencial em OpenID4VP?
O ISO mdoc usa mso_mdoc e o SD-JWT VC usa dc+sd-jwt. Não são intercambiáveis e um verificador tem de ramificar sobre eles, porque um produz uma estrutura binária CBOR e o outro um token de texto separado por tílicas.

Sequência

Que formato deve um serviço só remoto implementar primeiro?
SD-JWT VC, na maioria dos casos. A apresentação remota corre sobre OpenID for Verifiable Presentations onde ambos os formatos são válidos, e o SD-JWT VC custa menos a integrar numa stack que já trata JWT. Acrescente mdoc quando aparecer uma contraparte que o emita, o que para a maioria dos serviços acaba por acontecer.
É possível evitar suportar CBOR?
Apenas enquanto nenhuma credencial que tenha de aceitar chegar como mdoc, e apenas se nunca verificar presencialmente. Como não escolhe o formato do emissor, a maioria dos verificadores acaba por chegar a um parser de CBOR. Desenhar o tratamento de formato atrás de uma interface desde o início é o que torna essa adição barata.
Caixa Mágica Software
Equipa Caixa Mágica
A Caixa Mágica Software é uma empresa portuguesa de software com mais de 20 anos de experiência a entregar software à medida, soluções de IA e equipas de desenvolvimento nearshore para organizações europeias. Trabalhamos em middleware de identidade electrónica nacional há mais de uma década.
eID Box · Caixa Mágica Software
Diga-nos onde os seus utilizadores apresentam e dizemos-lhe qual o formato a construir primeiro
Presencialmente ou remotamente, e que contrapartes tem de aceitar. Construímos e mantemos infraestrutura de identidade digital nacional há mais de uma década, e o eID Box existe para organizações que acrescentam verificação de identidade aos seus próprios produtos.