Condividi tramite


Funzione RpcServerRegisterAuthInfo (rpcdce.h)

La funzione RpcServerRegisterAuthInfo registra le informazioni di autenticazione con la libreria di runtime RPC.

Sintassi

RPC_STATUS RpcServerRegisterAuthInfo(
  RPC_CSTR                  ServerPrincName,
  unsigned long             AuthnSvc,
  RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
  void                      *Arg
);

Parametri

ServerPrincName

Puntatore al nome dell'entità da usare per il server durante l'autenticazione delle chiamate di routine remote usando il servizio specificato dal parametro AuthnSvc . Il contenuto del nome e la relativa sintassi sono definiti dal servizio di autenticazione in uso. Per altre informazioni, vedere Nomi delle entità.

AuthnSvc

Servizio di autenticazione da usare quando il server riceve una richiesta per una chiamata di procedura remota.

GetKeyFn

Indirizzo di una routine fornita dall'applicazione server che restituisce le chiavi di crittografia. Vedere RPC_AUTH_KEY_RETRIEVAL_FN.

Specificare un valore di parametro NULL per usare il metodo predefinito di acquisizione della chiave di crittografia. In questo caso, il servizio di autenticazione specifica il comportamento predefinito. Impostare questo parametro su NULL quando si usa il servizio di autenticazione RPC_C_AUTHN_WINNT.

Servizio di autenticazione GetKeyFn Arg Comportamento in fase di esecuzione
RPC_C_AUTHN_DPA Ignorato Ignorato Non supporta
RPC_C_AUTHN_GSS_KERBEROS Ignorato Ignorato Non supporta
RPC_C_AUTHN_GSS_NEGOTIATE Ignorato Ignorato Non supporta
RPC_C_AUTHN_GSS_SCHANNEL Ignorato Ignorato Non supporta
RPC_C_AUTHN_MQ Ignorato Ignorato Non supporta
RPC_C_AUTHN_MSN Ignorato Ignorato Non supporta
RPC_C_AUTHN_WINNT Ignorato Ignorato Non supporta
RPC_C_AUTHN_DCE_PRIVATE NULL Non Null Usa il metodo predefinito di acquisizione della chiave di crittografia dalla tabella delle chiavi specificata; L'argomento specificato viene passato alla funzione di acquisizione predefinita.
RPC_C_AUTHN_DCE_PRIVATE Non Null NULL Usa la funzione di acquisizione della chiave di crittografia specificata per ottenere chiavi dalla tabella delle chiavi predefinita.
RPC_C_AUTHN_DCE_PRIVATE Non Null Non Null Utilizza la funzione di acquisizione della chiave di crittografia specificata per ottenere chiavi dalla tabella delle chiavi specificata; l'argomento specificato viene passato alla funzione di acquisizione.
RPC_C_AUTHN_DEC_PUBLIC Ignorato Ignorato Riservato per utilizzi futuri.
 
 

La libreria di runtime RPC passa il valore del parametro ServerPrincName da RpcServerRegisterAuthInfo come valore del parametro ServerPrincName alla funzione di acquisizione GetKeyFn . La libreria di runtime RPC fornisce automaticamente un valore per il parametro key version (KeyVer). Per un valore di parametro KeyVer pari a zero, la funzione di acquisizione deve restituire la chiave più recente disponibile. La funzione di recupero restituisce la chiave di autenticazione nel parametro Key .

Se la funzione di acquisizione chiamata da RpcServerRegisterAuthInfo restituisce uno stato diverso da RPC_S_OK, questa funzione ha esito negativo e restituisce un codice di errore all'applicazione server. Se la funzione di acquisizione chiamata dalla libreria di runtime RPC durante l'autenticazione della richiesta di chiamata di procedura remota di un client restituisce uno stato diverso da RPC_S_OK, la richiesta ha esito negativo e la libreria di runtime RPC restituisce un codice di errore all'applicazione client.

Arg

Puntatore a un parametro da passare alla routine GetKeyFn , se specificato. Questo parametro può essere usato anche per passare un puntatore a una struttura SCHANNEL_CRED per specificare credenziali esplicite se il servizio di autenticazione è impostato su SCHANNEL.

Se il parametro Arg è impostato su NULL, questa funzione userà il certificato predefinito o le credenziali se è stato configurato nel servizio directory.

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_UNKNOWN_AUTHN_SERVICE
Il servizio di autenticazione è sconosciuto.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

Un'applicazione server chiama RpcServerRegisterAuthInfo per registrare un servizio di autenticazione da usare per autenticare le chiamate di routine remote. Un server chiama questa routine una volta per ogni servizio di autenticazione che il server vuole registrare. Se il server chiama questa funzione più volte per un determinato servizio di autenticazione, i risultati non sono definiti.

Il servizio di autenticazione specificato da un'applicazione client (tramite RpcBindingSetAuthInfo o RpcServerRegisterAuthInfo) deve essere uno dei servizi di autenticazione specificati dall'applicazione server. In caso contrario, la chiamata alla procedura remota del client ha esito negativo e viene restituito un codice di stato RPC_S_UNKNOWN_AUTHN_SERVICE.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione rpcdce.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcBindingSetAuthInfo