Loading…
Tilbage

Profilbillede

OIOSaml.NET 1.7.6 'The signature of the incoming message is invalid'

Morten Bisgaard Kristensen

Jeg har prøvet at konfigurere og køre demo-applikationen der følger med version 1.7.6. Når jeg har logget ind får jeg dog følgende besked tilbage 'The signature of the incoming message is invalid'.

Jeg har checket at det er det rigtige id for IDPEndPoint under SAML20Federation i web.config, men kan der være andre årsager til beskeden?

Jeg har vedhæftet min tilrettede Web.Config.

Håber der er nogle idéer til hvad det kan skyldes.

Hej Morten

Jeg kan ikke umiddelbart hjælpe meget, men med signaturen henvises den digitale signering, og er det muligvis relateret til et problem med certifikaterne.

Med venlig hilsen
Brian Nielsen, DIGST 

Hej Brian

Tak for input, jeg har lige prøvet at importere certifikaterne på ny og checket at de ser OK ud i IISen. Men beskeden kommer desværre stadig.

Eneste sted jeg umiddelbart kan se at jeg afviger lidt fra manualen er at jeg kompilerer i VS2010, men alle projekter har sat Target Framework til 3.5, så det burde vel ikke rigtig betyde noget.

Mvh Morten

 

Hej Morten

Har du logget på højeste niveau og indeholder de ikke mere info?

Hej Brian,

Jeg har kigget lidt i loggen, men synes ikke rigtig der var ydeligere info end 'Message: Invalid signature'. Ved dog ikke helt om logget er sat til højeste niveau. Er der et sted jeg har mulighed for at skrue op for hvad der bliver logget?

Hej Morten

Ikke andet end hvad der er angivet i dokumentationen under "13.1 Enabling debug logging".

Hej Brian,

Tak for info :o) 

Så kom der lidt mere på hvad det kan skyldes. Har vedhæftet txt med en exception, der fortæller at IndetityProvider certifikatet ikke er valid jf. RFC3280.

Jeg må prøve at sætte mig lidt ind i hvad RFC3280 foreskriver.

 

Hej Morten

Jeg tror istedet du skal læse nærmere på fejlbeskeden:

System.IdentityModel.Tokens.SecurityTokenValidationException: The X.509 certificate CN=IdentityProvider, O=NITA, C=DK chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. The revocation function was unable to check revocation for the certificate.

Har du fulgt step 2d) i afsnittet "5.1 Preparation":

Drag and drop the root certificate “DemoProviderRoot” from “Local Computer\Personal\Certificates” into “Local Computer\Trusted Root Certification Authorities\Certificates

Hej Brian,

Ja, punkt 2d) er fuldført...

Hej Morten

Hvis du finder IdP certifikatet og får det vist med den normale MS viewer er certifikat stien så korrekt?

Hvilken konfigruation er der til CertificateValidation, som eksempelvis















ændret af Brian Nielsen (12.06.2012)

Hej Brian,

Rigtig mange tak for hjælpen, så var der bingo. Jeg havde blot benyttet den ikke udkommenterede CertificateValidation i demositet (dk.nita.saml20.Specification.DefaultCertificateSpecification, dk.nita.saml20) uden at tænke nærmere over at den også skulle rettes til. Nu ser det ud til at køre, bortset fra at der blive kastet følgende fejl på selve aspx-siden:

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary

Line 35:  if (int.Parse(Saml20Identity.Current["dk:gov:saml:attribute:AssuranceLevel"][0].AttributeValue[0]) < 3)   

...men den må være til at opspore.

Mvh Morten

 

ændret af Morten Bisgaard Kristensen (13.06.2012)

Hej Morten, 

Jeg prøver bare at få demo-sitet til at virke med demo-IdP og får den samme fejl. Hvordan fik du tilrettet CertificateValidation for at få det til at virke? 

Mvh, 

Fedor

OK! Jeg kom længere ved at indkommentere

Men nu får jeg samme fejl som du skriver om (The given key was not present in the dictionary [...] ["dk:gov:saml:attribute:AssuranceLevel"]). Hvordan fik du løst den? Og hvad er egentlig årsagen?