Versions Compared

Key

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

...

Funktion



DGWS System ID kort

eHDSI 

 Eksempler

  DGWS System ID kort

Eksempel når STS modtager et DGWS kald med et System ID kort:

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


// --------------------------------------------------------------------
// 2. Parse STS request
// --------------------------------------------------------------------
SecurityTokenRequest request = factory.deserializeSecurityTokenRequest(securityTokenRequestXml)


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

Eksempel på det svar STS sender efter at have modtaget et DGWS kald med et System ID kort:

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


// --------------------------------------------------------------------
// 2. Build signed ID Card
// --------------------------------------------------------------------
signedIdCard = factory.copyToVOCESSignedIdCard(idCard, ...);


// --------------------------------------------------------------------
// 3. Build STS response
// --------------------------------------------------------------------
SecurityTokenResponse response = factory.createNewSecurityTokenResponse(request);
response.setIDCard(signedIdCard);

Dkncp Boostrap token → eHDSI Identity Token

Eksempel når STS modtager et Dkncp Bootstrap token

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


// --------------------------------------------------------------------
// 2. Parse STS request
// --------------------------------------------------------------------

// Deserialize (parse) request:
DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequest request = factory.createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestModelBuilder().build(requestDocument);

// validate request
request.validateSignatureAndTrust(holderOfKey);
request.validateHolderOfKeyRelation();


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

// Get Dkncp Bootstrap Saml Assertion
DkncpBootstrapSamlAssertion assertion = request.getDkncpBootstrapSamlAssertion();

// The Dkncp Bootstrap Assertion can be schema validated after serialize/deserialize
assertion.validateSchema();
assertion.validateSignatureAndTrust(vocesVault);

Eksempel på det svar STS sender efter at have modtaget et Dkncp Bootstrap token:

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


// --------------------------------------------------------------------
// 2. Build eHDSI Identity Token SAML Assertion
// --------------------------------------------------------------------
EhdsiIdwsXuaEmployeeIdentityToken ehdsiIdwsXuaEmployeeIdentityToken = buildEhdsiIdwsXuaEmployeeIdentityToken(vault, holderOfKeyVault);
ehdsiIdwsXuaEmployeeIdentityToken.validateSchema();
ehdsiIdwsXuaEmployeeIdentityToken.validateSignatureAndTrust(vault);


// --------------------------------------------------------------------
// 3. Build STS response
// --------------------------------------------------------------------
DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseDOMBuilder response = factory.createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenResponseDOMBuilder();
response.setEhdsiIdwsXuaEmployeeIdentityToken(ehdsiIdwsXuaEmployeeIdentityToken);
response.setSigningVault(holderOfKeyVault);
response.setRelatesTo("relatesTo");
response.setContext("context");

// Build and sign the final STS response
response.build();