Meus 2 cents:

Eh um pouco complicado - ate achei este aqui que oferece o servico:

https://www.instagram.com/fleetmaxgestao/p/DIJXDGPhv4D/

Mas falando um pouco como funciona:

  • O QR Code da CNH eh chamado QR CODE VIO:

O Vio é um sistema de certificação de autenticidade de documentos de identificação. Documentos compatíveis portam o QR Code Vio, um QR Code que replica os dados contidos no documento utilizando encriptação forte para garantir a autenticidade dos dados. Além disso QR Codes Vio são encriptados na fonte a partir de informações fornecidas pela própria entidade emissora do documento, garantindo o não-repúdio.

Serve nao apenas para CNH, mas outros documentos que usem o mesmo formato.

Mais informacoes em:

https://apicenter.estaleiro.serpro.gov.br/documentacao/vio-decode/pt/ https://apicenter.estaleiro.serpro.gov.br/documentacao/vio-decode/pt/#o-que-e-o-vio

Agora, o formato binario para tentar ler, ver o certificado e tentar tirar a informacao ? tambem nao achei.

Ate tem o exemplo de informacao que guarda na CNH, mas o formato de decodificacao nao (so a chamada de API).

https://apicenter.estaleiro.serpro.gov.br/documentacao/vio-decode/pt/exemplos/

"data" : { "nome" : "string", "nome_civil" : "string", "identidade" : "string", "cpf" : "string", "data_nascimento" : "string", "filiacao_pai" : "string", "filiacao_mae" : "string", "permissao" : "string", "acc" : "string", "categoria" : "string", "numero_registro" : "string", "data_validade" : "string", "data_primeira_habilitacao" : "string", "observacoes" : "string", "local_emissao" : "string", "uf_emissao" : "string", "data_emissao" : "string", "numero_validacao_cnh" : "string", "numero_renach" : "string" },

Cita tambem que o leitor de qr code nao pode tentar converter para texto, uma vez que eh binario (criptografado):

Exemplo de leitura de QRCode a partir do dispositivo mobile A integração pode ser feita facilmente em dispositivos móveis como smartphones e tablets, mas NUNCA deve ser usado um aplicativo genérico de leitura de QR Code, pois estes sempre interpretam a informação e tentam convertê-la para texto, inutilizando os dados.

A API do Vio precisa dos dados criptografados existentes no QRCode Vio para permitir a decodificação do mesmo. A tentativa de tratamento do conteúdo do QRCode como Texto, String, URL ou outro tipo de dado viola a integridade dos dados e impede a decodificação via API Vio Decode.

No final da pagina tem alguns codigos de exemplo.

EDIT: Fiz o decode a partir do exemplo:

imagem de exemplo CNH: https://apicenter.estaleiro.serpro.gov.br/documentacao/vio-decode/pt/qrcodes/cnh-demo.png

Decode online: https://zxing.org/w/decode.jspx

Coloquei o endereco da imagem de exemplo e mandei decodificar - funcionou, mas trouxe o conteudo binario.