Ich bin neu bei SAML und bin verwirrt über die erwartete Signatur und Vertrauensprozess.Wie überprüft man SAML-Zertifikate?
Ich programmiere ein SP und erhalten ein signiertes samlp:Response
vom IDP, dass das umfasst KeyInfo
:
<KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIC4DCCAcigAwIBAgIQRzFzcQiEKpFD2C+gNZ8cFDANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDEyFBREZTIFNpZ25pbmcgLSB0ZXN0Lmx1Y2lkYXV0aC5jb20wHhcNMTYwNTA2MDcyODM5WhcNMTcwNTA2MDcyODM5WjAsMSowKAYDVQQDEyFBREZTIFNpZ25pbmcgLSB0ZXN0Lmx1Y2lkYXV0aC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqng7wxIkT7VpVJhQYgwWMngST4EhxWha+vI9/5V+D0nWZXp6MIMiFO7rv0n4+og7fdVXHjK9wL4cG9MVUMFpV8cxl7lmwKC/EomPbdsHZfCQ4QE/M+jHUDRoyeqSZgUO1oMigz65FzSdtRoM6A3TKasU5+ISttvGx66gkP5wuQUllBfDJxuVA+5qPVLas5/0s/CCyVbKPDqYwn/GMKsTc1ECy8oEeBOrfRzEsQrqlkLcoriMXYIRW92j4MWUTnz3Ce4zTGPldPl2ix/dVk02MoJEgK7NTDru+2yvo0QDIvzWWs0rltF26UdABqsiq+uuwYiKkGQpBldyjfqVvmwChAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKeywqRnNuBGaNB6k6wuDAK6Aknx28RXbJAMe9SkSAo6L16qbdRdL8JCGZCDRF7OI8GLMEZj+yStRPikEstBQYeOi+1OSDf6iqOr7LM/OURG3pNq/LUOdNJJcYUSuK3FPP4HSMOo6dOX5IHS+7OOh70CMg5dfdtjvHqb8ZsRUk30JX9nVcXXRO8Vqzgb7WjuVjGvz/zSR6Dy+f+N6UDerIauQxHPu81SasxEUE4R6pr/Tm80E6uoicp7VBtE8YGHBhag9c+rp/xLANJ+Oc0poKDvLr8odnlUvEgy5RQhqbPefQ9n8E5Pba2IA0w/tfsk0w/z2jNwgLzNCfJGyrGHiH4=
</ds:X509Certificate>
</ds:X509Data>
</KeyInfo>
Ich gehe davon aus, dass das Zertifikat enthalten ist, so dass ich muss nicht erraten, was Zertifikat die Antwort unterzeichnet .
Aber das scheint im Moment nicht sehr nützlich. Es scheint nicht, dass die Zertifikatskette enthalten ist. Daher kann ich der Antwort nicht wirklich vertrauen.
Ich nehme an, das Zertifikat könnte mir über ein zweites, vertrauenswürdiges Out-of-Band-Protokoll gegeben werden, aber das scheint nicht die richtige Lösung zu sein, da das jedes Mal wiederholt werden muss, wenn das Zertifikat abläuft.
Wenn eine X509-Kette (z. B. SSL) angegeben wird, ist dies ein triviales Problem zu lösen.
Welche Methode wird empfohlen, um die Vertrauenswürdigkeit eines X509-Zertifikats zu überprüfen, da das Zertifikat möglicherweise abläuft?
Sie signieren mit dem privaten Schlüssel und Sie fügen Ihren öffentlichen Schlüssel an, damit die Signatur verifiziert werden kann ... –
Mögliches Duplikat von [SAML: Warum ist das Zertifikat in der Signatur?] (Http://stackoverflow.com/ Fragen/1703301/saml-Warum-ist-das-Zertifikat-in-der-Unterschrift) –
@DavidBrossard, die oberste Antwort sagt "Das überprüft nur, dass die Nachricht von, wer es sagt, ist es. * Sie müssen eine zusätzliche Überprüfung, dass Die Nachricht stammt von jemandem, dem Sie vertrauen. * ", ohne CA, Ketten oder abgelaufene Zertifikate zu adressieren. –