Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootSEAL.JAVA 2 - Leverancebeskrivelse
includeroottrue

Table of Contents

Introduktion

Som det kan ses på SEAL.JAVA 2 - Guide til anvendere siden, så er det ikke nødvendigt for udviklerne at producere XML. Udviklerne slipper også for at håndtere digests eller digitale signaturer.
Denne form for kompleks logik er indkapslet bag elementer fra biblioteket.

Objekt Hierarkiet

DGWS

De centrale POJO'er i forbindelse med Idkort (DGWS) udgør et simpelt objekthierarki som vist nedenfor i nedenstående figur.

...

I andre tilfælde, f.eks. når man leverer data til Lægemiddelstyrelsen i natlige batch, er det kun nødvendigt at kende systemets identitet. I dette tilfælde er et SystemIDCard tilstrækkeligt.

BST2IDWS

Ligesom i DGWS tilfældet, så findes der i SEAL klasser til omveksling fra boostraptokens til IDWS tokens (borgere)

...

Ved omveksling til IDWS tokens, findes klassen OIOSAMLFactory, som både benyttes i forbindelse med at lave et BST2IDWS request og det indlejrede bootstraptoken (en af de tre underklasser til OIOBSTSAMLAssertion), og i forbindelse med at parse response dokumentet.

BST2SOSI

Nedenfor vises klassehierarkiet for omveksling fra bootstraptokens til SOSI idkort (medarbejdere). Bemærk at Assertion klasserne til BST2SOSI indgår i samme hierarki som BST2IDWS.

...

Ligesom for BST2IDWS omvekslingen, benyttes OIOSAMLFactory her til oprettelse af bootstraptoken, request og response objekter.

Bibliotekerne

Indgangspunktet for udviklerne er altid “SOSIFactory”, “IDWSHFactory”, “OIOSAMLFactory” eller "OIOIDWSFactory". Disse er beskrevet under  SEAL.JAVA 2 - Guide til anvendere.

Herfra er det muligt at oprette nye anmodningsobjekter, svarobjekter, ID-kort, IdentityTokens osv., samt at de-serialisere XML til “kopier” af objekter fra afsendersiden.

Biblioketerne har  et  "CredentialVault” tilknyttet. CredentialVault er en simpel indkapsling af PKCS-elementer (Public Key Crypto System): et (muligvis tomt) sæt betroede X.509-certifikater og nul til et offentlig-privat nøglepar.
CredentialVault overføres til SOSIFactory på byggetid.

Vaults

Den konkrete realisering af vaults kan variere med det miljø, hvor biblioteket bruges. I et simpelt miljø kan realiseringen være en filbaseret CredentialVault, der læser en PKCS # 12-fil og pålidelige X.509-certifikater fra disk (eksempel kan findes i koden), eller en realisering baseret på en database/cache i et komplekst J2EE-miljø.

...

Gliffy Diagram
size600
nameCredentialVault klasse diagram
pagePin2

Custom vaults

Håndtering af primære nøgler er ikke angivet i biblioteket. Så enten foretages en hjemmelavet realiseringen af CredentialVault-grænsefladen, eller hvis miljøet tillader det, så kan man bruge enten FileBasedCredentialVault, RenewableFileBasedCredentialVault eller ClasspathCredentialVault, som alle leveres med biblioteket.

...

EmptyCredentialVault kaster CredentialVaultException, hvis dens metoder bliver kaldt, fordi dette betyder, at du prøver at håndtere et sikkerhedsniveau over niveau 1.

Federations

Konfigurationen kan også suppleres med en federation, som applikationen, der bruger biblioteket, skal fungere indenfor. Denne federation er defineret i henhold til den certificeringsmyndighed, der udsteder de certifikater, der bruges i federation, og identiteten af STS.
Hvis (og kun hvis) en federation er defineret, kan biblioteket automatisk udføre spærringskontrol, når man verificerer digitale signaturer på hentede ID-kort. Biblioteket vil også være robust mod fornyelse af STS-certifikatet.

Federation er den foretrukne mekanisme til at skabe tillid (trust) inden for SOSI, og brugerne opfordres kraftigt til at gøre brug af de indbyggede federations i SOSI-biblioteket.

Se desuden eksempler i SEAL.JAVA 2 - Guide til anvendere

Certifikater og kryptosystemer

SOSI-biblioteket kræver ikke en bestemt JCE

...

Hvis du ikke har en kryptoudbyder, der overholder disse krav, kan Bouncy Castle-kryptoudbyderen (http://www.bouncycastle.org/) bruges.


IDWS funktionalitet

Der er funktioner i SEAL, som kan bruges til at opbygge de requests og response objekter der bruges, når man omveksler OIO Bootstrap token til identity token.

...

Man kan oprette et LibertyResponse med det svar man har modtaget fra Service udbyderen og man har mulighed for manuelt at validere indholdet response.

Note: Fra version 2.5.20 og 2.6.9 placeres elementet BinarySecurityToken på Security elementet i stedet for Header. For at få den gamle opførsel, kan man sætte environment variablen NSP_USE_LEGACY_BINARY_SECURITY_TOKEN_PLACEMENT.

Brugen af IDWS funktionaliteten er vist i nedenstående sekvens diagram.

Sekvensdiagram

Gliffy Diagram
size600
nameSEAL.JAVA IDWS functionality
pagePin1

...