RpcServerRegisterAuthInfo, fonction (rpcdce.h)
La fonction RpcServerRegisterAuthInfo enregistre les informations d’authentification auprès de la bibliothèque d’exécution RPC.
Syntaxe
RPC_STATUS RpcServerRegisterAuthInfo(
RPC_CSTR ServerPrincName,
unsigned long AuthnSvc,
RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
void *Arg
);
Paramètres
ServerPrincName
Pointeur vers le nom principal à utiliser pour le serveur lors de l’authentification des appels de procédure distante à l’aide du service spécifié par le paramètre AuthnSvc . Le contenu du nom et sa syntaxe sont définis par le service d’authentification utilisé. Pour plus d’informations, consultez Noms des principaux.
AuthnSvc
Service d’authentification à utiliser lorsque le serveur reçoit une demande d’appel de procédure distante.
GetKeyFn
Adresse d’une routine fournie par l’application serveur qui retourne des clés de chiffrement. Voir RPC_AUTH_KEY_RETRIEVAL_FN.
Spécifiez une valeur de paramètre NULL pour utiliser la méthode par défaut d’acquisition de clé de chiffrement. Dans ce cas, le service d’authentification spécifie le comportement par défaut. Définissez ce paramètre sur NULL lors de l’utilisation du service d’authentification RPC_C_AUTHN_WINNT.
Service d'authentification | GetKeyFn | Arg | Comportement au moment de l’exécution |
---|---|---|---|
RPC_C_AUTHN_DPA | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_GSS_KERBEROS | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_GSS_NEGOTIATE | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_GSS_SCHANNEL | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_MQ | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_MSN | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_WINNT | Ignoré | Ignoré | Ne prend pas en charge |
RPC_C_AUTHN_DCE_PRIVATE | NULL | Non null | Utilise la méthode par défaut d’acquisition de clé de chiffrement à partir de la table de clés spécifiée ; l’argument spécifié est passé à la fonction d’acquisition par défaut. |
RPC_C_AUTHN_DCE_PRIVATE | Non null | NULL | Utilise la fonction d’acquisition de clé de chiffrement spécifiée pour obtenir des clés à partir de la table de clés par défaut. |
RPC_C_AUTHN_DCE_PRIVATE | Non null | Non null | Utilise la fonction d’acquisition de clé de chiffrement spécifiée pour obtenir des clés à partir de la table de clés spécifiée ; l’argument spécifié est passé à la fonction d’acquisition. |
RPC_C_AUTHN_DEC_PUBLIC | Ignoré | Ignoré | Réservé pour un usage futur. |
La bibliothèque d’exécution RPC transmet la valeur du paramètre ServerPrincName de RpcServerRegisterAuthInfo en tant que valeur de paramètre ServerPrincName à la fonction d’acquisition GetKeyFn . La bibliothèque d’exécution RPC fournit automatiquement une valeur pour le paramètre de version de clé (KeyVer). Pour une valeur de paramètre KeyVer égale à zéro, la fonction d’acquisition doit retourner la clé la plus récente disponible. La fonction de récupération retourne la clé d’authentification dans le paramètre Key .
Si la fonction d’acquisition appelée à partir de RpcServerRegisterAuthInfo retourne un status autre que RPC_S_OK, cette fonction échoue et retourne un code d’erreur à l’application serveur. Si la fonction d’acquisition appelée par la bibliothèque d’exécution RPC lors de l’authentification de la demande d’appel de procédure distante d’un client retourne une status autre que RPC_S_OK, la requête échoue et la bibliothèque d’exécution RPC retourne un code d’erreur à l’application cliente.
Arg
Pointeur vers un paramètre à passer à la routine GetKeyFn, s’il est spécifié. Ce paramètre peut également être utilisé pour passer un pointeur vers une structure de SCHANNEL_CRED afin de spécifier des informations d’identification explicites si le service d’authentification est défini sur SCHANNEL.
Si le paramètre Arg est défini sur NULL, cette fonction utilise le certificat ou les informations d’identification par défaut s’il a été configuré dans le service d’annuaire.
Valeur retournée
Valeur | Signification |
---|---|
|
L’appel a réussi. |
|
Le service d’authentification est inconnu. |
Remarques
Une application serveur appelle RpcServerRegisterAuthInfo pour inscrire un service d’authentification à utiliser pour l’authentification des appels de procédure distante. Un serveur appelle cette routine une fois pour chaque service d’authentification que le serveur souhaite inscrire. Si le serveur appelle cette fonction plusieurs fois pour un service d’authentification donné, les résultats ne sont pas définis.
Le service d’authentification spécifié par une application cliente (à l’aide de RpcBindingSetAuthInfo ou RpcServerRegisterAuthInfo) doit être l’un des services d’authentification spécifiés par l’application serveur. Sinon, l’appel de procédure distante du client échoue et un code RPC_S_UNKNOWN_AUTHN_SERVICE status est retourné.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | rpcdce.h (inclure Rpc.h) |
Bibliothèque | Rpcrt4.lib |
DLL | Rpcrt4.dll |