Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
| Table of Contents |
|---|
Formål
Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af Seal.Java services, kan sættes op, samt hvordan koden bygges, deployes og testes.
Først beskrives de softwaremæssige krav, der er til miljøet, samt hvordan kode hentes og bygges. Dernæst beskrives deploymentmiljøet.
Opsætning
Seal.java 3.x kræver Java 21 21 (Amazon Coretto) for at bygge.
Hvis man bygger lokalt skal Java 21 være konfigureret som beskrevet i Seal.Java Installationsvejledning
Kildekode
Kildekoden til Seal.java findes i SDS Bitbucket:
https://git.nspop.dk/projects/LIB/repos/seal.java/browse
Distribution
De binære pakker er tilgængelige igennem NSPOPs Nexus (pakke manager):
...
Her findes også SNAPSHOT udgaver, som kan bruges under udvikling af funktionalitet, der skal testes inden release.
Bygge og unittest
Koden bygges vha. Maven vha. følgende kommando i roden af projektet:
...
| Code Block | ||
|---|---|---|
| ||
mvn test |
Udvikling
Herunder vejledning til udviklingen i forskellige områder af Seal.java. I Seal.Java stiller helt overordnet følgende funktionalitet til rådighed:
- Generering af DGWS / IDWS / IDWS XUA requests
- Omveksling af tokens
- Generering Signering og validering af digitale XML signaturer.
- Kryptering og dekryptering af XML dokumenter.
Generering af DGWS / IDWS / IDWS XUA tokens
Kommer senere...
Omveksling af tokens
Kommer senere...
Signering og validering af digitale XML signaturer
Definition af en digital signatur er følgende:
...
Signering og validering af digitale XML signaturer
Seal.Java har funktionalitet der kan lave digital signering af et W3C dokument. Der er også funktionalitet til at validere den digitale signatur. Denne funktionalitet findes i klasserne SignAndValidate og ExternalSigning.
Klassen SignAndValidate anvender Seal.Java internt til digital signering og validering. ExternalSigning kan anvendes udefra til digital signering, hvor der er mulighed for at opbygge dele af signaturen.
Eksempel på digital signering
Simpelt eksempel på en digital signatur. Vi vil gerne signerer dette simple XML dokument:
...
- <ds:Signature>: angiver at her starter den digitale signatur.
- <ds:SignedInfo>: indeholder følgende information
- <ds:CanonicalizationMethod>: hvilken kanoniseringsalgoritme er blevet brugt for at normalisere dokumentet før signering.
- <ds:SignatureMethod>: hvilken algoritme er brugt til generingen af signaturen.
- <ds:Reference>: hvilket element er blevet signeret.
- <ds:SignatureValue: indeholder den digitale signatur. Værdien kan verificeres vha. den public key der findes under <ds:KeyInfo>
- <ds:KeyInfo>: indeholder X.509 certifikat der kan bruges til at autentificere underskriveren og validere signaturen.
Kryptering og dekryptering af XML dokumenter
Følgende to metoder kan anvendes til kryptering og dekryptering af XML dokumenter:
...