Fonction RpcServerRegisterAuthInfoA (rpcdce.h)
La fonction RpcServerRegisterAuthInfo enregistre les informations d’authentification auprès de la bibliothèque d’exécution RPC.
Syntaxe
RPC_STATUS RpcServerRegisterAuthInfoA(
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 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 le serveur-application 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 comme 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 key version (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 un status autre que RPC_S_OK, la demande é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 , si 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 a la valeur 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é.
Notes
L’en-tête rpcdce.h définit RpcServerRegisterAuthInfo comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
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 |