Função RpcServerRegisterAuthInfo (rpcdce.h)
A função RpcServerRegisterAuthInfo registra informações de autenticação com a biblioteca de tempo de execução RPC.
Sintaxe
RPC_STATUS RpcServerRegisterAuthInfo(
RPC_CSTR ServerPrincName,
unsigned long AuthnSvc,
RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
void *Arg
);
Parâmetros
ServerPrincName
Ponteiro para o nome da entidade de segurança a ser usado para o servidor ao autenticar chamadas de procedimento remoto usando o serviço especificado pelo parâmetro AuthnSvc . O conteúdo do nome e sua sintaxe são definidos pelo serviço de autenticação em uso. Para obter mais informações, consulte Nomes de entidade de segurança.
AuthnSvc
Serviço de autenticação a ser usado quando o servidor recebe uma solicitação para uma chamada de procedimento remoto.
GetKeyFn
Endereço de uma rotina fornecida pelo aplicativo de servidor que retorna chaves de criptografia. Consulte RPC_AUTH_KEY_RETRIEVAL_FN.
Especifique um valor de parâmetro NULL para usar o método padrão de aquisição de chave de criptografia. Nesse caso, o serviço de autenticação especifica o comportamento padrão. Defina esse parâmetro como NULL ao usar o serviço de autenticação RPC_C_AUTHN_WINNT.
Serviço de autenticação | GetKeyFn | Arg | Comportamento em tempo de execução |
---|---|---|---|
RPC_C_AUTHN_DPA | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_GSS_KERBEROS | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_GSS_NEGOTIATE | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_GSS_SCHANNEL | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_MQ | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_MSN | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_WINNT | Ignored | Ignored | Não dá suporte a |
RPC_C_AUTHN_DCE_PRIVATE | NULL | Não nulo | Usa o método padrão de aquisição de chave de criptografia da tabela de chaves especificada; O argumento especificado é passado para a função de aquisição padrão. |
RPC_C_AUTHN_DCE_PRIVATE | Não nulo | NULL | Usa a função de aquisição de chave de criptografia especificada para obter chaves da tabela de chaves padrão. |
RPC_C_AUTHN_DCE_PRIVATE | Não nulo | Não nulo | Usa a função de aquisição de chave de criptografia especificada para obter chaves da tabela de chaves especificada; O argumento especificado é passado para a função de aquisição. |
RPC_C_AUTHN_DEC_PUBLIC | Ignored | Ignored | Reservado para uso futuro. |
A biblioteca de tempo de execução RPC passa o valor do parâmetro ServerPrincName de RpcServerRegisterAuthInfo como o valor do parâmetro ServerPrincName para a função de aquisição GetKeyFn . A biblioteca de tempo de execução RPC fornece automaticamente um valor para o parâmetro key version (KeyVer). Para um valor de parâmetro KeyVer igual a zero, a função de aquisição deve retornar a chave mais recente disponível. A função de recuperação retorna a chave de autenticação no parâmetro Key .
Se a função de aquisição chamada de RpcServerRegisterAuthInfo retornar um status diferente de RPC_S_OK, essa função falhará e retornará um código de erro para o aplicativo servidor. Se a função de aquisição chamada pela biblioteca de tempo de execução RPC ao autenticar a solicitação de chamada de procedimento remoto de um cliente retornar um status diferente de RPC_S_OK, a solicitação falhará e a biblioteca de tempo de execução RPC retornará um código de erro para o aplicativo cliente.
Arg
Ponteiro para um parâmetro a ser passado para a rotina GetKeyFn , se especificado. Esse parâmetro também pode ser usado para passar um ponteiro para uma estrutura SCHANNEL_CRED para especificar credenciais explícitas se o serviço de autenticação estiver definido como SCHANNEL.
Se o parâmetro Arg for definido como NULL, essa função usará o certificado ou a credencial padrão se ele tiver sido configurado no serviço de diretório.
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
O serviço de autenticação é desconhecido. |
Comentários
Um aplicativo de servidor chama RpcServerRegisterAuthInfo para registrar um serviço de autenticação a ser usado para autenticar chamadas de procedimento remoto. Um servidor chama essa rotina uma vez para cada serviço de autenticação que o servidor deseja registrar. Se o servidor chamar essa função mais de uma vez para um determinado serviço de autenticação, os resultados serão indefinidos.
O serviço de autenticação especificado por um aplicativo cliente (usando RpcBindingSetAuthInfo ou RpcServerRegisterAuthInfo) deve ser um dos serviços de autenticação especificados pelo aplicativo de servidor. Caso contrário, a chamada de procedimento remoto do cliente falhará e um código RPC_S_UNKNOWN_AUTHN_SERVICE status será retornado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | rpcdce.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |