Partilhar via


Verificador de aplicativos - Códigos de parada - NTLM

Os seguintes códigos de paragem estão contidos neste conjunto de testes.

AcquireCredentialsHandle adquire a credencial NTLM explicitamente.

Causa provável

AcquireCredentialsHandle é chamado direta ou indiretamente pelo aplicativo com pszPackage = 'NTLM'. 'Negociar' deve ser usado para corrigir esse problema. Um exemplo de chamada incorreta: AcquireCredentialsHandle( ... «NTLM», // pszPackage [...]); Um exemplo de boa chamada: AcquireCredentialsHandle( ... «Negociar», // pszPackage [...]); Consulte a ajuda para obter informações mais detalhadas sobre este código de paragem.

informações exibidas pelo Application Verifier
  • Parâmetro 1 - Não utilizado.
  • Parâmetro 2 - Não utilizado.
  • Parâmetro 3 - Não utilizado.
  • Parâmetro 4 - Não utilizado.

Informações adicionais
  • camada de teste: NTLMCaller
  • Stop ID: ACH_EXPLICIT_NTLM_PACKAGE
  • Código de paragem: 5000000
  • gravidade: erro 
  • Erro único: não
  • Relatório de erros: Break
  • Log para arquivo: sim
  • Criar backtrace: sim

AcquireCredentialsHandle prefere credenciais NTLM. Consulte Param1 para obter o valor de PackageList.

Causa provável

AcquireCredentialsHandle é chamado direta ou indiretamente pelo aplicativo com pszPackage = 'Negotiate'. No entanto, o NTLM é preferido na credencial fornecida (pAuthData). Um exemplo de chamada incorreta: AcquireCredentialsHandle( ... «Negociar», // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList é 'NTLM' ou 'NTLM,KERBEROS' etc. ... ); Um exemplo de boa chamada: AcquireCredentialsHandle( ... «Negociar», // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList = NULL ou NTLM é menos preferido. ... ); Consulte a ajuda para obter informações mais detalhadas sobre este código de paragem.

informações exibidas pelo Application Verifier
  • Formato: - Packagelist: %.*hs%.*ws
  • Parâmetro 1 - PackageList.
  • Parâmetro 2 - Não utilizado.
  • Parâmetro 3 - Não utilizado.
  • Parâmetro 4 - Não utilizado.

Informações adicionais
  • camada de teste: NTLMCaller
  • Stop ID: ACH_IMPLICITLY_USE_NTLM
  • Código de paragem: 5000001
  • gravidade: erro 
  • Erro único: não
  • Relatório de erros: Break
  • Log para arquivo: sim
  • Criar backtrace: sim

AcquireCredentialsHandle usa erroneamente '-NTLM' para excluir a credencial NTLM. Consulte Param1 para obter o valor de PackageList.

Causa provável

AcquireCredentialsHandle é chamado direta ou indiretamente pelo aplicativo com a credencial fornecida (pAuthData), no qual '-NTLM' é usado erroneamente para excluir a credencial NTLM. '! NTLM' deve ser usado para corrigir esse problema. Um exemplo de chamada incorreta: AcquireCredentialsHandle( ... «Negociar», // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList usa '-NTLM'. ... ); Um exemplo de boa chamada: AcquireCredentialsHandle( ... «Negociar», // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList usa '! NTLM». ... ); Consulte a ajuda para obter informações mais detalhadas sobre este código de paragem.

informações exibidas pelo Application Verifier
  • Formato: - PackageList: %.*hs%.*ws
  • Parâmetro 1 - PackageList.
  • Parâmetro 2 - Não utilizado.
  • Parâmetro 3 - Não utilizado.
  • Parâmetro 4 - Não utilizado.

Informações adicionais
  • camada de teste: NTLMCaller
  • Stop ID: ACH_BAD_NTLM_EXCLUSION
  • Código de paragem: 5000002
  • gravidade: erro 
  • Erro único: não
  • Relatório de erros: Break
  • Log para arquivo: sim
  • Criar backtrace: sim

InitializeSecurityContext usa destino NULL ou destino malformado para o serviço Kerberos. Consulte pszTargetName para obter o valor do destino.

Causa provável

InitializeSecurityContext é chamado direta ou indiretamente pelo aplicativo com pszTargetName sendo NULL ou malformado, com o qual Kerberos não pode ser negociado. A orientação para corrigir esse problema para usar o Kerberos é fornecida da seguinte forma: (1) O serviço no qual o aplicativo cliente se autentica deve ter seu SPN registrado exclusivamente em sua floresta; (2) O serviço deve ser executado sob a identidade, usuário de domínio ou conta de computador, com este SPN registrado; (3) InitializedSecuirtyContext deve ser chamado com este SPN. Um exemplo de chamada incorreta: InitializeSecurityContext( ... NULL, // pszTargetName ... ); Outro exemplo de chamada incorreta: InitializeSecurityContext( ... '\\\\localhost', // pszTargetName ... ); Um exemplo de boa chamada: InitializeSecurityContext( ... 'myservice/mymachine.mydomain.com', // pszTargetName, myservice/mymachine.mydomain.com é um SPN registrado exclusivamente sob o qual o serviço é executado. ... ); Consulte a ajuda para obter informações mais detalhadas sobre este código de paragem.

informações exibidas pelo Application Verifier
  • Formato: - pszTargetName: %hs%ws
  • Parâmetro 1 - Não utilizado.
  • Parâmetro 2 - Não utilizado.
  • Parâmetro 3 - Não utilizado.
  • Parâmetro 4 - Não utilizado.

Informações adicionais
  • camada de teste: NTLMCaller
  • Stop ID: ISC_MALFORMED_TARGET
  • Código de paragem: 5000003
  • gravidade: erro 
  • Erro único: não
  • Relatório de erros: Break
  • Log para arquivo: sim
  • Criar backtrace: sim

O aplicativo cliente faz downgrade para usar a autenticação NTLM como resultado da negociação. Consulte pAuthData para obter mais detalhes. pAuthData mostra a credencial e o destino usados para essa negociação.

Causa provável

O aplicativo cliente faz downgrade para usar a autenticação NTLM como resultado da negociação. Pode haver muitas razões para este problema. A orientação para solucionar esse problema é fornecida abaixo: (1) Ative a camada do verificador NTLMCaller se ela não estiver ativada. Essa camada detetará problemas comumente conhecidos que podem causar o downgrade; (2) Se pszTargetName for um SPN, certifique-se de que este SPN está exclusivamente registado na floresta (o SPN não pode estar em falta ou duplicado); (3) O SPN deve ser consultado pelo sistema cliente que executa a aplicação cliente; (4) O serviço deve ser executado sob uma identidade com sua credencial Kerberos disponível; (5) O cenário deve ser revisto por especialistas em segurança do Windows. Consulte a ajuda para obter informações mais detalhadas sobre este código de paragem.

informações exibidas pelo Application Verifier
  • Formato: - pAuthData: %ws \n\tUser: %hs%ws \n\tDomain: %hs%ws \npszTargetName: %hs%ws
  • Parâmetro 1 - Não utilizado.
  • Parâmetro 2 - Não utilizado.
  • Parâmetro 3 - Não utilizado.
  • Parâmetro 4 - Não utilizado.

Informações adicionais
  • camada de teste: NTLMDowngrade
  • Stop ID: FALLBACK_TO_NTLM
  • Código de paragem: 5010000
  • Gravidade: Aviso
  • Erro único: não
  • Relatório de erros: Nenhum
  • Log para arquivo: sim
  • Criar backtrace: sim

Ver também

Application Verifier - Códigos de parada e definições

Application Verifier - Visão geral

Application Verifier - Recursos

Application Verifier - Testando aplicativos

Application Verifier - Testes dentro do Application Verifier

Application Verifier - Debugging Application Verifier para

Application Verifier - Perguntas Frequentes