estrutura SCH_CREDENTIALS (schannel.h)
A estrutura SCH_CREDENTIALS contém informações de inicialização para uma credencial Schannel.
Sintaxe
typedef struct _SCH_CREDENTIALS {
DWORD dwVersion;
DWORD dwCredFormat;
DWORD cCreds;
PCCERT_CONTEXT *paCred;
HCERTSTORE hRootStore;
DWORD cMappers;
_HMAPPER **aphMappers;
struct _HMAPPER;
DWORD dwSessionLifespan;
DWORD dwFlags;
DWORD cTlsParameters;
PTLS_PARAMETERS pTlsParameters;
} SCH_CREDENTIALS, *PSCH_CREDENTIALS;
Membros
dwVersion
Definido como SCH_CREDENTIALS_VERSION.
dwCredFormat
O Schannel no modo kernel dá suporte aos valores a seguir.
Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP e Windows XP/2000: Esse sinalizador não tem suporte e deve ser zero.
Valor | Significado |
---|---|
|
O paCred membro da estrutura SCH_CREDENTIALS passada deve ser um ponteiro para uma matriz de bytes de comprimento 20 que contém a impressão digital do certificado. Supõe-se que o certificado esteja no repositório "MY" do computador local. |
|
O membro de paCred da estrutura SCH_CREDENTIALS aponta para uma estrutura SCHANNEL_CERT_HASH_STORE. |
cCreds
O número de estruturas na matriz paCred.
paCred
Uma matriz de ponteiros para estruturas CERT_CONTEXT. Cada ponteiro especifica um certificado que contém uma chave privada a ser usada na autenticação do aplicativo.
Os aplicativos cliente geralmente passam em uma lista vazia e dependem do Schannel para encontrar um certificado apropriado ou criar um certificado posteriormente, se necessário.
hRootStore
Opcional. Válido somente para aplicativos de servidor. Manipule para um repositório de certificados que contém certificados raiz autoassinados para autoridades de certificação (CAs) confiáveis pelo aplicativo. Esse membro é usado somente por aplicativos do lado do servidor que exigem autenticação de cliente.
cMappers
Reservado.
aphMappers
Reservado.
_HMAPPER
dwSessionLifespan
O número de milissegundos que o Schannel mantém a sessão em seu cache de sessão. Depois que esse tempo for passado, todas as novas conexões entre o cliente e o servidor exigirão uma nova sessão Schannel. Defina o valor desse membro como zero para usar o valor padrão de 36000000 milissegundos (dez horas).
dwFlags
Contém sinalizadores de bits que controlam o comportamento do Schannel. Esse membro pode ser zero ou uma combinação dos valores a seguir.
Valor | Significado |
---|---|
|
Somente cliente.
Esse sinalizador é o oposto de SCH_CRED_MANUAL_CRED_VALIDATION e faz parte do comportamento padrão do Schannel. |
|
Instrua o Schannel a passar o sinalizador de CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL para a função Windows Server 2003 e Windows XP/2000: Esse sinalizador não tem suporte. |
|
Somente servidor.
Se esse sinalizador estiver definido, os handshakes completos executados com essa credencial não permitirão reconexões. Uma entrada de cache é criada para que a sessão possa ser retomável posteriormente usando a função |
|
Ao verificar se há certificados revogados, ignore CRYPT_E_NO_REVOCATION_CHECK erros. Para obter restrições adicionais, consulte Comentários. |
|
Ao verificar se há certificados revogados, ignore CRYPT_E_REVOCATION_OFFLINE erros. Para obter restrições adicionais, consulte Comentários. |
|
Somente cliente.
Impedir que o Schannel valide a cadeia de certificados do servidor recebido. |
|
Somente cliente.
Impedir que o Schannel tente fornecer automaticamente uma cadeia de certificados para autenticação de cliente. |
|
Somente cliente.
Impedir que o Schannel compare o nome de destino fornecido com os nomes de entidade em certificados de servidor. |
|
Somente servidor.
Impedir que o Schannel use as funções internas de mapeamento de certificado do sistema para mapear certificados de cliente para uma conta de usuário. |
|
Ao validar uma cadeia de certificados, verifique todos os certificados para revogação. Para obter restrições adicionais, consulte Comentários. |
|
Ao validar uma cadeia de certificados, não verifique a raiz para revogação. Para obter restrições adicionais, consulte Comentários. |
|
Ao validar uma cadeia de certificados, verifique apenas o último certificado para revogação. Para obter restrições adicionais, consulte Comentários. |
|
Somente cliente.
O Schannel tenta fornecer automaticamente uma cadeia de certificados para autenticação de cliente. Esse valor é o oposto de SCH_CRED_NO_DEFAULT_CREDS. |
|
Instrua o Schannel a dividir dados a serem criptografados em dois registros separados para combater a fraqueza presente no protocolo SSL/TLS quando usado com o pacote de criptografia simétrica usando o modo de encadeamento de blocos de criptografia. Para obter mais informações, consulte Vulnerabilidade no SSL/TLS pode permitir a divulgação de informações.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP e Windows XP/2000: Esse sinalizador não tem suporte. |
|
O Schannel envia o certificado raiz como parte da mensagem de certificado.
Observação O certificado raiz enviado pela rede pelo cliente ou servidor Schannel não é confiável. Ele deve ser validado em relação a um hash confiável do certificado raiz.
|
|
Instrui o Schannel a desabilitar algoritmos criptográficos fracos conhecidos, conjuntos de criptografia e versões de protocolo SSL/TLS que podem estar habilitadas para melhor interoperabilidade. |
|
Instrui o Schannel a selecionar apenas os pacotes de criptografia PSK e desabilitar todos os outros conjuntos de criptografia. |
cTlsParameters
A contagem de entradas na matriz pTlsParameters.
É um erro especificar mais de SCH_CRED_MAX_SUPPORTED_PARAMETERS.
pTlsParameters
Matriz de ponteiros para as estruturas de TLS_PARAMETERS que indicam restrições de parâmetro TLS, se houver. Se nenhuma restrição for especificada, os padrões do sistema serão usados. É recomendável que os aplicativos dependam dos padrões do sistema.
É um erro incluir mais de uma estrutura TLS_PARAMETERS com cAlpnIds == 0 e rgstrAlpnIds == NULL.
Observações
Para usar a estrutura de SCH_CREDENTIALS, defina SCHANNEL_USE_BLACKLISTS juntamente com UNICODE_STRING e PUNICODE_STRING. Como alternativa, inclua Ntdef.h, SubAuth.h ou Winternl.h.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 1809 [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 1809 [somente aplicativos da área de trabalho] |
cabeçalho | schannel.h |