WS_CERT_SIGNED_SAML_AUTHENTICATOR-Struktur (webservices.h)
Der Typ zum Angeben eines SAML-Tokenauthentifikators basierend auf einem Array erwarteter Ausstellerzertifikate. Wenn ein Authentifikator dieses Typs verwendet wird, wird ein eingehendes SAML-Token nur akzeptiert, wenn es über eine gültige XML-Signatur verfügt, die mit einem der angegebenen X.509-Zertifikate erstellt wurde. Daher stellen die angegebenen X.509-Zertifikate eine "Zulassungsliste" mit vertrauenswürdigen SAML-Ausstellern dar.
Die Laufzeit führt für die angegebenen Zertifikate keine Sperr- oder Kettenvertrauensprüfungen durch. Daher liegt es an der Anwendung, sicherzustellen, dass die Zertifikate gültig sind, bevor sie in dieser Struktur angegeben werden.
Wie bereits erwähnt, ist die Validierung der empfangenen SAML darauf beschränkt, sicherzustellen, dass sie von einem der angegebenen Zertifikate ordnungsgemäß signiert wurde. Die Anwendung kann dann die SAML-Assertion mithilfe von WsGetMessageProperty mit dem Schlüssel WS_MESSAGE_PROPERTY_SAML_ASSERTION extrahieren und zusätzliche Validierungs- oder Verarbeitungsvorgänge durchführen.
Syntax
typedef struct _WS_CERT_SIGNED_SAML_AUTHENTICATOR {
WS_SAML_AUTHENTICATOR authenticator;
const _CERT_CONTEXT **trustedIssuerCerts;
#if ...
struct _CERT_CONTEXT;
ULONG trustedIssuerCertCount;
const _CERT_CONTEXT *decryptionCert;
#else
struct _CERT_CONTEXT;
#endif
WS_VALIDATE_SAML_CALLBACK samlValidator;
void *samlValidatorCallbackState;
} WS_CERT_SIGNED_SAML_AUTHENTICATOR;
Member
authenticator
Der Basistyp, von dem dieser Typ und alle anderen SAML-Authentifikatortypen abgeleitet werden.
trustedIssuerCerts
Das Array akzeptabler SAML-Aussteller, das durch ihre X.509-Zertifikate identifiziert wird. Dieses Feld ist erforderlich.
Die Zertifikathandles werden dupliziert, und die Kopien werden für die interne Verwendung aufbewahrt. Die Anwendung besitzt weiterhin die hier bereitgestellten Zertifikathandles und ist dafür verantwortlich, sie jederzeit nach dem Aufruf der Listenererstellung, der diese Struktur verwendet, freizugeben.
_CERT_CONTEXT
trustedIssuerCertCount
Die Anzahl der X.509-Zertifikate, die in trustedIssuerCerts angegeben sind.
decryptionCert
Das Zertifikat zum Entschlüsseln eingehender SAML-Token.
Das Zertifikathandle wird dupliziert, und die Kopie wird für die interne Verwendung aufbewahrt. Die Anwendung besitzt weiterhin das hier bereitgestellte Zertifikathandle und ist dafür verantwortlich, es jederzeit frei zu geben, nachdem der Aufruf der Listenererstellung, der diese Struktur verwendet, zurückgegeben wird.
samlValidator
Ein optionaler Rückruf, um der Anwendung die zusätzliche Validierung der SAML-Assertion zu ermöglichen, wenn die Signaturüberprüfung erfolgreich ist.
samlValidatorCallbackState
Der Zustand, der beim Aufrufen des samlValidator-Rückrufs zurückgegeben werden soll.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Kopfzeile | webservices.h |