Page History
Table of Contents outline true
Introduktion
Dette dokument er rettet mod personer der skal forstå de fejlsituationer der kan opstå ved kald til STS.
...
Ved behandling af en forespørgsel om udstedelse af ID-kort hos en STS, gennemgås en række skridt. Forløbet er skitseret forsimplet nedenfor, med de skridt der har primær relevans i forhold til diagnosticering af udstedelse. Hvert skridt kan føre til en afvisning af forespørgslen, mens succesfuld verifikation leder til signering og dermed udstedelse af et ID-kort.
Verificeret forespørgsel
...
I forbindelse med fejlsøgning sammenholdes den konkrete SOAP fejl med de beskrevne STS svar ved hjælp af faultcode, faultactor og faultstring.
Verify UserInfo
Validering af CPR
...
| Ugyldig Ugyldigt CPR nummer | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication
|
| Årsag | Anvender, bruger |
| Forklaring | MOCES Certifikat og CPR-nummer fra ID-kort stemmer ikke overens, og identitet kan ikke bekræftes. |
| Løsning |
|
| Manglende CPR nummer tilknytning | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication
|
| Årsag | Anvender, bruger |
| Forklaring | Det anvendte MOCES certifikat har ikke noget tilknytte tilknyttet CPR-nummer og identitet kan ikke bekræftes. |
| Løsning | Check at der er tilknyttet et CPR til certifikatet hos DanID |
| Fejl ved CPR nummer opslag | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:cvrridcpr faultstring = The specified request failed:* |
| Årsag | STS |
| Forklaring | STS har ikke kunnet foretage opslag imod RID-CPR tjeneste og dermed ikke kunnet verificere ID-kortet. |
| Løsning |
|
Autorisations check
| Fejl ved CVRRID-CPR opslag | |
|---|---|
| Manglende autorisation | |
| STS svar | faultcode = wst:FailedAuthenticationRequestFailed faultactor = dk:sosi:sts:autorisationcvrridcpr faultstring = Authentication failed: missing authorizationThe specified request failed: cvrrid-cpr lookup failed [<subjectSerialNumber>] |
| Årsag | BrugerSTS |
| Forklaring | Der findes ikke nogle tilknyttede gyldige autorisationer til CPR-nummeret i autorisationsregisteret. |
| Løsning | Check at brugeren har en gyldig autorisation. |
| Forkert autorisation | |
| STS har ikke kunnet foretage opslag imod CVRRID-CPR tjeneste og dermed ikke kunnet verificere ID-kortet. | |
| Løsning |
|
| Fejl ved UUID-CPR opslag | |
|---|---|
| STS STS svar | faultcode = wst:FailedAuthenticationRequestFailed faultactor = dk:sosi:sts:autorisationuuidcpr faultstring = Authentication The specified request failed: authorization not found (available [{code, role}, .., {code, role}])uuid-cpr lookup failed [<subjectSerialNumber>] |
| Årsag | BrugerSTS |
| Forklaring | Der blev ikke fundet en autorisation tilknyttet CPR-nummeret, som matcher autorisations- eller uddannelseskode i ID-kortet. Medsendt i fejlteksten er en liste over de autorisationskoder (code) og uddannelseskoder (role) som er tilgængelige for CPR-nummeret. |
| Løsning | Tjek at brugerens autorisationer mathcer med de medsendte oplysninger i ID-kortet, dvs. SAML attributten UserAuthorizationCode (autorisationskode) og UserRole (uddannelseskode). Anvend eventuelt en af de mulige kombinationer i fejlteksten. |
| STS har ikke kunnet foretage opslag imod UUID-CPR tjeneste og dermed ikke kunnet verificere ID-kortet. | |
| Løsning |
|
| Ingen bruger data for CPR | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:bst2sosi faultstring = Could not find userData for input CPR. |
| Årsag | Bruger |
| Forklaring | Der blev ikke fundet bruger informationer for det medsendte CPR nummer. |
| Løsning | Undersøg om det medsendte CPR nummer er korrekt. |
Validering af rolle/autorisation
| Fejl ved autorisation opslag | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:autorisation faultstring = The specified request failed: authorization lookup failed [<cpr>] |
| Årsag | STS |
| Forklaring | STS har ikke kunnet foretage opslag imod autorisationsregisteret og dermed ikke kunnet verificere ID-kortet. |
| Løsning |
|
| Manglende autorisation | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: missing authorization |
| Årsag | Bruger |
| Forklaring | Der er i forespørgslen angivet en autorisation, men der findes ikke nogle tilknyttede gyldige autorisationer til CPR-nummeret i autorisationsregisteret. |
| Løsning | Tjek at brugeren har en gyldig autorisation. |
| Forkert autorisation | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: authorization not found (available [{code, role}, .., {code, role}]) |
| Årsag | Bruger |
| Forklaring | Der blev ikke fundet en autorisation tilknyttet CPR-nummeret, som matcher autorisations- eller uddannelseskode i ID-kortet. Medsendt i fejlteksten er en liste over de autorisationskoder (code) og uddannelseskoder (role) som er tilgængelige for CPR-nummeret. |
| Løsning | Tjek at brugerens autorisationer mathcer med de medsendte oplysninger i ID-kortet, dvs. SAML attributten UserAuthorizationCode (autorisationskode) og UserRole (uddannelseskode). Anvend eventuelt en af de mulige kombinationer i fejlteksten. |
| Flere autorisationer fundet | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: multiple authorizations found ([{code, role}, .., {code, role}]) |
| Årsag | Bruger |
| Forklaring | Der blev fundet mere end én autorisation tilknyttet CPR-nummeret, som matcher autorisations- eller uddannelseskode i ID-kortet. Medsendt i fejlteksten er en liste over de autorisationskoder (code) og uddannelseskoder (role) som matchede. |
| Løsning | Angiv i ID-kortet hvilken autorisation der skal bruges, dvs. enten med angivelse af autorsations- eller uddannelseskode. Anvend eventuelt en af de mulige kombinationer i fejlteksten. Alternativt kan bruger rollen sættes til "urn:dk:healthcare:no-role" i forespørgslen for at angive at der ikke ønskes en rolle eller autorisation på ID-kortet. |
| Ingen rolle eller autorisation fundet for bruger | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:nbo faultstring = The request was invalid or malformed: EducationCode must be specified or unique authorization must exist. |
| Årsag | Bruger |
| Forklaring | Der skal enten være angivet en rolle i ID-kortet, eller den specificerede bruger skal have præcis én national rolle eller autorisation. |
| Løsning | Angiv i ID-kortet den ønskede rolle eller autorisation for brugeren. |
| Bruger har ikke den forespurgte nationale rolle | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: user does not have the requested role (<role>) |
| Årsag | Bruger |
| Forklaring | Den medsendte nationale rolle er ikke tilknyttet den specificerede bruger. |
| Løsning | Lav en ny forespørgsel med en rolle, som er knyttet til den specificerede bruger. |
| Ugyldig national rolle | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: invalid role supplied (<role>) |
| Årsag | Anvender |
| Forklaring | Medsendte rolle har formatet af en national rolle, men matcher ikke en kendt national rolle. |
| Løsning | Undersøg om medsendte rolle er indtastet forkert. |
| Flere nationale roller fundet | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: multiple national roles found (<nationalRoles>) |
| Årsag | Anvender |
| Forklaring | Forespørgslen indeholder ikke en national rolle eller autorisation, og der blev fundet mere end én national rolle tilknyttet CPR-nummeret for brugeren. |
| Løsning | Angiv i forespørgslen hvilken national rolle der skal bruges. Anvend en af de mulige roller (nationalRoles) fra fejlteksten. Alternativt kan bruger rollen sættes til "urn:dk:healthcare:no-role" i forespørgslen for at angive at der ikke ønskes en rolle eller autorisation på ID-kortet. |
| Autorisation og rolle i samme forespørgsel | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:bst2sosi faultstring = The request was invalid or malformed: Only one of UserAuthorizationCode or UserRole is allowed in request. |
| Årsag | Anvender |
| Forklaring | Det er for denne omveksling ikke tilladt at specificere både UserAuthorizationCode og UserRole i samme forespørgsel. |
| Løsning | Fjern enten UserAuthorizationCode eller UserRole fra forespørgslen. |
Validering af claims
| Manglende CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = CPR claim missing |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ikke et CPR claim. |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim (og overvej at stramme op på klient systemets input validering). |
| Ugyldigt CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = CPR-number must be 10 digits |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et CPR claim i ugyldigt format. |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim (og overvej at stramme op på klient systemets input validering). |
| Forkert CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = CPR/PID mismatch |
| Årsag | Anvender |
| Forklaring | Det medsendte påståede CPR matcher ikke cpr nummeret tilknyttet brugerens certifikat. Brugeren har formentlig tastet forkert. |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim. |
| Forkert CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Cpr claim does not match cpr in assertion or Subject NameID. |
| Årsag | Anvender |
| Forklaring | Det medsendte påståede CPR matcher ikke cpr nummeret i det medsendte token, eller Subject NameID. Brugeren har formentlig tastet forkert. |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim. |
| Fejl i validering af CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Unable to validateScope cpr |
| Årsag | STS |
| Forklaring | STS'en kunne ikke validere gyldigheden af det medsendte påståede CPR. |
| Løsning | Kontakt NSP support for at få fejlen undersøgt nærmere. |
| Tomt OnBehalfOf claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = OnBehalfOf claim must not be empty |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et tomt OnBehalfOf claim. |
| Løsning | Fremsend en ny forespørgsel, enten uden OnBehalfOf claim eller med et gyldigt OnBehalfOf claim (og overvej at stramme op på klient systemets input validering). |
| Ugyldigt OnBehalfOf claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = No privileges provided by procuration |
| Årsag | Anvender |
| Forklaring | Den påståede fuldmagt (OnBehalfOf) findes ikke. |
| Løsning |
|
| Fejl i validering af OnBehalfOf claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Unable to get procurations |
| Årsag | STS |
| Forklaring | STS'en kunne ikke validere gyldigheden af den medsendte påståede fuldmagt. |
| Løsning | Kontakt NSP support for at få fejlen undersøgt nærmere. |
| Ugyldige claims | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = The request was invalid or malformed: Request contains invalid claims. Valid claims are: <validClaims> |
| Årsag | Anvender |
| Forklaring | Forespørgslen indeholder claims som ikke kan bruges til denne type omveksling. |
| Løsning | Fjern claims fra forespørgslen, som ikke findes i listen af gyldige claims (validClaims). |
Validering af audience
| Angivelse af audience mangler | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Audience is missing |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ikke angivelse af et audience (som det udstedte token kan benyttes til) |
| Løsning | Anvendersystemet tilrettes til at medsende audience (dette vil ofte være https://fmk). |
| Ukendt audience | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest
|
| Årsag | Anvender eller konfiguration |
| Forklaring | Den medsendte forespørgsel indeholder angivelse af et ukendt audience (som det udstedte token kan benyttes til) |
| Løsning | Anvendersystemet tilrettes til at medsende korrekt audience (dette vil ofte være https://fmk). Hvis medsendte audience er korrekt, kontaktes NSP support for at få konfigureret STS med dette audience. |
| Ukendt audience for issuer | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:its faultstring = BST2IDWS assertion has an invalid audience. Actual audience:<audience>, Allowed audience:<allowedAudience> |
| Årsag | Anvender eller konfiguration |
| Forklaring | Det angivne audience er ikke tilladt for udstederen af det medsendte token |
| Løsning | Sørg for at 'AudienceRestriction' på det medsendte token er allowedAudience |
| Ukendt audience for BST2SOSI forespørgsel | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:bst2sosi faultstring = BST2SOSI assertion does not have allowed audience. Actual type:<audience>, Allowed type:<allowedAudience> |
| Årsag | Anvender |
| Forklaring | BST2SOSI omvekslingen kræver en bestemt audience (allowedAudience). |
| Løsning | Lav en ny forespørgsel hvor audience på tokenet er allowedAudience. |
Validering af signatur
| Ugyldig signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = Unable to validate envelope signature |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ingen eller en ugyldig xml signatur - dette sker ofte ved omformatering af indeholdet på en signeret besked |
| Løsning | Anvendersystemet tilrettes til at signere og/eller undgå omformatering i forbindelse med afsendelse |
| Ugyldig token signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = Signature on OIOSAMLAssertion is invalid |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et bootstrap token med ugyldig xml signatur - dette sker ofte ved omformatering af indeholdet på en signeret besked |
| Løsning | Anvendersystemet tilrettes til at signere og/eller undgå omformatering i forbindelse med afsendelse |
| Certifikat udløbet | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:* faultstring = Certificate expired or not yet valid |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel er signeret med et udløbet certifikat. |
| Løsning | Anvendersystemet skal forny sit certifikat og benytte dette. Endvidere skal NSP konfigureres til at tillade det nye certifikat |
| Certifikat udløbet for token signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest
|
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte token er signeret med et udløbet certifikat. |
| Løsning | Kontakt NSP support. Den Idp (typisk Nem-id) som signerer token skal benytte et nyt certifikat, NSP skal konfigureres til at stole på dette. |
| Certifikat endnu ikke gyldigt for token signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest
|
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte token er signeret med et certifikat der endnu ikke kan benyttes. |
| Løsning | Et af følgende:
|
| Certifikat revokeret | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:* faultstring = Certificate revoked |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel er signeret med et revokeret certifikat. |
| Løsning | Anvendersystemet skal forny sit certifikat og benytte dette. Endvidere skal NSP konfigureres til at tillade det nye certifikat |
| Certifikat revokeret for token signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = En af følgende:
|
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte token er signeret med et revokeret certifikat. |
| Løsning | Kontakt NSP support. Den Idp (typisk Nem-id) som signerer token skal benytte et nyt certifikat, NSP skal konfigureres til at stole på dette. |
| Fejl i validering af certifikat | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:* faultstring = Authentication failed: Certificate invalid (<errorMessage>) |
| Årsag | Ukendt |
| Forklaring | Noget gik galt i valideringen af det signerende certifikat. |
| Løsning | Kontakt NSP support med henblik på analyse af fejlen. |
| Certifikat ikke konfigureret for audience | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:* faultstring = Signing certificate not whitelisted for this audience |
| Årsag | Anvender |
| Forklaring | Det signerende certifikat er ikke whitelistet for det angivne audience. |
| Løsning | Kontakt NSP support med henblik på at få det ønskede certifikat whitelistet. |
| Certifikat ikke konfigureret for issuer | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:* faultstring = Signing certificate not whitelisted for this issuer |
| Årsag | Anvender |
| Forklaring | Det signerende certifikat er ikke whitelistet for udstederen af ID-kortet. |
| Løsning | Kontakt NSP support med henblik på at få det ønskede certifikat whitelistet. |
| Ugyldig udsteder | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: certificate issued by invalid party |
| Årsag | Anvender |
| Forklaring | Det underskrivende certifikat er ikke udstedt i føderationen og kan derfor ikke anvendes til udstedelse af ID-kort. |
| Løsning |
|
| Certifikat ikke trusted for token signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = The certificate that signed the security token is not trusted |
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte token er signeret med et certifikat, som ikke accepteres af STS. Token bør typisk være signeret af Nem-id. |
| Løsning | Anvend et token signeret af Nem-id, eller kontakt NSP support med henblik på alternativ løsning om nødvendigt (der findes et anvendeligt alternativ i testmiljøerne)) |
| Certifikat ikke whitelisted | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication
|
| Årsag | STS |
| Forklaring | Det underskrivende certifikat er ikke whitelisted i STS’en og kan derfor ikke udstede ID-kort. |
| Løsning | Kontakt NSP support med henblik på at få det ønskede certifikat whitelistet. |
| MOCES certifikat blacklisted | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: MOCES is blacklisted [*] |
| Årsag | STS |
| Forklaring | Det underskrivende certifikat er blacklisted i STS’en og kan derfor ikke udstede ID-kort. |
| Løsning |
|
| Ugyldig certifikat type | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: signed with unsupported certificate type |
| Årsag | Anvender |
| Forklaring | Typen af det underskrivende certifikat er ikke supporteret af STS. STS understøtter typerne: MOCES, VOCES, FOCES, POCES |
| Løsning | Benyt et certifikat med et af de understøttede typer. |
| Ugyldig certifikat type til signering af ID-kort | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: must be signed with <certType> |
| Årsag | Anvender |
| Forklaring | ID-kortet skal være signeret af et certifikat med type certType. Bruger ID-kort skal signeres af MOCES certifikater. System ID-kort må ikke signeres af MOCES certifikater. |
| Løsning | Signer ID-kortet med et certifikat af typen certType. |
| Ugyldig percistence level af MOCES3 certifikat | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: signed with unsupported certificate - persistence level of moces3 certificates must be global |
| Årsag | Anvender |
| Forklaring | Der er benyttet et MOCES3 certifikat, som ikke har global persistence level, til at signere ID-kortet. |
| Løsning | Signer ID-kortet med et MOCES3 certifikat med global persistence level |
| Bruger id-kort signeret med VOCES/FOCES certifikat | |
|---|---|
| STS svar | faultcode = wst:BadRequest faultactor = dk:sosi:sts faultstring = The specified RequestSecurityToken is not understood: ID-Card is a User ID-Card signed with VOCES/FOCES |
| Årsag | Anvender |
| Forklaring | Bruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat. |
| Løsning | Benyt et MOCES certifikat til at signere ID-kortet |
| Manglende elementer i signatur | |
|---|---|
| STS svar | faultcode = wst:AuthenticationBadElements faultactor = dk:sosi:sts:seal faultstring = Insufficient Digest Elements: * |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder en xml signatur med manglende elementer. |
| Løsning | Undersøg om noget er gået galt i forbindelse med signeringen af forespørgslen. |
Validering af token
| Token ikke udstedt til borger | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Token not issued to a citizen |
| Årsag | Anvender |
| Forklaring | Det indeholdte token er ikke udstedt på baggrund af en borgers certifikat. Kun borger-certifikater kan anvendes |
| Løsning | Anvend et token udstedet på baggrund af et borger certifikat (POCES). |
| Ugyldigt nameIDFlere autorisationer fundet | |
|---|---|
| STS svar | faultcode = wst: FailedAuthenticationInvalidRequest its |
| Årsag | Bruger |
| Forklaring | Der blev fundet mere end én autorisation tilknyttet CPR-nummeret, som matcher autorisations- eller uddannelseskode i ID-kortet. Medsendt i fejlteksten er en liste over de autorisationskoder (code) og uddannelseskoder (role) som matchede. |
| Løsning | Angiv i ID-kortet hvilken autorisation der skal bruges, dvs. enten med angivelse af autorsations- eller uddannelseskode. Anvend eventuelt en af de mulige kombinationer i fejlteksten. |
Check af CPR claim
En af følgende:
| |
| Årsag | Ukendt |
|---|---|
| Forklaring | Det indeholdte token indeholder et ugyldigt formateret nameID. |
| Løsning | Hvis token er udstedt af Nem-id, kontaktes NSP supporten med henblik på analyse af fejlen. |
| Token udløbetManglende CPR claim | ||
|---|---|---|
| STS svar | faultcode = wst:InvalidRequest its En af følgende
| |
| Årsag | AnvenderOftest anvender | |
| Forklaring | Den medsendte forespørgsel indeholder ikke et CPR claimDet indeholdte token er udløbet. | |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim (og overvej at stramme op på klient systemets input validering). | Hent og benyt et nyt token. |
| Token kan ikke dekrypteresUgyldigt CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest eller wst:RequestFailed En af følgende:
|
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et CPR claim i ugyldigt format. |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim (og overvej at stramme op på klient systemets input validering). |
| token, som er krypteret med en nøgle som ikke er kendt af STS’en | |
| Løsning | Kan f.eks. skyldes manglende kryptering, kryptering med forkert nøgle, eller at der er "pillet" ved data efter kryptering. |
| Ugyldig SAML token typeForkert CPR claim | |
|---|---|
| STS svar | faultcode = wst: InvalidRequestRequestFailed faultstring = CPR/PID mismatch :sosi:sts:its
|
| Årsag | Anvender |
| Forklaring | Det medsendte påståede CPR matcher ikke cpr nummeret tilknyttet brugerens certifikat. Brugeren har formentlig tastet forkertDen medsendte forespørgsel indeholder en token type, der ikke er gyldig for denne forespørgsel. |
| Løsning | Fremsend en ny forespørgsel med et gyldigt CPR claim. |
Check af audience
| Benyt et token med en af de gyldige typer (allowedTypes) |
| Ukendt token issuerAngivelse af audience mangler | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest eller wst:RequestFailed |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ikke angivelse af et audience (som det udstedte token kan benyttes til) |
| Løsning | Anvendersystemet tilrettes til at medsende audience (dette vil ofte være https://fmk). |
| Ukendt audience | |
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Audience not configured |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder angivelse af et ukendt audience (som det udstedte token kan benyttes til) |
| Løsning | Anvendersystemet tilrettes til at medsende korrekt audience (dette vil ofte være https://fmk). |
Check af signatur på besked
En af følgende:
| |
| Årsag | Anvender, STS |
|---|---|
| Forklaring | Udstederen (issuer) af det medsendte token er ikke kendt af STS'en |
| Løsning | Undersøg om det medsendte token har sat issuer korrekt. Hvis udstederen af tokenet er korrekt, skal NSP support kontaktes for at få STS'en konfigureret med denne udsteder. |
| Manglende STS token scopeUgyldig signatur | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:*its faultstring = Unable to validate envelope signatureIncoming JSON webtoken not scoped for this sts: <scope> |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ingen eller en ugyldig xml signatur - dette sker ofte ved omformatering af indeholdet på en signeret besked |
| Løsning | Anvendersystemet tilrettes til at signere og/eller undgå omformatering i forbindelse med afsendelse |
| Listen af scopes i det medsendte token indeholder ikke det krævede STS scope for denne type forespørgsel. | |
| Løsning |
|
| Manglende jwt scope konfiguration for audience | |
|---|---|
| STS svar | faultcode = wst: |
| InvalidRequest faultactor = dk:sosi:sts: |
| its faultstring = |
| JWT scope not configured for audience <audience> |
| Årsag |
|---|
| STS |
| Forklaring |
|---|
| Det medsendte |
| audience er |
| ikke konfigureret med et |
| krævet jwt scope | |
| Løsning | Kontakt NSP support med henblik på at rette konfigurationen for dette audience. |
|---|
| Manglende audience token scope | Anvendersystemet skal forny sit certifikat og benytte dette. Endvidere skal NSP konfigureres til at tillade det nye certifikat | Certifikat revokeret | ||
|---|---|---|---|---|
| STS svar | faultcode = wst:FailedAuthenticationInvalidRequest faultactor = dk:sosi:sts:*its faultstring = Certificate revokedIncoming JSON webtoken not scoped for audience (<audience>) | |||
| Årsag | Anvender | |||
| Forklaring | Den medsendte forespørgsel er signeret med et revokeret certifikat. | |||
| Løsning | Anvendersystemet skal forny sit certifikat og benytte dette. Endvidere skal NSP konfigureres til at tillade det nye certifikat | |||
| Listen af scopes i det medsendte token indeholder ikke det krævede scope for dette audience. | ||||
| Løsning |
| |||
| Manglende certsubdn på jwt tokenCertifikat ikke konfigureret | |
|---|---|
| STS svar | faultcode = wst:FailedAuthenticationInvalidRequest faultactor = dk:sosi:sts:*its faultstring = Signing certificate not whitelisted for this audienceJWT claim missing: certsubdn |
| Årsag | Anvender |
| Forklaring | Det signerende certifikat er ikke whitelistet til at det angivne audience. |
| Løsning | Kontakt NSP support med henblik på at få det ønskede certifikat whitelistet. |
Check af Bootstrap token
| Medsendte jwt token mangler feltet "certsubdn" | |
| Løsning | Udsted et nyt jwt token, hvor feltet "certsubdn" er inkluderet. |
|---|
| Manglende IT System | |
|---|---|
| Ugyldig signatur | |
| STS svar | faultcode = wst:InvalidRequest faultstring = Signature on OIOSAMLAssertion is invalid = dk:sosi:sts:nbo eller dk:sosi:sts:bst2sosi
|
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et bootstrap token med ugyldig xml signatur - dette sker ofte ved omformatering af indeholdet på en signeret besked |
| Løsning | Anvendersystemet tilrettes til at signere og/eller undgå omformatering i forbindelse med afsendelse |
| Feltet "ITSystemName" er påkrævet for denne type forespørgsel. | |
| Løsning | Lav en ny forespørgsel, hvor "ITSystemName" er specificeret. |
| Ugyldig basic privilegesCertifikat udløbet | |
|---|---|
| STS svar | faultcode = wst:InvalidRequestRequestFailed faultactor = dk:sosi:sts:*bst2sosi faultstring = En af følgende:
|
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte bootstrap token er signeret med et udløbet certifikat. |
| Løsning | Kontakt NSP support. Den Idp (typisk Nem-id) som signerer bootstrap token skal benytte et nyt certifikat, NSP skal konfigureres til at stole på dette. |
| "privileges" på det medsendte bootstrap token har et ugyldigt format og kunne ikke læses af STS'en. | |
| Løsning | Fjern "privileges" feltet eller ret det til et gyldigt format. |
|---|
| Manglende RID eller UUID på bootstrap token | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest |
faultactor = dk:sosi:sts:*
faultstring = En af følgende:
- Bootstrap token signer not valid yet
- BST2SOSI Certificate not valid yet
- JWT signer not valid yet
- NBO certificate not valid yet
- JWT signer not valid yet
faultactor = dk:sosi:sts:bst2sosi faultstring = BST2SOSI assertion must contain one of the attributes: '<ridAttribute>' or '<uuidAttribute>' | |
| Årsag | Anvender |
|---|---|
| Forklaring | For den medsendte token type, kræves enten et RID nummer eller et UUID |
| Løsning | Tilføj RID nummer eller UUID til medsendte token |
| Manglende UUID på bootstrap token |
|---|
Et af følgende:
- Vent til certifikatet bliver gyldigt. Tidspunktet fremgår af certifikatet.
- Kontakt NSP support. Den Idp (typisk Nem-id) som signerer bootstrap token skal benytte et nyt certifikat, NSP skal konfigureres til at stole på dette.
| Certifikat revokeret | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = En af følgende: faultstring = BST2SOSI assertion must contain the attribute '<uuidAttribute>' |
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte bootstrap token er signeret med et revokeret certifikat. |
| Løsning | Kontakt NSP support. Den Idp (typisk Nem-id) som signerer bootstrap token skal benytte et nyt certifikat, NSP skal konfigureres til at stole på dette. |
| For den medsendte token type, kræves et UUID | |
| Løsning | Tilføj UUID til medsendte token |
| Manglende token i forespørgselCertifikat ikke trusted | |
|---|---|
| STS svar | faultcode = wst:InvalidRequestRequestFailed faultactor = dk:sosi:sts:* faultstring = The certificate that signed the security token is not trustedspecified request failed: No assertion element found on request. |
| Årsag | Anvender eller konfiguration |
| Forklaring | Det indeholdte bootstrap token er signeret med et certifikat, som ikke accepteres af STS. Bootstrap token bør typisk være signeret af Nem-id. |
| Løsning | Anvend et bootstrap token signeret af Nem-id, eller kontakt NSP support med henblik på alternativ løsning om nødvendigt (der findes et anvendeligt alternativ i testmiljøerne)) |
| Forespørgslen mangler et bootstrap token (assertion) | |
| Løsning | Undersøg hvorfor forespørgslen er blevet lavet uden et bootstrap token |
| Manglende token attributBootstrap token ikke udstedt til borger | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its* faultstring = Token not issued to a citizenThe request was invalid or malformed: Mandatory '<attributeID>' SAML attribute (<attributeName>) is missing |
| Årsag | Anvender |
| Forklaring | Det indeholdte bootstrap token er ikke udstedt på baggrund af en borgers certifikat. Kun borger-certifikater kan anvendes |
| Løsning | Anvend et bootstrap token udstedet på baggrund af et borger certifikat (POCES). |
| En påkrævet attribut manger i det medsendte token. | |
| Løsning | Lav en ny forespørgsel hvor den påkrævede attribut er inkluderet i tokenet. |
Validering af Assurance/Authentication Level
| Ugyldig assurance level typeUgyldigt nameid | |
|---|---|
| STS svar | faultcode = wst: InvalidRequestRequestFailed En af følgende:
|
| Årsag | UkendtAnvender |
| Forklaring | Det indeholdte bootstrap token indeholder et ugyldigt formateret nameid. |
| Løsning | Hvis bootstrap token er udstedt af Nem-id, kontaktes NSP supporten med henblik på analyse af fejlen. |
medsendte token har en assurance level type, der ikke kan benyttes på et token af denne type. Der findes to assurance level typer:
| |
| Løsning | Lav en ny forespørgsel hvor assurance level typen er skiftet til den anden type. |
| Ugyldig assurance levelBootstrap token udløbet | |
|---|---|
| STS svar | faultcode = wst: InvalidRequestRequestFailed |
| Årsag | Oftest anvender |
| Forklaring | Det indeholdte bootstrap token er udløbet. |
| Løsning | Hent og benyt et nyt bootstrap token. |
Dekryptering
En af følgende:
|
faultactor = dk:sosi:sts:*
faultstring = Unable to decrypt element
| Årsag | Anvender |
|---|---|
| Forklaring |
| Det medsendte |
Parse SecurityToken Request
| token har en assurance level, der er ugyldig for denne type forespørgsel. | |
| Løsning | Lav en ny forespørgsel, hvor det medsendte token har en af de foreslåede assurance levels. |
|---|
| Ugyldig assurance level |
|---|
| STS svar | faultcode = wst: |
|---|---|
| AssuranceLevel faultactor = dk:sosi:sts: |
| nbo faultstring = |
| Assurance level other than 3 or 4 is not accepted | |
| Årsag | Anvender |
|---|---|
| Forklaring |
Check Authentication Level
| Det medsendte token har en assurance level, der er ugyldig for denne type forespørgsel. Der accepteres kun assurance level 3 og 4 | |
| Løsning | Lav en ny forespørgsel, hvor det medsendte token har assurance level 3 eller 4. |
|---|
| Ugyldig authentication level |
|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts faultstring = The specified RequestSecurityToken is not understood: Authentication level not supported (*) |
|---|---|
| Årsag | Anvender |
| Forklaring | Forespørgslen indeholder et ID-kort med et authentication level der ikke er understøttet, dvs. forskelligt fra level 3 eller 4 (se DGWS for detaljer). |
| Løsning | Klienten rettes, så kun understøttede authentication level versioner anvendes. |
Verify ID Card
| Ugyldigt id-kort |
|---|
| med authentication level 3 | |
|---|---|
| STS svar | faultcode = wst: |
| BadRequest faultactor = dk:sosi:sts faultstring = The |
| specified RequestSecurityToken is not understood: ID-Card is not a System ID-Card | |
| Årsag | Anvender |
|---|---|
| Forklaring |
| Det medsendte ID-kort |
| har authentication level 3, men er ikke et System ID-kort. | |
| Løsning | Ret ID-kortet så det matcher et System ID-kort |
|---|
| Ugyldigt id-kort med authentication level 4 |
|---|
| STS svar | faultcode = wst: |
|---|---|
| BadRequest faultactor = dk:sosi:sts faultstring = The |
| specified RequestSecurityToken is not understood: ID-Card is not a User ID-Card | |
| Årsag | Anvender |
|---|
| Forklaring | Det medsendte ID-kort har authentication level 4, men er ikke et Bruger ID-kort. |
|---|---|
| Løsning | Hvis der ønskes et Bruger ID-kort: Ret ID-kortet så det matcher et Bruger ID-kort Hvis der ønskes et System ID-kort: Ret authentication level til 3 |
Validering af ID-kort
| Ugyldig ID-kort version |
|---|
- Undersøg om anvenderens IT-system anvender korrekt tid
- Check om NTP anvendes, evt. hyppighed og NTP server
- Synkroniser tid
| Id kort for gammelt til denne modtager | |
|---|---|
| STS svar | faultcode = wst:InvalidTimeRangeRequestFailed faultactor = dk:sosi:sts:seal faultstring = The requested time range is invalid or unsupported: IDCard is too old for this audience: * [*>*specified request failed IDCard version ’*’ not supported. Supported versions are: [1.0.1,1.0] |
| Årsag | Anvender |
| Forklaring | Ved billetomveksling kan der være lagt begrænsninger på hvor gammelt det id-kort som søges vekslet må være. Medsendt i fejlteksten er modtager, samt aktuel og maksimal alder på id-kortet i minutter. Dette vil typisk være 24 timer, men kan for visse modtagere være mindre. |
| Løsning | Forny ID-kortet og få det signeret af STS. |
Verify Certificate
| Forespørgslen indeholder et ID-kort med en version der ikke understøttes af STS (se DGWS for detaljer). | |
| Løsning | Klienten rettes, så kun understøttede ID-kort versioner anvendes. Nyere versioner af både Seal.Java og Seal.NET producerer ID-kort med korrekt version. |
|---|
| Ugyldigt tidsinterval på ID-kort | |
|---|---|
| Ugyldig udsteder | |
| STS svar | faultcode = wst:FailedAuthenticationInvalidTimeRange faultactor = dk:sosi:sts faultstring = Authentication failed: certificate issued by invalid partyThe requested time range is invalid or unsupported: IDCard have maximum validity of 24 hours + [*] |
| Årsag | Anvender |
| Forklaring | Det underskrivende certifikat er ikke udstedt i føderationen og kan derfor ikke anvendes til udstedelse af ID-kort. |
| Løsning |
|
Verify ACL
| Forklaring | Forespørgslen anmoder om et ID-kort med gyldighed mere end 24 timer, hvilket ikke understøttes (se DGWS for detaljer). |
|---|---|
| Løsning | Klienten rettes, så kun ID-kort med gyldighed på 24 timer eller mindre forsøges udstedt. |
| Ugyldigt tidsinterval på ID-kort | |
|---|---|
| STS svar | faultcode = wst:InvalidTimeRange eller |
wst:FailedAuthentication |
faultstring = Authentication failed: MOCES is blacklisted [*]
- Bekræft at certifikatet er black listed
- Undersøg årsagen til black listing
Verify SystemInfo
:its
| |
| Årsag | Anvender, STS |
|---|---|
| Forklaring | ID-kortet er udstedt på et system, der ikke er tidssynkroniseret med STS. Hvis tiden afviger signifikant (der tillades nogen tidsdrift), kan ID-kortet ikke udstedes. |
| Løsning | Såfremt STS tiden ikke er korrekt vil der generelt være problemer med udstedelsen af ID-kort. Fejlen vil derfor overvejende skulle fejlsøges hos anvenderen:
|
| ID-kort for gammelt til denne modtagerCVR uoverensstemmelse | |
|---|---|
| STS svar | faultcode = wst:InvalidTimeRange eller wst:FailedAuthentication En af følgende:
|
| Årsag | Anvender |
| Forklaring | Ved billetomveksling kan der være lagt begrænsninger på hvor gammelt det id-kort som søges vekslet må være. Dette vil typisk være 24 timer, men kan for visse modtagere være mindre. |
| Løsning | Forny ID-kortet og få det signeret af STS. |
| Ugyldigt nameId | CVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number. | Løsning | |||
|---|---|---|---|---|---|
| STS svar | faultcode = wst:BadRequest faultactor = dk:sosi:sts faultstring = The specified RequestSecurityToken is not understood: IDCard nameId must match information from certificate. | ||||
| Årsag | Anvender | ||||
| Forklaring | Løsning | ||||
| STS svar | faultcode = faultactor = faultstring = | ||||
| nameId på ID-kortet indeholder certifikat informationer, som ikke matcher certifikatet der har signeret ID-kortet | |||||
| Løsning |
| ||||
| CVR uoverensstemmelse | Årsag | Forklaring | Løsning|||
|---|---|---|---|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: cvr mismatch | ||||
| Årsag | Anvender | ||||
| Forklaring | CVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number. | ||||
| Løsning |
| svarfaultcode = faultactor = faultstring = |
| ||
| Ugyldigt ID-kort i Identity Token Request | Årsag | Forklaring | Løsning|||
|---|---|---|---|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = The request was invalid or malformed: identity token service only support user card. | ||||
| Årsag | Anvender | ||||
| Forklaring | Identity Token Request indeholder en ID-kort, som ikke er et gyldigt Bruger ID-kort. | ||||
| Løsning | Undersøg ID-kortet i forespørgslen for fejl. Undersøg f.eks. om ID-kortet indeholder UserInfo. | ||||
