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
RPC_S_OK
A chamada foi bem-sucedida.
RPC_S_UNKNOWN_AUTHN_SERVICE
O serviço de autenticação é desconhecido.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

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

Confira também

RpcBindingSetAuthInfo