2016-05-24 18 views
0

Ich möchte ein Zertifikat überprüfen, das von einer SAML-Assertion stammt (ausgestellt von AZURE AD)Wie kann ein Rollover-Zertifikat überprüft werden?

Sie können den öffentlichen Schlüssel jederzeit wechseln. Ich nehme an, es bedeutet, dass ich sie nicht manuell im vertrauenswürdigen Stammspeicher verwalten kann.

Ich verwende X509Certificate2.Verify(), die False zurückgibt, wenn das Zertifikat nicht im vertrauenswürdigen Stammspeicher ist. Sollte ich X509Certificate2.Build() verwenden und es so einstellen, dass es ignoriert, wenn es vertrauenswürdig ist?

Antwort

0

SAML2 verwendet Zertifikate als eine bequeme Möglichkeit, Verschlüsselungs-/Signaturschlüssel mit einem Standarddateiformat darzustellen. Der Inhalt des Zertifikats ist nicht relevant, da die Zertifikate direkt zwischen den beteiligten Parteien ausgetauscht werden sollten. Daher ist es nicht erforderlich, die Gültigkeit des Zertifikats zu überprüfen. In vielen Bereitstellungen wird es nicht einmal validiert.

Mit einem Idp, das regelmäßig einen Schlüssel-Rollover durchführt, sollten Sie die Metadaten des Idp laden und ihnen vertrauen, anstatt das Zertifikat direkt zu konfigurieren.

Wenn Sie all dies selbst implementieren, empfehle ich Ihnen, nach einer vorhandenen Implementierung zu suchen. Das Erstellen einer vollständigen SAML2-Implementierung, die das Laden von Metadaten unterstützt, ist nicht trivial und benötigt viel Zeit.

+0

Wenn Sie sagen: "Sie müssen die Gültigkeit des Zertifikats nicht überprüfen", muss ich noch überprüfen, ob das Zertifikat mit dem Zertifikat in den Idp-Metadaten übereinstimmt, oder? –

+0

Ja, Sie müssen überprüfen, ob es mit den Metadaten übereinstimmt. –