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.
![]()
Ved succesfuld udstedelse af et STS signeret ID-kort returneres et SOAP svar fra STS indeholdende relevante ID-kort attributter (SAML assertions), dvs. både verificerede (f.eks CVR) og berigede (f.eks. CPR), samt øvrig information jævnfør DGWS.
<?xml version="1.0" encoding="UTF-8" ?> <soapenv:Envelope ...> <soapenv:Header> <wsse:Security id="AAABL0ncNMXd26QUzOR4JlNPU0k="> <wsu:Timestamp> <wsu:Created>2011-04-12T15:17:41</wsu:Created> </wsu:Timestamp> </wsse:Security> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityTokenResponse Context="www.sosi.dk"> <wst:TokenType>urn:oasis:names:tc:SAML:2.0:assertion:</wst:TokenType> <wst:RequestedSecurityToken> ... </wst:RequestedSecurityToken> <wst:Status> <wst:Code>http://schemas.xmlsoap.org/ws/2005/02/trust/status/valid</wst:Code> </wst:Status> <wst:Issuer> <wsa:Address >TESTSTS</wsa:Address> </wst:Issuer> </wst:RequestSecurityTokenResponse> </soapenv:Body> </soapenv:Envelope> |
Ovenstående eksempel viser en del af et svar indeholdende et STS signeret ID-kort. I eksemplet er namespace erklæringer samt alle ID-kort attributter fjernet af hensyn til overskuelighed. Vigtige elementer ved diagnosticering er:
På tilsvarende vis leverer en STS ved afvist forespørgsel et SOAP svar (Fault) indeholdende yderligere information om fejlen.
Nedenstående eksempel viser (igen uden namespace erklæringer) elementerne i svaret der bruges i forbindelse med diagnosticering:
Det er kombinationen af faultcode, faultactor og faultstring som identificerer fejlen, hvor faultstring typisk indeholder den nødvendige information for nærmere fejlsøgning.
Faultcode værdier skal ikke betragtes som entydige fejlkoder, men skal ses i sammenhæng og bør betragtes som en gruppering af de fejltyper der kan opstå ved behandling af kald til tjenester på en STS:
Faultactor værdier
Eksempel på afvist forespørgsel
<?xml version="1.0" encoding="UTF-8" ?> <soapenv:Envelope ...> <soapenv:Header> <wsse:Security id=""> <wsu:Timestamp> <wsu:Created>2011-04-12T15:17:39</wsu:Created> </wsu:Timestamp> </wsse:Security> </soapenv:Header> <soapenv:Body> <soapenv:Fault> <faultcode>wst:InvalidRequest</faultcode> <faultstring>The request was invalid or malformed</faultstring> <faultactor>dk:sosi:sts</faultactor> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> |
Ved nogle fejl kan faultstring indeholde dynamiske informationer som f.eks. autorisationskoder mv. Disse informationer kan anvendes af det kaldende system hvis systemet ikke selv har mulighed for at slå informationerne op i f.eks. Stamdata komponenten.
Det skal bemærkes at en fremtidig opdatering ef DGWS eller en overgang til en anden standard kan betyde at disse informationer ikke længere er inkluderet i faultstring.
De følgende afsnit beskriver en delmængde af de fejlsituationer, man som anvender kan komme ud for i forbindelse med udstedelse af ID-kort mod en STS. Beskrivelserne består af:
I forbindelse med fejlsøgning sammenholdes den konkrete SOAP fejl med de beskrevne STS svar ved hjælp af faultcode, faultactor og faultstring.
| Ugyldigt CPR nummer | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:cvrridcpr faultstring = Authentication failed: cvrrid-cpr mismatch [CVR:*-RID:*,*] |
| Å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 faultactor = dk:sosi:sts:cvrridcpr faultstring = Authentication failed: illegal cvrrid [CVR:*-RID:*] |
| Årsag | Anvender, bruger |
| Forklaring | Det anvendte MOCES certifikat har ikke noget tilknytte 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 |
|
| Manglende autorisation | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: missing authorization |
| Årsag | Bruger |
| 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 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. |
| 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. |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |
| 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. |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |
| 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. |
| 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 |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |
| 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 nameID | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest
|
| Å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øbet | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest
|
| Årsag | Oftest anvender |
| Forklaring | Det indeholdte token er udløbet. |
| Løsning | Hent og benyt et nyt token. |
| Token kan ikke dekrypteres | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = Unable to decrypt element |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et 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 type | |
|---|---|
| STS svar | faultcode = wst:RequestFailed
|
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder en token type, der ikke er gyldig for denne forespørgsel. |
| Løsning | Benyt et token med en af de gyldige typer (allowedTypes) |
| Ukendt token issuer | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Unknown issuer: <issuer> |
| Å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 scope | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Incoming JSON webtoken not scoped for this sts: <scope> |
| Årsag | Anvender |
| Forklaring | 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 | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Incoming JSON webtoken not scoped for audience (<audience>) |
| Årsag | Anvender |
| Forklaring | Listen af scopes i det medsendte token indeholder ikke det krævede scope for dette audience. |
| Løsning |
|
| Manglende certsubdn på jwt token | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = JWT claim missing: certsubdn |
| Årsag | Anvender |
| Forklaring | Medsendte jwt token mangler feltet "certsubdn" |
| Løsning | Udsted et nyt jwt token, hvor feltet "certsubdn" er inkluderet. |
| Manglende IT System på token | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:nbo faultstring = The request was invalid or malformed: IT System must be specified. |
| Årsag | Anvender |
| Forklaring | Feltet "ITSystemName" er påkrævet på det medsendte token, på denne type forespørgsel. |
| Løsning | Lav en ny forespørgsel, hvor "ITSystemName" er specificeret på tokenet. |
| Ugyldig basic privileges | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:bst2sosi faultstring = BST2SOSI assertion contains an invalid basic privilege profile |
| Årsag | Anvender |
| Forklaring | "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. |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |
| Ugyldig assurance level type | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:its faultstring = BST2IDWS assertion do not have a valid type of AssuranceLevel. Type:<type> |
| Årsag | Anvender |
| Forklaring | Det 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 level | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:its faultstring = BST2IDWS assertion do not have a valid AssuranceLevel <assuranceLevel>. AssuranceLevel * or * required. |
| Årsag | Anvender |
| Forklaring | Det medsendte 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 | 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. |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |
| Ugyldig ID-kort version | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:seal faultstring = The specified request failed IDCard version ’*’ not supported. Supported versions are: [1.0.1,1.0] |
| Årsag | Anvender |
| Forklaring | 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 | |
|---|---|
| STS svar | faultcode = wst:InvalidTimeRange faultactor = dk:sosi:sts faultstring = The requested time range is invalid or unsupported: IDCard have maximum validity of 24 hours + [*] |
| Årsag | Anvender |
| 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
|
| Å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 modtager | |
|---|---|
| STS svar | faultcode = wst:InvalidTimeRange eller wst:FailedAuthentication
|
| Å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 | |
|---|---|
| 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 | nameId på ID-kortet indeholder certifikat informationer, som ikke matcher certifikatet der har signeret ID-kortet |
| Løsning |
|
| CVR uoverensstemmelse | |
|---|---|
| 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 |
|
| 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. |
| 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 |
| 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 |
| Ugyldigt ID-kort i Identity Token Request | |
|---|---|
| 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. |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |
| STS svar | faultcode = faultactor = faultstring = |
|---|---|
| Årsag | |
| Forklaring | |
| Løsning | |