Usar o padrão Matter - AWS Private Certificate Authority

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar o padrão Matter

O padrão de conectividade Matter especifica configurações de certificado que melhoram a segurança e a consistência de dispositivos com Internet das Coisas (IoT). Exemplos Java para criar certificados de CA raiz, de CA intermediária e de entidade final compatíveis com Matter podem ser encontrados em Usando a API do CA privada da AWS para implementar o padrão Matter (exemplos Java).

Para ajudar na solução de problemas, os desenvolvedores do Matter fornecem uma ferramenta de verificação de certificados que se chama chip-cert. Os erros relatados po essa ferramenta estão listados na tabela a seguir, com as respectivas correções.

Código de erro Significado Correção

0x00000305

As extensões BasicConstraints, KeyUsage e ExtensionKeyUsage devem ser marcadas como críticas.

Certifique-se de selecionar o modelo correto para o seu caso de uso.

0x00000050

A extensão do identificador de chave da autoridade deve estar presente.

CA privada da AWS não define a extensão do identificador da chave de autoridade nos certificados raiz. Você deve gerar um AuthorityKeyIdentifier valor codificado em Base64 usando o CSR e, em seguida, passá-lo por um. CustomExtension Para obter mais informações, consulte Ative uma CA raiz para certificados operacionais de nós (NOC). e Ative uma Autoridade de Atestado de Produto (PAA).
0x0000004E O certificado está expirado. Certifique-se de que o certificado em uso não esteja expirado.
0x00000014 Falha na validação da cadeia de certificados.

Esse erro pode ser encontrado se você tentar criar um certificado de entidade final compatível com o Matter sem usar os exemplos Java fornecidos, que usam a CA privada da AWS API para passar um certificado configurado corretamente. KeyUsage

Por padrão, CA privada da AWS gera valores de KeyUsage extensão de nove bits, com o nono bit resultando em um byte extra. O Matter ignora esse byte extra durante as conversões de formato, causando falhas na validação da cadeia. No entanto, a CustomExtensionno APIPassthrough modelo pode ser usado para definir o número exato de bytes no KeyUsage valor. Para ver um exemplo, consulte Crie um certificado operacional de nó (NOC).

Se você modificar o código de amostra ou usar um utilitário X.509 alternativo, como o OpenSSL, precisará realizar a verificação manual para evitar erros de validação de cadeia.

Para verificar se as conversões ocorrem sem perdas
  1. Use openssl para verificar se um certificado de nó (entidade final), contém uma cadeia válida. Nesse exemplo, rcac.pem é o certificado de CA raiz, icac.pem é o certificado de CA intermediário e noc.pem é o certificado de nó.

    openssl verify -verbose -CAfile <(cat rcac.pem icac.pem) noc.pem
  2. Use chip-cert para converter o certificado de nó formatado em PEM no formato TLV (etiqueta, comprimento, valor) e vice-versa.

    ./chip-cert convert-cert noc.pem noc.chip -c ./chip-cert convert-cert noc.chip noc_converted.pem -p

    Os arquivos noc.pem e noc_converted.pem devem ser exatamente os mesmos confirmados por uma ferramenta de comparação de strings.