Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

Image RemovedImage Added

Verificeret forespørgsel

...

Ingen bruger data for CPR
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts:bst2sosi
faultstring = Could not find userData for input CPR.
ÅrsagBruger
ForklaringDer blev ikke fundet bruger informationer for det medsendte CPR nummer.
LøsningUndersøg om det medsendte CPR nummer er korrekt.STS svarfaultcodefaultactor
faultstring
ÅrsagForklaringLøsning

Validering af rolle/autorisation

...

Autorisation og rolle i samme forespørgsel
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:bst2sosi
faultstring = The request was invalid or malformed: Only one of UserAuthorizationCode or UserRole is allowed in request.
ÅrsagAnvender
ForklaringDet er for denne omveksling ikke tilladt at specificere både UserAuthorizationCode og UserRole i samme forespørgsel.
LøsningFjern enten UserAuthorizationCode eller UserRole fra forespørgslen.
STS svarfaultcode
faultactor
faultstring
ÅrsagForklaringLøsning

Validering af claims

Manglende CPR claim
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:*
faultstring = CPR claim missing
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder ikke et CPR claim.
LøsningFremsend en ny forespørgsel med et gyldigt CPR claim (og overvej at stramme op på klient systemets input validering).

...

Ugyldige claims
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:*
faultstring = The request was invalid or malformed: Request contains invalid claims. Valid claims are: <validClaims>
ÅrsagAnvender
ForklaringForespørgslen indeholder claims som ikke kan bruges til denne type omveksling.
LøsningFjern claims fra forespørgslen, som ikke findes i listen af gyldige claims (validClaims).STS svarfaultcode
faultactorfaultstring
ÅrsagForklaringLøsning

Validering af audience

Angivelse af audience mangler
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = Audience is missing
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder ikke angivelse af et audience (som det udstedte token kan benyttes til)
LøsningAnvendersystemet tilrettes til at medsende audience (dette vil ofte være https://fmk).

...

Ugyldig percistence level af MOCES3 certifikat
STS svarfaultcode = wst:FailedAuthentication
faultactor = dk:sosi:sts
faultstring = Authentication failed: signed with unsupported certificate - persistence level of moces3 certificates must be global
ÅrsagAnvender
Forklaring

Der er benyttet et MOCES3 certifikat, som ikke har global persistence level, til at signere ID-kortet.

LøsningSigner ID-kortet med et MOCES3 certifikat med global persistence level
Manglende elementer i signaturBruger id-kort signeret med VOCES/FOCES certifikat
STS svarfaultcode = wst:AuthenticationBadElementsBadRequest
faultactor = dk:sosi:sts:seal
faultstring = Insufficient Digest Elements: *The specified RequestSecurityToken is not understood: ID-Card is a User ID-Card signed with VOCES/FOCES
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder en xml signatur med manglende elementer.
LøsningUndersøg om noget er gået galt i forbindelse med signeringen af forespørgslen.

Validering af token

Bruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat.
LøsningBenyt et MOCES certifikat til at signere ID-kortet
Token ikke udstedt til borger
Manglende elementer i signatur
STS svarfaultcode = wst:
InvalidRequest
AuthenticationBadElements
faultactor = dk:sosi:sts:
its
seal
faultstring = Insufficient Digest Elements: *
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder en xml signatur med manglende elementer.
LøsningUndersøg om noget er gået galt i forbindelse med signeringen af forespørgslen.

Validering af token

Token ikke udstedt til borger
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = Token not issued to a citizen
ÅrsagAnvender
ForklaringDet indeholdte token er ikke udstedt på baggrund af en borgers certifikat. Kun borger-certifikater kan anvendes
LøsningAnvend et token udstedet på baggrund af et borger certifikat (POCES).

...

Manglende token i forespørgsel
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts
faultstring = The specified request failed: No assertion element found on request.
ÅrsagAnvender
ForklaringForespørgslen mangler et bootstrap token (assertion)
LøsningUndersøg hvorfor forespørgslen er blevet lavet uden et bootstrap token
Manglende token attribut
STS svarfaultcode =  wst:InvalidRequest
faultactor =  dk:sosi:sts:*
faultstring =  The request was invalid or malformed: Mandatory '<attributeID>' SAML attribute (<attributeName>) is missing
ÅrsagAnvender
ForklaringEn påkrævet attribut manger i det medsendte token.
LøsningLav en ny forespørgsel hvor den påkrævede attribut er inkluderet i tokenet.

Validering af Assurance/Authentication Level

...

Ugyldigt id-kort med authentication level 4
STS svarfaultcode = wst:BadRequest
faultactor = dk:sosi:sts
faultstring = The specified RequestSecurityToken is not understood: ID-Card is not a User ID-Card
ÅrsagAnvender
ForklaringDet 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

STS svarfaultcode
faultactor

faultstring

ÅrsagForklaringLøsning

Validering af ID-kort

Ugyldig ID-kort version
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts:seal
faultstring = The specified request failed IDCard version ’*’ not supported. Supported versions are: [1.0.1,1.0]
ÅrsagAnvender
ForklaringForespørgslen indeholder et ID-kort med en version der ikke understøttes af STS (se DGWS for detaljer).
LøsningKlienten 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.

...

CVR uoverensstemmelse
STS svarfaultcode = wst:FailedAuthentication
faultactor = dk:sosi:sts
faultstring = Authentication failed: cvr mismatch
ÅrsagAnvender
ForklaringCVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number.
Løsning
  1. Verificer CVR nummer i STS forespørgsel
  2. Find CVR i certifikatet
Bruger id-kort signeret med VOCES/FOCES certifikat
STS svarfaultcode = wst:BadRequest
faultactor = dk:sosi:sts
faultstring = The specified RequestSecurityToken is not understood: ID-Card is a User ID-Card signed with VOCES/FOCES
ÅrsagAnvender
ForklaringBruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat.
ForklaringCVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number.
Løsning
  1. Verificer CVR nummer i STS forespørgsel
  2. Find CVR i certifikatet
LøsningBenyt et MOCES certifikat til at signere ID-kortet
Løsning
Ugyldigt ID-kort i Identity Token Request
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = The request was invalid or malformed: identity token service only support user card.
ÅrsagAnvender
ForklaringIdentity 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 svarfaultcode
faultactor
faultstring
ÅrsagForklaringLøsning
STS svarfaultcode
faultactor
faultstring
ÅrsagForklaring