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 |
---|---|
|
Der Aufruf war erfolgreich. |
|
Der Authentifizierungsdienst ist unbekannt. |
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 |