Spring til login

Digitaliser.dk

Sektioner

Aktuel side

Gruppens profilbillede

OIOSAML

289 medlemmer | Medlemsskab via fri tilmelding (Bliv medlem - kræver login )
Profilens billede

Demo: "The certificate that was used has a trust chain that cannot be verified."

Fedor Steeman - 23.11.2012

Hej, 

Jeg har nu nogenlunde fået demo-site og demo-idp oppe at køre, for så vidt, at de kan udveksle informationer, og jeg kan bruge idp'en til at autentificere en bruger. 

Men jeg løber nu hele tiden ind i fejlmeddelelsen "Unable to validate SAML message!" I loggen står der "Invalid signature". 

Når jeg kigger nærmere på det ved debug og step-through, finder jeg frem til den følgende mere detaljerede fejl: 

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.

Jeg har geninstalleret certifikaterne ved at følge trinnene i vejledningens 5.1.2 adskillige gange uden held. Jeg har også prøve at ændre  i web.config til "SelfIssuedCertificateSpecification" uden at det har gjort forskel. Jeg forstår ikke hvad problemet er. 

Den eneste uregelmæssighed, jeg kan få øje på, er at ServerProvider-certifikatens thumbprint er en anden end det, der var der i web.config'en af den oprindeligt downloadede. Den har jeg udkommenteret, og i stedet indsat thumbprinten af den installerede certifikat i Management Console. 



Jeg forstår heller ikke hvordan thumbprint'en lige pludselig kan afvige mellem Sample_Service_Provider.pfx og demo-sitet. Man skulle vel tro, at de var ens?  

Hov. Mens jeg skriver det her, fik jeg løst problemet ved at skifte til "SelfIssuedCertificateSpecification" i web.config under "CertificateValidation". Men nu får jeg dog en anden fejl, nemlig:

Message=The given key was not present in the dictionary: 
"dk:gov:saml:attribute:AssuranceLevel"

Den har jeg set før... Hvad er årsagen? Hvorfor opstår den i demo-sitet? Det hjælper ikke at udkommentere attributterne i web.config under ...

Kommentarer (3)

Profilens billede 1
Fedor Steeman - 23.11.2012

OK, nu kom jeg udenom sidstnævnte ved et hack, nemlig ved at udkommentere nogle linjer på MyPage.aspx: 

<% if (int.Parse(Saml20Identity.Current["dk:gov:saml:attribute:AssuranceLevel"][0].AttributeValue[0]) < 3)
{
throw new Exception("Saml assertion does not have required assurance level.");
}%>

Næste spørgsmål: Hvorfor spænder disse linjer ben, hvor vigtige er de, og hvordan kommer jeg videre? 

Profilens billede 2
Brian Nielsen - 26.11.2012

Hej Fedor

Tak fordi du deler dine erfaringer, og dermed gøre det lettere for andre der skulle prøve det sammen som dig.

Helt grundlæggende signalerer Level of Assurance (LoA) hvilket sikkerhedsniveau der har været for autenticitetssikringsprocessen.

Se yderligere i vores vejledning Vejledning vedrørende niveauer af autenticitetssikring. Se f.eks. "2.4 Niveauer af autenticitetssikring og risikoprofiler. Beskrivelse og eksempler".

Profilens billede 3
Fedor Steeman - 26.11.2012

Tak, Brian, det var nyttige informationer! 

Jeg er efterhånden begyndt at få lidt styr på OIOSAML.NET og må sige, at det er godt skrevet værktøj og jeg er glad for, at det eksisterer for at kunne anvende SAML-protokollen i .NET sammenhæng.  

Nu har jeg bøvlet i dagevis med både dokumentation og demo kun for at opdage, hvordan jeg kan få det til at virke ved at gennemgå og forstå selve OIOSAML.NET koden og spørge andre.  

Grunden til at demo'et ikke virker, er fordi attributten "AssuranceLevel" ikke bliver tilføjet til de brugere som er defineret i Demo IdP'ets Web.config. Så selvom den er blandt "RequestedAttributes" i SP's web.config, så snubler login-processen over siden "MyPage.aspx", der har brug for denne attribut. Når man endelig har fundet ud af selv, hvordan det hele virker, er det indlysende, at man blot skal tilføje attributen under "" som sådan: 

 

Man kan undre sig over, hvorfor attributen i det hele taget mangler, når nu det er sådan en vigtig brik i demo'ets funktionalitet. 

Det samme gælder CertificateValidation, som er "DefaultCertificateSpecification" til at starte med, men kun virker, når man sætter den til "SelfIssuedCertificateSpecification". Men der er muligvis noget, jeg misser her. 

Nu er det vel også sådan, at jeg selv mangler en del viden om SAML, certifikater og andet sikkerhedsrelateret endnu. Det kunne tænkes, at vejledningen antager, at man allerede har sat sig godt ind i netop det stof. 

Tilføj fil(er)

En ny fil vil overskrive en eksisterende fil, hvis begge filer har samme navn og samme ekstension.

Latest version of the OIOSAML specification.

View resource

The latest release of OIOSAML.JAVA

Se ressourcen

The latest release of OIOSAML.NET

Se ressourcen

Validér dine OIOSAML Metadata Validator inden du sender dem til Nem Log-In.  

Anvendere af twitter kan nu følge med i hvad der sker i Brugerstyringsnetværket - herunder OIOSAML-gruppen - ved at følge brugeren @digiiam på twitter.
Der kommer tweets om oprettelse af nyheder, ressourcer, debat, nye medlemmer i de grupper, som er med i netværket.

/Søren P

Se nyheden Følg OIOSAML på twitter
Luk

Fjern fremhævning

Digitaliseringsstyrelsen