Freigeben über


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