RpcServerRegisterAuthInfo-Funktion (rpcdce.h)

Die RpcServerRegisterAuthInfo-Funktion registriert Authentifizierungsinformationen bei der RPC-Laufzeitbibliothek.

Syntax

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

Parameter

ServerPrincName

Zeiger auf den Prinzipalnamen, der für den Server bei der Authentifizierung von Remoteprozeduraufrufen mithilfe des durch den AuthnSvc-Parameter angegebenen Diensts verwendet werden soll. Der Inhalt des Namens und seine Syntax werden vom verwendeten Authentifizierungsdienst definiert. Weitere Informationen finden Sie unter Prinzipalnamen.

AuthnSvc

Authentifizierungsdienst, der verwendet werden soll, wenn der Server eine Anforderung für einen Remoteprozeduraufruf empfängt.

GetKeyFn

Adresse einer von der Serveranwendung bereitgestellten Routine, die Verschlüsselungsschlüssel zurückgibt. Siehe RPC_AUTH_KEY_RETRIEVAL_FN.

Geben Sie einen NULL-Parameterwert an, um die Standardmethode der Verschlüsselungsschlüsselerfassung zu verwenden. In diesem Fall gibt der Authentifizierungsdienst das Standardverhalten an. Legen Sie diesen Parameter bei Verwendung des RPC_C_AUTHN_WINNT-Authentifizierungsdiensts auf NULL fest.

Authentifizierungsdienst GetKeyFn Arg Laufzeitverhalten
RPC_C_AUTHN_DPA Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_GSS_KERBEROS Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_GSS_NEGOTIATE Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_GSS_SCHANNEL Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_MQ Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_MSN Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_WINNT Wird ignoriert. Wird ignoriert. Unterstützt nicht
RPC_C_AUTHN_DCE_PRIVATE NULL Ungleich NULL Verwendet die Standardmethode zum Abrufen von Verschlüsselungsschlüsseln aus der angegebenen Schlüsseltabelle. Das angegebene Argument wird an die Standarderfassungsfunktion übergeben.
RPC_C_AUTHN_DCE_PRIVATE Ungleich NULL NULL Verwendet die angegebene Verschlüsselungsschlüsselerfassungsfunktion, um Schlüssel aus der Standardschlüsseltabelle abzurufen.
RPC_C_AUTHN_DCE_PRIVATE Ungleich NULL Ungleich NULL Verwendet die angegebene Verschlüsselungsschlüsselerfassungsfunktion, um Schlüssel aus der angegebenen Schlüsseltabelle abzurufen. Das angegebene Argument wird an die Erfassungsfunktion übergeben.
RPC_C_AUTHN_DEC_PUBLIC Wird ignoriert. Wird ignoriert. Für die zukünftige Verwendung reserviert.
 
 

Die RPC-Laufzeitbibliothek übergibt den ServerPrincName-Parameterwert von RpcServerRegisterAuthInfo als ServerPrincName-Parameterwert an die GetKeyFn-Erfassungsfunktion . Die RPC-Laufzeitbibliothek stellt automatisch einen Wert für den KeyVersion-Parameter (KeyVer) bereit. Für einen KeyVer-Parameterwert von 0 muss die Erfassungsfunktion den zuletzt verfügbaren Schlüssel zurückgeben. Die Abruffunktion gibt den Authentifizierungsschlüssel im Key-Parameter zurück.

Wenn die von RpcServerRegisterAuthInfo aufgerufene Erfassungsfunktion einen anderen status als RPC_S_OK zurückgibt, schlägt diese Funktion fehl und gibt einen Fehlercode an die Serveranwendung zurück. Wenn die von der RPC-Laufzeitbibliothek aufgerufene Erfassungsfunktion während der Authentifizierung der Remoteprozeduraufrufanforderung eines Clients einen anderen status als RPC_S_OK zurückgibt, schlägt die Anforderung fehl, und die RPC-Laufzeitbibliothek gibt einen Fehlercode an die Clientanwendung zurück.

Arg

Zeiger auf einen Parameter, der an die GetKeyFn-Routine übergeben werden soll, sofern angegeben. Dieser Parameter kann auch verwendet werden, um einen Zeiger an eine SCHANNEL_CRED-Struktur zu übergeben, um explizite Anmeldeinformationen anzugeben, wenn der Authentifizierungsdienst auf SCHANNEL festgelegt ist.

Wenn der Arg-Parameter auf NULL festgelegt ist, verwendet diese Funktion das Standardzertifikat oder die Standardanmeldeinformationen, wenn sie im Verzeichnisdienst eingerichtet wurde.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_UNKNOWN_AUTHN_SERVICE
Der Authentifizierungsdienst ist unbekannt.
 
Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Eine Serveranwendung ruft RpcServerRegisterAuthInfo auf, um einen Authentifizierungsdienst für die Authentifizierung von Remoteprozeduraufrufen zu registrieren. Ein Server ruft diese Routine einmal für jeden Authentifizierungsdienst auf, den der Server registrieren möchte. Wenn der Server diese Funktion für einen bestimmten Authentifizierungsdienst mehrmals aufruft, sind die Ergebnisse nicht definiert.

Der Authentifizierungsdienst, den eine Clientanwendung (mithilfe von RpcBindingSetAuthInfo oder RpcServerRegisterAuthInfo) angibt, muss einer der von der Serveranwendung angegebenen Authentifizierungsdienste sein. Andernfalls schlägt der Remoteprozeduraufruf des Clients fehl, und ein RPC_S_UNKNOWN_AUTHN_SERVICE status Code wird zurückgegeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rpcdce.h (include Rpc.h)
Bibliothek Rpcrt4.lib
DLL Rpcrt4.dll

Weitere Informationen

RpcBindingSetAuthInfo