Versions Compared

Key

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

...

Code Block
// CredentialVault og Factory
CredentialVault signingVault = CredentialVaultTestUtil.getVoces3CredentialVault(new ClasspathCredentialVault(null, "Filnavn på PKCS#12 Virksomhedscertifikat", "Kodeord til Virksomhedscertifikat");
SOSIFactory sosiFactory = new SOSIFactory(signingVault, new java.util.Properties());

Reply reply = sosiFactory.deserializeReply(serviceConsumerResponseXml);

// Verify DGWS service response for errors
if (reply.isFault()) {
   log.error("Response error: " + reply.getFaultString() + ", error code: " + reply.getFaultCode());
   return false;
}
return true;

...

Code Block
collapsetrue
public class TestFactoryFlow extends AbstractUserIDCardTest {

    @Test
    public void testNewSecurityTokenService() {

        /**
         * Consumer sender request
         *
         */

        // CredentialVault og Factory
        CredentialVault signingVault = CredentialVaultTestUtil.getVoces3CredentialVault();
       new ClasspathCredentialVault(null, "Filnavn på PKCS#12 Virksomhedscertifikat", "Kodeord til Virksomhedscertifikat");
        SOSIFactory factory = new SOSIFactory(signingVault, new java.util.Properties());

        // System ID kort
        CareProvider careProvider = new CareProvider(SubjectIdentifierTypeValues.CVR_NUMBER, "someID33257872", "someOrgNameSundhedsdatastyrelsen");
 
        SystemIDCard systemIDCard = factory.createNewSystemIDCard("SOSITEST", careProvider, AuthenticationLevel.VOCES_TRUSTED_SYSTEM, null, null, null,
                									"SOSITEST",
									                careProvider,
									                AuthenticationLevel.VOCES_TRUSTED_SYSTEM,
									                null,
									                null,
									                signingVault.getSystemCredentialPair().getCertificate(),
									                "AltIdentifierStr");

            // Byg STS request
        SecurityTokenRequest consumerStsRequest = factory.createNewSecurityTokenRequest();
        consumerStsRequest.setIDCard(systemIDCard);

        // Endelig STS request
        Document consumerStsRequestDocument = consumerStsRequest.serialize2DOMDocument();

        /**
         * Send request over netværk
         */
        String consumerStsRequestXml = XmlUtil.node2String(consumerStsRequestDocument, false, false);

        /**
         *  STS modtager request
         */
        SecurityTokenRequest stsRequest = factory.deserializeSecurityTokenRequest(consumerStsRequestXml);

        // Her vil STS'en verificerevalidere ID kortet. I dette eksempel verificeres følgende tre attributter::
        IDCard idCard = stsRequest.getIDCard();
        idCard.validateSignature();
     IDCard idCard = stsRequestidCard.getIDCardvalidateSignatureAndTrust(signingVault);

        // I dette eksempel verificeres følgende tre attributter:
        Assert.assertEquals("1.0.1", idCard.getVersion());
        Assert.assertEquals(AuthenticationLevel.VOCES_TRUSTED_SYSTEM, idCard.getAuthenticationLevel());
        Assert.assertEquals("AltIdentifierStr", idCard.getAlternativeIdentifier());

        /**
         *  STS bygger response
         */
        SecurityTokenResponse stsResponse = factory.createNewSecurityTokenResponse(stsRequest);
        stsResponse.setIDCard(idCard);

        Document consumerStsResponseDocument = XmlUtil.createEmptyDocument();
        stsResponse.serialize2DOMDocument(consumerStsResponseDocument);

        /**
         *  Send response over netværk
         */
        String consumerStsResponseXml = XmlUtil.node2String(consumerStsResponseDocument, false, false);

        /**
         *  Consumer modtager response
         */
        SecurityTokenResponse consumerStsResponse = factory.deserializeSecurityTokenResponse(consumerStsResponseXml);

        // Verify ID card
        IDCard idCardResponse = consumerStsResponse.getIDCard();

        if (!systemIDCard.isValidInTime()) {
            throw new RuntimeException("Invalid DGWS Token");
        }

        Assert.assertEquals("1.0.1", idCardResponse.getVersion());
        Assert.assertEquals(AuthenticationLevel.VOCES_TRUSTED_SYSTEM, idCardResponse.getAuthenticationLevel());
        Assert.assertEquals("AltIdentifierStr", idCardResponse.getAlternativeIdentifier());
    }
}

...