DigestInfo está ausente no SAC quando SHA-1 é usado em um algoritmo de assinatura

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3080171
Sintomas
Quando você usar a ferramenta certutil.exe para verificar solicitações de assinatura de certificado (SACs), o certutil.exe retorna a seguinte mensagem, mesmo que o SAC contêm onlya assinado valor de hash (sem a estrutura DigestInfo ASN. 1):
Assinatura coincide com chave pública

Observações:
  • Certutil.exe não deve validar os representantes do SAC com apenas um valor de hash assinado, porque a estrutura esperada do ASN. 1 DigestInfo contém mais do que apenas os dados de hash.
  • Outras ferramentas, como o openssl, marcar o SAC como inválida.
Esse problema ocorre quando o SHA-1 é usado em um algoritmo de assinatura, como "1.2.840.113549.1.1.5 sha1RSA."

Quando o SAC está assinado usando SHA-2, como em "1.2.840.113549.1.1.11 sha256RSA," certutil.exe retorna o seguinte erro esperado:

0XC000A000 (NT: 0XC000A000 STATUS_INVALID_SIGNATURE)

Observação: Este problema é limitado a assinaturas que são criadas pelo SHA-1.
Causa
Esse problema ocorre porque os métodos diferentes que CAPI2uses para interagir com os componentes básicos da pilha de CryptoAPI. Os métodos incluem o seguinte:
  • 2 CAPI usa 1 de API de criptografia herdado (CAPI 1) para SHA-1 e CAPI 1allows o DigestInfo está faltando.
  • 2 CAPI usa API CNG Cryptography Next Generation () para SHA-2 e CNG não permite DigestInfo estar faltando.
Observação: Embora este artigo descreve apenas os problemas que ocorrem quando certutil.exe é usado, qualquer aplicativo que use CryptoAPI funcionará exatamente como o certutil.exe.
Mais Informações

Verificando um representante do SAC que está assinado com "1.2.840.113549.1.1.5 sha1RSA" e sem DigestInfo:

PKCS10 Certificate Request: Version: 1 Subject: CN=Test User Signature Algorithm: Algorithm ObjectId: 1.2.840.113549.1.1.5 sha1RSA Algorithm Parameters: 05 00 Signature: UnusedBits=0 0000 88 fc ea 9b cb 35 17 b8 3c 4a be e1 c9 94 23 e3 00f0 71 5c 8f 81 5f 24 bd af 4b 00 ea e2 b4 08 6f 3f Signature matches Public Key Key Id Hash(rfc-sha1): b3 1c 76 1c d9 67 d2 8d 62 15 4a 1c 47 4d dd a6 65 03 9d 5d Key Id Hash(sha1): fb b1 8f 14 39 5c fb 63 81 90 56 e8 37 e1 9b bd e2 a6 79 64 CertUtil: -dump command completed successfully. 

Verificando um representante do SAC que está assinado com "1.2.840.113549.1.1.11 sha256RSA" e sem DigestInfo:

PKCS10 Certificate Request: Version: 1 Subject: CN=Test User Signature Algorithm: Algorithm ObjectId: 1.2.840.113549.1.1.11 sha256RSA Algorithm Parameters: 05 00 Signature: UnusedBits=0 0000 2c 23 b3 36 f4 10 10 94 99 02 95 8f 64 1d 71 0c 00f0 6c f4 13 ae 0e 6b b1 ef c4 1e 10 c0 1f 34 4d 16 Signature does not match Public key: c000a000 Cannot decode object: The cryptographic signature is invalid. 0xc000a000 (NT: 0xc000a000 STATUS_INVALID_SIGNATURE) CertUtil: -dump command FAILED: 0xc000a000 (NT: 0xc000a000 STATUS_INVALID_SIGNATURE) CertUtil: The cryptographic signature is invalid. 


Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3080171 - Última Revisão: 12/03/2015 16:39:00 - Revisão: 2.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Foundation, Windows Server 2012 R2 Essentials, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8.1

  • kbsurveynew kbexpertiseadvanced kbprb kbtshoot kbmt KB3080171 KbMtpt
Comentários