Versions Compared

Key

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

...

Funktion

DGWS System ID kort

DGWS Bruger ID kort

eHDSI 

Eksempler

 DGWS System ID kort

Eksempel på opbygning af kald til STS:

Code Block
collapsetrue
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
SOSIFactory factory = new SOSIFactory(new EmptyCredentialVault(), new Properties());


// --------------------------------------------------------------------
// 2. Build ID Card
// --------------------------------------------------------------------
SystemIDCard idCard = factory.createNewSystemIDCard(...);


// Angiv hvor CVR sættes og at det valideres mod det der står i certifikatet.

// --------------------------------------------------------------------
// 3. Build STS request
// --------------------------------------------------------------------
SecurityTokenRequest securityTokenRequest = factory.createNewSecurityTokenRequest();
securityTokenRequest.setIDCard(idCard);

Document doc = securityTokenRequest.serialize2DOMDocument();

Eksempel på fortolkning af svar fra STS:

Code Block
collapsetrue
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
SOSIFactory factory = new SOSIFactory(new EmptyCredentialVault(), new Properties());


// --------------------------------------------------------------------
// 2. Parse STS response
// --------------------------------------------------------------------
SecurityTokenResponse response = factory.deserializeSecurityTokenResponse(securityTokenResponseXml);


// --------------------------------------------------------------------
// 3. Get ID Card
// -------------------------------------------------------------------- 
IDCard idCard = response.getIDCard();

DGWS Bruger ID kort

Eksempel på opbygning af kald til STS:

Code Block
collapsetrue
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
SOSIFactory factory = new SOSIFactory(new EmptyCredentialVault(), new Properties());


// --------------------------------------------------------------------
// 2. Build ID Card
// --------------------------------------------------------------------
SystemIDCard idCard = factory.createNewUserIDCard(...);


// --------------------------------------------------------------------
// 3. Build STS request
// --------------------------------------------------------------------
SecurityTokenRequest securityTokenRequest = factory.createNewSecurityTokenRequest();
securityTokenRequest.setIDCard(idCard);

Document doc = securityTokenRequest.serialize2DOMDocument();

Eksempel på fortolkning af svar fra STS:

Code Block
collapsetrue
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
SOSIFactory factory = new SOSIFactory(new EmptyCredentialVault(), new Properties());


// --------------------------------------------------------------------
// 2. Parse STS response
// --------------------------------------------------------------------
SecurityTokenResponse response = factory.deserializeIDCard(securityTokenResponseXml);


// --------------------------------------------------------------------
// 3. Get ID Card
// -------------------------------------------------------------------- 
IDCard idCard = response.getIDCard();

eHDSI

Eksempel på opbygning af kald til STS:

Code Block
collapsetrue
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
EHDSIFactory factory = new EHDSIFactory();


// --------------------------------------------------------------------
// 2. Build SAML Assertion
// --------------------------------------------------------------------

// Build Dkncp Boostrap SAML Assertion
DkncpBootstrapSamlAssertionBuilder assertionBuilder= factory.createDkncpBootstrapSamlAssertionBuilder(vault, issuer);

// Set values for the SAML Assertion
assertionBuilder.setIssuer("http://sosi");
assertionBuilder.setAudienceRestriction("https://fmk");
.
.

// Sign and validate Dkncp Bootstrap SAML Assertion
DkncpBootstrapSamlAssertion assertion = assertionBuilder.build();
assertion.validateSchema();
assertion.validateSignatureAndTrust(vault);


// --------------------------------------------------------------------
// 3. Build STS request
// --------------------------------------------------------------------

// Build Dkncp Bootstrap request
DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestDOMBuilder requestBuilder = factory.createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestDOMBuilder();
requestBuilder.setAudience("https://sosi");
requestBuilder.setSigningVault(holderOfKeyVault);
requestBuilder.setDkncpBootstrapToken(assertion);

// Build and sign the final STS request
requestBuilder.build()

Eksempel på fortolkning af svar fra STS:

Code Block
collapsetrue
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
EHDSIFactory factory = new EHDSIFactory();


// --------------------------------------------------------------------
// 2. Parse STS response
// --------------------------------------------------------------------
DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseModelBuilder responseBuilder =  
                   factory.createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseModelBuilder();

DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponse response = responseBuilder.build(responseDocument);

// Validate entire response
response.validateSignature();
response.validateSignatureAndTrust(getHolderOfKeyFederation());


// --------------------------------------------------------------------
// 3. Get SAML Assertion
// --------------------------------------------------------------------

// Get and validate the identity token from the response
EhdsiIdwsXuaEmployeeIdentityToken identityToken = response.getEhdsiIdwsXuaEmployeeIdentityToken();
identityToken.validateSchema();
identityToken.validateSignatureAndTrust(vocesVault);