Dette dokument henvender sig til anvendere af Seal.Java. Dette dokument giver en mere overordnet introduktion til Seal.Java og der er nogle undersider der fokuserer på nogle konkreteanvendelser af Seal.Java.
I dette dokument beskrives følgende:
Der findes konkrete kodeeksempler i undersiderne til dette dokument, så man kan se hvordan Seal.Java kan anvendes.
Seal.Java er i modsætning til de øvrige NSP komponenter et kodebibliotek og anvenderne forventes at have andre og mere tekniske forudsætninge.
Man bør som minimum have kendskab til følgende for at kunne anvende Seal.Java:
Der vil være en indledende beskrivelse som ikke forudsætter ovenstående.
Seal.Java anvendes til at sikre, at DGWS og IDWS standarden bliver overholdt.
Seal.Java har følgende tre overordnede anvendelser:
Seal.Java indeholder også funtionalitet til signering, validering og kryptering. (skal dette med i guide til anvendere??)
Dette kan f.eks. være en anvender der vil kalde en NSP service.
Dette kan f.eks. være en NSP Service der kan modtage DGWS/IDWS request der er opbygget af en Consumer.
Kan udstede og validere DGWS/IDWS request til en Consumer.
Hvis man vil anvende Seal.Java, så skal man have følgende installeret:
Når man vil anvende Seal.Java er indgangen en række factory klasser.
I den følgende tabel vises en oversigt over de centrale metoder der skal benyttes hvis man anvender Seal.Java som Service Consumer.
| Funktionalitet | Factory | Consumer build STS request | Consumer parse STS response |
|---|---|---|---|
| DGWS | |||
| ID kort (system) | SOSIFactory | createNewSecurityTokenRequest | deserializeSecurityTokenResponse |
| ID kort (bruger) | SOSIFactory | createNewSecurityTokenRequest | deserializeIDCard |
| eHDSI | |||
| eHDSI | EHDSIFactory | DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestDOMBuilder | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseModelBuilder |
I den følgende tabel vises en oversigt over de centrale metoder der skal benyttes hvis man anvender Seal.Java som Security Token Service.
| Funktionalitet | STS omveksling | Factory | STS parse request | STS build response |
|---|---|---|---|---|
| DGWS | ||||
| ID kort (system og bruger) | /sts/services/NewSecurityTokenService | SOSIFactory | deserializeSecurityTokenRequest | createNewSecurityTokenResponse |
| Medarbejderomveksling | ||||
| DGWS id-kort til OIO-Saml Token | /sts/services/Sosi2OIOSaml | |||
| OIO-Saml Token til DGWS id-kort (fjernes?) | /sts/services/OIOSaml2Sosi | |||
| Bootstrap Token til DGWS id-kort | /sts/services/BST2SOSI | |||
| Borgeromveksling | ||||
| Bootstrap Token til OIO-Idws Token | /sts/services/Bst2Idws | |||
| JSON Web Token til OIO-Idws Token | /sts/services/JWT2Idws | |||
| JSON Web Token (JTP-H) profil til OIO-Idws Token | /sts/services/JWT2Idws | |||
| JSON Web Token til OIO-Saml Token (fjernes?) | /sts/services/JWT2OIOSaml | |||
| eHDSI | ||||
| Dkncp Boostrap token til eHDSI Identity token | /sts/services/DKNCPBST2EHDSIIdws | EHDSIFactory | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestModelBuilder | createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseDOMBuilder |
| Funktionalitet | Factory | ||
|---|---|---|---|
Skal signering, validering og kryptering også beskrives?
Dette afsnit beskriver hvad man skal være opmærksom på hvis man anvender Seal.Java 2.6.x eller 2.7.x og vil skifte til Seal.Java 3.0.x
Den oprindelige udgave af Seal.Java er baseret på Java 8 og den er afhængig af en række eksterne biblioteker til bla. signering, kryptering og håndtering af XML. Disse biblioteker er centrale for sikkerheden i Seal.Java og det er en udfordrende opgave at holde dem up-to-date hele tiden. Der findes tilsvarende funktionalitet indbygget som standard i Java og hvis man anvender den, så undgår man disse ekstern afhængigheder. I processen med at skifte til at bruge de indbyggede sikkerhedsbiblioteker blev det besluttet at benytte Java 21 i stedet for Java 8, da NSPs måde at anvende dem på ikke var fuldt understøttet i Java 8.
På følgende punkter er der væsentlige ændringer i forhold til Seal.Java 2: