Page History
...
| Code Block | ||
|---|---|---|
| ||
public class TestFactoryFlow extends AbstractUserIDCardTest {
@Test
public void testBST2SOSI() {
/**
* Consumer sender request
*/
// CredentialVault og Factory
CredentialVault signingVault = CredentialVaultTestUtil.getVoces3CredentialVault();
CredentialVault holderOfKey = CredentialVaultTestUtil.getVocesHolderOfKeyCredentialVault();
OIOSAMLFactory factory = new OIOSAMLFactory();
OIO3BSTSAMLAssertionBuilder oiosamlAssertionBuilder = factory.createOIO3BSTSAMLAssertionBuilder();
oiosamlAssertionBuilder.setIssuer("https://oio3bst-issuer.dk");
oiosamlAssertionBuilder.setNameId("KorsbaekKommune\\MSK");
oiosamlAssertionBuilder.setAudience("http://fmk-online.dk");
oiosamlAssertionBuilder.setNotOnOrAfter(notOnOrAfter);
oiosamlAssertionBuilder.setCvr("20301823");
oiosamlAssertionBuilder.setOrganizationName("Korsbæk Kommune");
oiosamlAssertionBuilder.setHolderOfKeyCertificate(holderOfKey.getSystemCredentialPair().getCertificate());
oiosamlAssertionBuilder.setSigningVault(signingVault);
OIOBSTSAMLAssertion oiosamlAssertion = oiosamlAssertionBuilder.build();
OIOBSTSAMLAssertionToIDCardRequestDOMBuilder requestBuilder = factory.createOIOBSTSAMLAssertionToIDCardRequestDOMBuilder();
requestBuilder.setAudience("http://fmk-online.dk");
requestBuilder.setITSystemName("Korsbæk Kommunes IT systemer");
requestBuilder.setSubjectNameID("Mads_Skjern");
requestBuilder.setSigningVault(signingVault);
requestBuilder.setOIOBSTSAMLAssertion(oiosamlAssertion);
Document consumerStsRequestDocument = requestBuilder.build();
/**
* Send request over netværk
*/
String consumerStsRequestXml = XmlUtil.node2String(consumerStsRequestDocument, false, false);
consumerStsRequestDocument = XmlUtil.readXml(new java.util.Properties(), consumerStsRequestXml, false);
/**
* STS modtager request
*/
OIOBSTSAMLAssertionToIDCardRequest stsRequest = factory.createOIOBSTSAMLAssertionToIDCardRequestModelBuilder().build(consumerStsRequestDocument);
// Her vil STS'en verificere ID kortet. I dette eksempel verificeres følgende tre attributter:
OIOBSTSAMLAssertion oiobstsamlAssertion = stsRequest.getOIOBSTSAMLAssertion();
Assert.assertEquals("OIO-SAML-3.0", oiobstsamlAssertion.getSpecVersion());
Assert.assertEquals("20301823", oiobstsamlAssertion.getCvrNumberIdentifier());
Assert.assertEquals("http://fmk-online.dk", oiobstsamlAssertion.getAudienceRestriction());
/**
* STS bygger response
*/
UserIDCard uidc = createUserIDCard();
OIOBSTSAMLAssertionToIDCardResponseDOMBuilder responseBuilder = factory.createOIOBSTSAMLAssertionToIDCardResponseDOMBuilder();
responseBuilder.setAudienceRestriction("http://fmk-online.dk");
responseBuilder.setIDCard(uidc);
responseBuilder.setSigningVault(signingVault);
responseBuilder.setContext("context");
responseBuilder.setRelatesTo("relatesTo");
Document consumerStsResponseDocument = responseBuilder.build();
/**
* Send response over netværk
*/
String consumerStsResponseXml = XmlUtil.node2String(consumerStsResponseDocument, false, false);
consumerStsResponseDocument = XmlUtil.readXml(new java.util.Properties(), consumerStsResponseXml, false);
/**
* Consumer modtager response
*/
OIOBSTSAMLAssertionToIDCardResponse consumerStsResponse = factory.createOIOBSTSAMLAssertionToIDCardResponseModelBuilder().build(consumerStsResponseDocument);
IDCard idCardResponse = consumerStsResponse.getIDCard();
Assert.assertEquals("1.0.1", idCardResponse.getVersion());
Assert.assertEquals(AuthenticationLevel.MOCES_TRUSTED_USER, idCardResponse.getAuthenticationLevel());
Assert.assertEquals("hans@dampf.dk", idCardResponse.getAlternativeIdentifier());
}
} |
...