Resumo

  • RFC 9939 dá tipos de conteúdo CMS a PrivateKeyInfo e EncryptedPrivateKeyInfo de RFC 5958.
  • Um OID informa a gramática que o CMS carrega; não prova custódia, decifragem, proteção adequada, finalidade permitida ou aceitação de quem confia.

Uma automação de inventário pode dizer corretamente que recebeu id-ct-encrPrivateKeyInfo. O erro começa quando esse registro passa a valer como “a chave está pronta”. A etiqueta não contém prova de segredo de recuperação, de proteção externa, de correspondência com uma identidade ou de competência para iniciar uma operação.

RFC 9939 faz uma atribuição delimitada. O decimal 52 do arco CMS identifica id-ct-privateKeyInfo; o 53 identifica id-ct-encrPrivateKeyInfo. O texto também registra o módulo ASN.1 e acrescenta privateKeyInfo e encrPrivateKeyInfo aos inner content types de application/cms. O registro da IANA permite que produtores e leitores falem da mesma estrutura. Ele não administra a chave e não aprova sua finalidade.

RFC 5958 mostra o que há dentro: a forma compatível PrivateKeyInfo/OneAsymmetricKey descreve versão, algoritmo, material privado e campos opcionais; a forma cifrada declara algoritmo de cifragem e dados cifrados. A sintaxe pode estar perfeita e ainda faltar a evidência que importa em outra camada: quem é o destinatário, como o pacote foi protegido, se a recuperação autorizada deu certo, onde o material ficará e qual política permite assinar, decifrar ou delegar.

RFC 5652 define CMS como sintaxe de encapsulamento que pode assinar, autenticar ou cifrar, enquanto os protocolos escolhem algoritmos próprios. RFC 5959 trata convenções de algoritmo para EncryptedPrivateKeyInfo. RFC 5958 alerta que conteúdo de pacote assimétrico não fica protegido por existir como tipo e que a divulgação de chave privada pode permitir mascaramento.

O controle responsável é uma ficha de passagem: hash do objeto, OID, parser e versão, algoritmos, envelope, evidência de destinatário/gestão de chaves, integridade e decifragem quando permitidas, finalidade, retenção e a decisão do sistema que vai confiar. Código em execução confirma seu próprio resultado; não pode conceder sozinho o poder de usar um segredo que pertence a outra responsabilidade.

Sources