You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by gi...@apache.org on 2012/03/10 22:05:22 UTC
svn commit: r1299273 [2/2] - in /webservices/wss4j/branches/swssf:
streaming-ws-policy/src/main/java/org/swssf/policy/assertionStates/
streaming-ws-policy/src/test/java/org/swssf/policy/test/
streaming-ws-policy/src/test/resources/testdata/policy/ stre...
Added: webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InboundWSSecurityContextImplTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InboundWSSecurityContextImplTest.java?rev=1299273&view=auto
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InboundWSSecurityContextImplTest.java (added)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InboundWSSecurityContextImplTest.java Sat Mar 10 21:05:21 2012
@@ -0,0 +1,685 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.swssf.wss.test;
+
+import org.opensaml.common.SAMLVersion;
+import org.swssf.wss.ext.WSSConstants;
+import org.swssf.wss.ext.WSSecurityContext;
+import org.swssf.wss.ext.WSSecurityException;
+import org.swssf.wss.impl.InboundWSSecurityContextImpl;
+import org.swssf.wss.impl.securityToken.SAMLSecurityToken;
+import org.swssf.wss.impl.securityToken.UsernameSecurityToken;
+import org.swssf.wss.impl.securityToken.X509SecurityToken;
+import org.swssf.wss.securityEvent.*;
+import org.swssf.xmlsec.ext.SecurityToken;
+import org.swssf.xmlsec.ext.XMLEventNS;
+import org.swssf.xmlsec.ext.XMLSecurityConstants;
+import org.swssf.xmlsec.ext.XMLSecurityException;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import javax.xml.namespace.QName;
+import java.security.Key;
+import java.security.KeyStore;
+import java.security.PublicKey;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @author $Author: giger $
+ * @version $Revision: 1297086 $ $Date: 2012-03-05 16:25:08 +0100 (Mon, 05 Mar 2012) $
+ */
+public class InboundWSSecurityContextImplTest {
+
+ @Test
+ public void testTokenIdentificationTransportSecurity() throws Exception {
+
+ final List<SecurityEvent> securityEventList = generateTransportBindingSecurityEvents();
+
+ Assert.assertEquals(securityEventList.size(), 9);
+
+ for (int i = 0; i < securityEventList.size(); i++) {
+ SecurityEvent securityEvent = securityEventList.get(i);
+ if (securityEvent instanceof HttpsTokenSecurityEvent) {
+ HttpsTokenSecurityEvent tokenSecurityEvent = (HttpsTokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 2);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.MainSignature));
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.MainEncryption));
+ } else if (securityEvent instanceof X509TokenSecurityEvent) {
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedEndorsingSupportingTokens));
+ } else if (securityEvent instanceof UsernameTokenSecurityEvent) {
+ UsernameTokenSecurityEvent tokenSecurityEvent = (UsernameTokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedSupportingTokens));
+ }
+ }
+ }
+
+ public List<SecurityEvent> generateTransportBindingSecurityEvents() throws Exception {
+
+ final List<SecurityEvent> securityEventList = new LinkedList<SecurityEvent>();
+
+ SecurityEventListener securityEventListener = new SecurityEventListener() {
+ @Override
+ public void registerSecurityEvent(SecurityEvent securityEvent) throws WSSecurityException {
+ securityEventList.add(securityEvent);
+ }
+ };
+
+ InboundWSSecurityContextImpl inboundWSSecurityContext = new InboundWSSecurityContextImpl();
+ inboundWSSecurityContext.addSecurityEventListener(securityEventListener);
+ inboundWSSecurityContext.put(WSSConstants.TRANSPORT_SECURITY_ACTIVE, Boolean.TRUE);
+
+ HttpsTokenSecurityEvent httpsTokenSecurityEvent = new HttpsTokenSecurityEvent();
+ httpsTokenSecurityEvent.setSecurityToken(getX509Token(WSSConstants.X509V3Token));
+ inboundWSSecurityContext.registerSecurityEvent(httpsTokenSecurityEvent);
+
+ TimestampSecurityEvent timestampSecurityEvent = new TimestampSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(timestampSecurityEvent);
+
+ List<QName> timestampPath = new LinkedList<QName>();
+ timestampPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ timestampPath.add(WSSConstants.TAG_wsu_Timestamp);
+
+ RequiredElementSecurityEvent timestampRequiredElementSecurityEvent = new RequiredElementSecurityEvent();
+ timestampRequiredElementSecurityEvent.setElementPath(timestampPath);
+ inboundWSSecurityContext.registerSecurityEvent(timestampRequiredElementSecurityEvent);
+
+ List<QName> usernameTokenPath = new LinkedList<QName>();
+ usernameTokenPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ usernameTokenPath.add(WSSConstants.TAG_wsse_UsernameToken);
+
+ XMLEventNS usernameTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ UsernameTokenSecurityEvent usernameTokenSecurityEvent = new UsernameTokenSecurityEvent();
+ UsernameSecurityToken usernameSecurityToken = new UsernameSecurityToken(
+ "username", "password", new Date().toString(), new byte[10], new byte[10], Long.valueOf(10),
+ (WSSecurityContext) null, null, null);
+ usernameSecurityToken.setElementPath(usernameTokenPath);
+ usernameSecurityToken.setXMLEvent(usernameTokenXmlEvent);
+ usernameTokenSecurityEvent.setSecurityToken(usernameSecurityToken);
+ inboundWSSecurityContext.registerSecurityEvent(usernameTokenSecurityEvent);
+
+ List<QName> bstPath = new LinkedList<QName>();
+ bstPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ bstPath.add(WSSConstants.TAG_wsse_BinarySecurityToken);
+
+ XMLEventNS signedEndorsingSupportingTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ X509TokenSecurityEvent x509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken signedEndorsingSupportingToken = getX509Token(WSSConstants.X509V3Token);
+ signedEndorsingSupportingToken.setElementPath(bstPath);
+ signedEndorsingSupportingToken.setXMLEvent(signedEndorsingSupportingTokenXmlEvent);
+ x509TokenSecurityEvent.setSecurityToken(signedEndorsingSupportingToken);
+ signedEndorsingSupportingToken.addTokenUsage(SecurityToken.TokenUsage.Signature);
+ inboundWSSecurityContext.registerSecurityEvent(x509TokenSecurityEvent);
+
+ SignatureValueSecurityEvent signatureValueSecurityEvent = new SignatureValueSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(signatureValueSecurityEvent);
+
+ List<XMLSecurityConstants.ContentType> protectionOrder = new LinkedList<XMLSecurityConstants.ContentType>();
+ protectionOrder.add(XMLSecurityConstants.ContentType.SIGNATURE);
+
+ SignedElementSecurityEvent signedTimestampElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingSupportingToken, true, protectionOrder);
+ signedTimestampElementSecurityEvent.setElementPath(timestampPath);
+ inboundWSSecurityContext.registerSecurityEvent(signedTimestampElementSecurityEvent);
+
+ SignedElementSecurityEvent signedBSTElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingSupportingToken, true, protectionOrder);
+ signedBSTElementSecurityEvent.setElementPath(bstPath);
+ signedBSTElementSecurityEvent.setXmlEvent(signedEndorsingSupportingTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(signedBSTElementSecurityEvent);
+
+ OperationSecurityEvent operationSecurityEvent = new OperationSecurityEvent();
+ operationSecurityEvent.setOperation(new QName("definitions"));
+ inboundWSSecurityContext.registerSecurityEvent(operationSecurityEvent);
+
+ return securityEventList;
+ }
+
+ @Test
+ public void testTokenIdentificationAsymmetricSecurity() throws Exception {
+
+ final List<SecurityEvent> securityEventList = generateAsymmetricBindingSecurityEvents();
+
+ boolean mainSignatureTokenOccured = false;
+ boolean signedEndorsingSupportingTokenOccured = false;
+ boolean mainEncryptionTokenOccured = false;
+ boolean usernameTokenOccured = false;
+ Assert.assertEquals(securityEventList.size(), 34);
+ int x509TokenIndex = 0;
+ for (int i = 0; i < securityEventList.size(); i++) {
+ SecurityEvent securityEvent = securityEventList.get(i);
+ if (securityEvent instanceof X509TokenSecurityEvent && x509TokenIndex == 0) {
+ x509TokenIndex++;
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.MainEncryption));
+ mainEncryptionTokenOccured = true;
+ } else if (securityEvent instanceof X509TokenSecurityEvent && x509TokenIndex == 1) {
+ x509TokenIndex++;
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedEndorsingSupportingTokens));
+ signedEndorsingSupportingTokenOccured = true;
+ } else if (securityEvent instanceof X509TokenSecurityEvent && x509TokenIndex == 2) {
+ x509TokenIndex++;
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.EncryptedSupportingTokens));
+ mainSignatureTokenOccured = true;
+ } else if (securityEvent instanceof X509TokenSecurityEvent && x509TokenIndex == 3) {
+ x509TokenIndex++;
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SupportingTokens));
+ mainSignatureTokenOccured = true;
+ } else if (securityEvent instanceof X509TokenSecurityEvent && x509TokenIndex == 4) {
+ x509TokenIndex++;
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedEndorsingEncryptedSupportingTokens));
+ mainSignatureTokenOccured = true;
+ } else if (securityEvent instanceof X509TokenSecurityEvent && x509TokenIndex == 5) {
+ x509TokenIndex++;
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.MainSignature));
+ mainSignatureTokenOccured = true;
+ } else if (securityEvent instanceof UsernameTokenSecurityEvent) {
+ UsernameTokenSecurityEvent tokenSecurityEvent = (UsernameTokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedEncryptedSupportingTokens));
+ usernameTokenOccured = true;
+ }
+ }
+
+ Assert.assertTrue(mainSignatureTokenOccured);
+ Assert.assertTrue(mainEncryptionTokenOccured);
+ Assert.assertTrue(signedEndorsingSupportingTokenOccured);
+ Assert.assertTrue(usernameTokenOccured);
+ }
+
+ public List<SecurityEvent> generateAsymmetricBindingSecurityEvents() throws Exception {
+ final List<SecurityEvent> securityEventList = new LinkedList<SecurityEvent>();
+
+ SecurityEventListener securityEventListener = new SecurityEventListener() {
+ @Override
+ public void registerSecurityEvent(SecurityEvent securityEvent) throws WSSecurityException {
+ securityEventList.add(securityEvent);
+ }
+ };
+
+ InboundWSSecurityContextImpl inboundWSSecurityContext = new InboundWSSecurityContextImpl();
+ inboundWSSecurityContext.addSecurityEventListener(securityEventListener);
+
+ TimestampSecurityEvent timestampSecurityEvent = new TimestampSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(timestampSecurityEvent);
+
+ List<QName> timestampPath = new LinkedList<QName>();
+ timestampPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ timestampPath.add(WSSConstants.TAG_wsu_Timestamp);
+
+ RequiredElementSecurityEvent timestampRequiredElementSecurityEvent = new RequiredElementSecurityEvent();
+ timestampRequiredElementSecurityEvent.setElementPath(timestampPath);
+ inboundWSSecurityContext.registerSecurityEvent(timestampRequiredElementSecurityEvent);
+
+ List<QName> bstPath = new LinkedList<QName>();
+ bstPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ bstPath.add(WSSConstants.TAG_wsse_BinarySecurityToken);
+
+ XMLEventNS recipientTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ X509TokenSecurityEvent recipientX509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken recipientToken = getX509Token(WSSConstants.X509V3Token);
+ recipientX509TokenSecurityEvent.setSecurityToken(recipientToken);
+ recipientToken.setElementPath(bstPath);
+ recipientToken.setXMLEvent(recipientTokenXmlEvent);
+ recipientToken.addTokenUsage(SecurityToken.TokenUsage.Encryption);
+ inboundWSSecurityContext.registerSecurityEvent(recipientX509TokenSecurityEvent);
+
+ List<XMLSecurityConstants.ContentType> protectionOrder = new LinkedList<XMLSecurityConstants.ContentType>();
+ protectionOrder.add(XMLSecurityConstants.ContentType.ENCRYPTION);
+ protectionOrder.add(XMLSecurityConstants.ContentType.SIGNATURE);
+
+ List<QName> signaturePath = new LinkedList<QName>();
+ signaturePath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ signaturePath.add(WSSConstants.TAG_dsig_Signature);
+
+ EncryptedElementSecurityEvent signatureEncryptedElementSecurityEvent = new EncryptedElementSecurityEvent(recipientToken, true, protectionOrder);
+ signatureEncryptedElementSecurityEvent.setElementPath(signaturePath);
+ inboundWSSecurityContext.registerSecurityEvent(signatureEncryptedElementSecurityEvent);
+
+ List<QName> usernameTokenPath = new LinkedList<QName>();
+ usernameTokenPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ usernameTokenPath.add(WSSConstants.TAG_wsse_UsernameToken);
+
+ XMLEventNS usernameTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ EncryptedElementSecurityEvent usernameEncryptedElementSecurityEvent = new EncryptedElementSecurityEvent(recipientToken, true, protectionOrder);
+ usernameEncryptedElementSecurityEvent.setElementPath(usernameTokenPath);
+ usernameEncryptedElementSecurityEvent.setXmlEvent(usernameTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(usernameEncryptedElementSecurityEvent);
+
+ XMLEventNS signedEndorsingEncryptedTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ EncryptedElementSecurityEvent signedEndorsedEncryptedTokenEncryptedElementSecurityEvent = new EncryptedElementSecurityEvent(recipientToken, true, protectionOrder);
+ signedEndorsedEncryptedTokenEncryptedElementSecurityEvent.setElementPath(bstPath);
+ signedEndorsedEncryptedTokenEncryptedElementSecurityEvent.setXmlEvent(signedEndorsingEncryptedTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(signedEndorsedEncryptedTokenEncryptedElementSecurityEvent);
+
+ XMLEventNS encryptedSupportingTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ EncryptedElementSecurityEvent encryptedSupportingTokenEncryptedElementSecurityEvent = new EncryptedElementSecurityEvent(recipientToken, true, protectionOrder);
+ encryptedSupportingTokenEncryptedElementSecurityEvent.setElementPath(bstPath);
+ encryptedSupportingTokenEncryptedElementSecurityEvent.setXmlEvent(encryptedSupportingTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(encryptedSupportingTokenEncryptedElementSecurityEvent);
+
+ UsernameTokenSecurityEvent usernameTokenSecurityEvent = new UsernameTokenSecurityEvent();
+ UsernameSecurityToken usernameSecurityToken = new UsernameSecurityToken(
+ "username", "password", new Date().toString(), new byte[10], new byte[10], Long.valueOf(10),
+ (WSSecurityContext) null, null, null);
+ usernameSecurityToken.setElementPath(usernameTokenPath);
+ usernameSecurityToken.setXMLEvent(usernameTokenXmlEvent);
+ usernameTokenSecurityEvent.setSecurityToken(usernameSecurityToken);
+ inboundWSSecurityContext.registerSecurityEvent(usernameTokenSecurityEvent);
+
+ XMLEventNS signedEndorsingTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ X509TokenSecurityEvent signedEndorsingSupporting509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken signedEndorsingSupportingToken = getX509Token(WSSConstants.X509V3Token);
+ signedEndorsingSupporting509TokenSecurityEvent.setSecurityToken(signedEndorsingSupportingToken);
+ signedEndorsingSupportingToken.setElementPath(bstPath);
+ signedEndorsingSupportingToken.setXMLEvent(signedEndorsingTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(signedEndorsingSupporting509TokenSecurityEvent);
+
+ X509TokenSecurityEvent encryptedSupporting509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken encryptedSupportingToken = getX509Token(WSSConstants.X509V3Token);
+ encryptedSupporting509TokenSecurityEvent.setSecurityToken(encryptedSupportingToken);
+ encryptedSupportingToken.setElementPath(bstPath);
+ encryptedSupportingToken.setXMLEvent(encryptedSupportingTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(encryptedSupporting509TokenSecurityEvent);
+
+ X509TokenSecurityEvent supporting509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken supportingToken = getX509Token(WSSConstants.X509V3Token);
+ supporting509TokenSecurityEvent.setSecurityToken(supportingToken);
+ supportingToken.setElementPath(bstPath);
+ inboundWSSecurityContext.registerSecurityEvent(supporting509TokenSecurityEvent);
+
+ X509TokenSecurityEvent signedEndorsingEncryptedSupporting509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken signedEndorsingEncryptedSupportingToken = getX509Token(WSSConstants.X509V3Token);
+ signedEndorsingEncryptedSupporting509TokenSecurityEvent.setSecurityToken(signedEndorsingEncryptedSupportingToken);
+ signedEndorsingEncryptedSupportingToken.setElementPath(bstPath);
+ signedEndorsingEncryptedSupportingToken.setXMLEvent(signedEndorsingEncryptedTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(signedEndorsingEncryptedSupporting509TokenSecurityEvent);
+
+ XMLEventNS initiatorTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ X509TokenSecurityEvent initiator509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken initiatorToken = getX509Token(WSSConstants.X509V3Token);
+ initiator509TokenSecurityEvent.setSecurityToken(initiatorToken);
+ initiatorToken.setElementPath(bstPath);
+ initiatorToken.setXMLEvent(initiatorTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(initiator509TokenSecurityEvent);
+
+ initiator509TokenSecurityEvent = new X509TokenSecurityEvent();
+ initiator509TokenSecurityEvent.setSecurityToken(initiatorToken);
+ initiatorToken.addTokenUsage(SecurityToken.TokenUsage.Signature);
+ inboundWSSecurityContext.registerSecurityEvent(initiator509TokenSecurityEvent);
+
+ SignatureValueSecurityEvent signatureValueSecurityEvent = new SignatureValueSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(signatureValueSecurityEvent);
+
+ SignedElementSecurityEvent signedTimestampElementSecurityEvent = new SignedElementSecurityEvent(initiatorToken, true, protectionOrder);
+ signedTimestampElementSecurityEvent.setElementPath(timestampPath);
+ inboundWSSecurityContext.registerSecurityEvent(signedTimestampElementSecurityEvent);
+
+ SignedElementSecurityEvent signedUsernameTokenElementSecurityEvent = new SignedElementSecurityEvent(initiatorToken, true, protectionOrder);
+ signedUsernameTokenElementSecurityEvent.setElementPath(usernameTokenPath);
+ signedUsernameTokenElementSecurityEvent.setXmlEvent(usernameTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(signedUsernameTokenElementSecurityEvent);
+
+ SignedElementSecurityEvent bstElementSecurityEvent = new SignedElementSecurityEvent(initiatorToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(signedEndorsingTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ bstElementSecurityEvent = new SignedElementSecurityEvent(initiatorToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(signedEndorsingEncryptedTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ bstElementSecurityEvent = new SignedElementSecurityEvent(initiatorToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(initiatorTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ List<QName> header1Path = new LinkedList<QName>();
+ header1Path.addAll(WSSConstants.SOAP_11_HEADER_PATH);
+ header1Path.add(new QName("x", "Header1", "x"));
+
+ SignedPartSecurityEvent header1SignedPartSecurityEvent = new SignedPartSecurityEvent(initiatorToken, true, protectionOrder);
+ header1SignedPartSecurityEvent.setElementPath(header1Path);
+ inboundWSSecurityContext.registerSecurityEvent(header1SignedPartSecurityEvent);
+
+ List<QName> header2Path = new LinkedList<QName>();
+ header2Path.addAll(WSSConstants.SOAP_11_HEADER_PATH);
+ header2Path.add(new QName("x", "Header1", "x"));
+
+ SignedPartSecurityEvent header2SignedPartSecurityEvent = new SignedPartSecurityEvent(initiatorToken, true, protectionOrder);
+ header2SignedPartSecurityEvent.setElementPath(header2Path);
+ inboundWSSecurityContext.registerSecurityEvent(header2SignedPartSecurityEvent);
+
+ List<QName> bodyPath = new LinkedList<QName>();
+ bodyPath.addAll(WSSConstants.SOAP_11_BODY_PATH);
+
+ SignedPartSecurityEvent bodySignedPartSecurityEvent = new SignedPartSecurityEvent(initiatorToken, true, protectionOrder);
+ bodySignedPartSecurityEvent.setElementPath(bodyPath);
+ inboundWSSecurityContext.registerSecurityEvent(bodySignedPartSecurityEvent);
+
+ signedEndorsingSupporting509TokenSecurityEvent = new X509TokenSecurityEvent();
+ signedEndorsingSupporting509TokenSecurityEvent.setSecurityToken(signedEndorsingSupportingToken);
+ signedEndorsingSupportingToken.addTokenUsage(SecurityToken.TokenUsage.Signature);
+ inboundWSSecurityContext.registerSecurityEvent(signedEndorsingSupporting509TokenSecurityEvent);
+
+ SignatureValueSecurityEvent signature2ValueSecurityEvent = new SignatureValueSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(signature2ValueSecurityEvent);
+
+ SignedElementSecurityEvent signatureElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingSupportingToken, true, protectionOrder);
+ signatureElementSecurityEvent.setElementPath(signaturePath);
+ inboundWSSecurityContext.registerSecurityEvent(signatureElementSecurityEvent);
+
+ bstElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingSupportingToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(signedEndorsingTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ signedEndorsingEncryptedSupporting509TokenSecurityEvent = new X509TokenSecurityEvent();
+ signedEndorsingEncryptedSupporting509TokenSecurityEvent.setSecurityToken(signedEndorsingEncryptedSupportingToken);
+ signedEndorsingEncryptedSupportingToken.addTokenUsage(SecurityToken.TokenUsage.Signature);
+ inboundWSSecurityContext.registerSecurityEvent(signedEndorsingEncryptedSupporting509TokenSecurityEvent);
+
+ signature2ValueSecurityEvent = new SignatureValueSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(signature2ValueSecurityEvent);
+
+ signatureElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingEncryptedSupportingToken, true, protectionOrder);
+ signatureElementSecurityEvent.setElementPath(signaturePath);
+ inboundWSSecurityContext.registerSecurityEvent(signatureElementSecurityEvent);
+
+ bstElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingEncryptedSupportingToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(signedEndorsingEncryptedTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ EncryptedPartSecurityEvent bodyEncryptedPartSecurityEvent = new EncryptedPartSecurityEvent(recipientToken, true, protectionOrder);
+ bodyEncryptedPartSecurityEvent.setElementPath(bodyPath);
+ inboundWSSecurityContext.registerSecurityEvent(bodyEncryptedPartSecurityEvent);
+
+ EncryptedPartSecurityEvent header2EncryptedPartSecurityEvent = new EncryptedPartSecurityEvent(recipientToken, true, protectionOrder);
+ header2EncryptedPartSecurityEvent.setElementPath(header2Path);
+ inboundWSSecurityContext.registerSecurityEvent(header2EncryptedPartSecurityEvent);
+
+ OperationSecurityEvent operationSecurityEvent = new OperationSecurityEvent();
+ operationSecurityEvent.setOperation(new QName("definitions"));
+ inboundWSSecurityContext.registerSecurityEvent(operationSecurityEvent);
+ return securityEventList;
+ }
+
+ @Test
+ public void testTokenIdentificationSymmetricSecurity() throws Exception {
+
+ final List<SecurityEvent> securityEventList = generateSymmetricBindingSecurityEvents();
+
+ Assert.assertEquals(securityEventList.size(), 22);
+
+ for (int i = 0; i < securityEventList.size(); i++) {
+ SecurityEvent securityEvent = securityEventList.get(i);
+ if (securityEvent instanceof X509TokenSecurityEvent) {
+ X509TokenSecurityEvent tokenSecurityEvent = (X509TokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedEndorsingSupportingTokens));
+ } else if (securityEvent instanceof UsernameTokenSecurityEvent) {
+ UsernameTokenSecurityEvent tokenSecurityEvent = (UsernameTokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 1);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.SignedEncryptedSupportingTokens));
+ } else if (securityEvent instanceof SamlTokenSecurityEvent) {
+ SamlTokenSecurityEvent tokenSecurityEvent = (SamlTokenSecurityEvent) securityEvent;
+ Assert.assertEquals(tokenSecurityEvent.getSecurityToken().getTokenUsages().size(), 2);
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.MainSignature));
+ Assert.assertTrue(tokenSecurityEvent.getSecurityToken().getTokenUsages().contains(SecurityToken.TokenUsage.MainEncryption));
+ }
+ }
+ }
+
+ public List<SecurityEvent> generateSymmetricBindingSecurityEvents() throws Exception {
+ final List<SecurityEvent> securityEventList = new LinkedList<SecurityEvent>();
+
+ SecurityEventListener securityEventListener = new SecurityEventListener() {
+ @Override
+ public void registerSecurityEvent(SecurityEvent securityEvent) throws WSSecurityException {
+ securityEventList.add(securityEvent);
+ }
+ };
+
+ InboundWSSecurityContextImpl inboundWSSecurityContext = new InboundWSSecurityContextImpl();
+ inboundWSSecurityContext.addSecurityEventListener(securityEventListener);
+
+ TimestampSecurityEvent timestampSecurityEvent = new TimestampSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(timestampSecurityEvent);
+
+ List<QName> timestampPath = new LinkedList<QName>();
+ timestampPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ timestampPath.add(WSSConstants.TAG_wsu_Timestamp);
+
+ RequiredElementSecurityEvent timestampRequiredElementSecurityEvent = new RequiredElementSecurityEvent();
+ timestampRequiredElementSecurityEvent.setElementPath(timestampPath);
+ inboundWSSecurityContext.registerSecurityEvent(timestampRequiredElementSecurityEvent);
+
+ List<QName> samlTokenPath = new LinkedList<QName>();
+ samlTokenPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ samlTokenPath.add(WSSConstants.TAG_saml2_Assertion);
+
+ XMLEventNS samlTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ SAMLSecurityToken samlSecurityToken = new SAMLSecurityToken(SAMLVersion.VERSION_20, null, null, null, null, "1");
+ samlSecurityToken.setElementPath(samlTokenPath);
+ samlSecurityToken.setXMLEvent(samlTokenXmlEvent);
+ samlSecurityToken.addTokenUsage(SecurityToken.TokenUsage.Encryption);
+ SamlTokenSecurityEvent samlTokenSecurityEvent = new SamlTokenSecurityEvent();
+ samlTokenSecurityEvent.setSecurityToken(samlSecurityToken);
+ inboundWSSecurityContext.registerSecurityEvent(samlTokenSecurityEvent);
+
+ List<XMLSecurityConstants.ContentType> protectionOrder = new LinkedList<XMLSecurityConstants.ContentType>();
+ protectionOrder.add(XMLSecurityConstants.ContentType.ENCRYPTION);
+ protectionOrder.add(XMLSecurityConstants.ContentType.SIGNATURE);
+
+ List<QName> usernamePath = new LinkedList<QName>();
+ usernamePath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ usernamePath.add(WSSConstants.TAG_wsse_UsernameToken);
+
+ XMLEventNS usernameTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ EncryptedElementSecurityEvent usernameEncryptedElementSecurityEvent = new EncryptedElementSecurityEvent(samlSecurityToken, true, protectionOrder);
+ usernameEncryptedElementSecurityEvent.setElementPath(usernamePath);
+ usernameEncryptedElementSecurityEvent.setXmlEvent(usernameTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(usernameEncryptedElementSecurityEvent);
+
+ List<QName> usernameTokenPath = new LinkedList<QName>();
+ usernameTokenPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ usernameTokenPath.add(WSSConstants.TAG_wsse_UsernameToken);
+
+ UsernameTokenSecurityEvent usernameTokenSecurityEvent = new UsernameTokenSecurityEvent();
+ UsernameSecurityToken usernameSecurityToken = new UsernameSecurityToken(
+ "username", "password", new Date().toString(), new byte[10], new byte[10], Long.valueOf(10),
+ (WSSecurityContext) null, null, null);
+ usernameSecurityToken.setElementPath(usernamePath);
+ usernameSecurityToken.setXMLEvent(usernameTokenXmlEvent);
+ usernameTokenSecurityEvent.setSecurityToken(usernameSecurityToken);
+ inboundWSSecurityContext.registerSecurityEvent(usernameTokenSecurityEvent);
+
+ List<QName> signaturePath = new LinkedList<QName>();
+ signaturePath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ signaturePath.add(WSSConstants.TAG_dsig_Signature);
+
+ EncryptedElementSecurityEvent signatureEncryptedElementSecurityEvent = new EncryptedElementSecurityEvent(samlSecurityToken, true, protectionOrder);
+ signatureEncryptedElementSecurityEvent.setElementPath(signaturePath);
+ inboundWSSecurityContext.registerSecurityEvent(signatureEncryptedElementSecurityEvent);
+
+ samlSecurityToken.addTokenUsage(SecurityToken.TokenUsage.Signature);
+ samlTokenSecurityEvent = new SamlTokenSecurityEvent();
+ samlTokenSecurityEvent.setSecurityToken(samlSecurityToken);
+ inboundWSSecurityContext.registerSecurityEvent(samlTokenSecurityEvent);
+
+ SignatureValueSecurityEvent signatureValueSecurityEvent = new SignatureValueSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(signatureValueSecurityEvent);
+
+ SignedElementSecurityEvent signedTimestampElementSecurityEvent = new SignedElementSecurityEvent(samlSecurityToken, true, protectionOrder);
+ signedTimestampElementSecurityEvent.setElementPath(timestampPath);
+ inboundWSSecurityContext.registerSecurityEvent(signedTimestampElementSecurityEvent);
+
+ SignedElementSecurityEvent signedUsernameTokenElementSecurityEvent = new SignedElementSecurityEvent(samlSecurityToken, true, protectionOrder);
+ signedUsernameTokenElementSecurityEvent.setElementPath(usernameTokenPath);
+ signedUsernameTokenElementSecurityEvent.setXmlEvent(usernameTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(signedUsernameTokenElementSecurityEvent);
+
+ List<QName> bstPath = new LinkedList<QName>();
+ bstPath.addAll(WSSConstants.WSSE_SECURITY_HEADER_PATH);
+ bstPath.add(WSSConstants.TAG_wsse_BinarySecurityToken);
+
+ XMLEventNS bstTokenXmlEvent = new XMLEventNS(null, null, null);
+
+ SignedElementSecurityEvent bstElementSecurityEvent = new SignedElementSecurityEvent(samlSecurityToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(bstTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ SignedElementSecurityEvent samlTokenElementSecurityEvent = new SignedElementSecurityEvent(samlSecurityToken, true, protectionOrder);
+ samlTokenElementSecurityEvent.setElementPath(samlTokenPath);
+ samlTokenElementSecurityEvent.setXmlEvent(samlTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(samlTokenElementSecurityEvent);
+
+ List<QName> header1Path = new LinkedList<QName>();
+ header1Path.addAll(WSSConstants.SOAP_11_HEADER_PATH);
+ header1Path.add(new QName("x", "Header1", "x"));
+
+ SignedPartSecurityEvent header1SignedPartSecurityEvent = new SignedPartSecurityEvent(samlSecurityToken, true, protectionOrder);
+ header1SignedPartSecurityEvent.setElementPath(header1Path);
+ inboundWSSecurityContext.registerSecurityEvent(header1SignedPartSecurityEvent);
+
+ List<QName> header2Path = new LinkedList<QName>();
+ header2Path.addAll(WSSConstants.SOAP_11_HEADER_PATH);
+ header2Path.add(new QName("x", "Header1", "x"));
+
+ SignedPartSecurityEvent header2SignedPartSecurityEvent = new SignedPartSecurityEvent(samlSecurityToken, true, protectionOrder);
+ header2SignedPartSecurityEvent.setElementPath(header2Path);
+ inboundWSSecurityContext.registerSecurityEvent(header2SignedPartSecurityEvent);
+
+ List<QName> bodyPath = new LinkedList<QName>();
+ bodyPath.addAll(WSSConstants.SOAP_11_BODY_PATH);
+
+ SignedPartSecurityEvent bodySignedPartSecurityEvent = new SignedPartSecurityEvent(samlSecurityToken, true, protectionOrder);
+ bodySignedPartSecurityEvent.setElementPath(bodyPath);
+ inboundWSSecurityContext.registerSecurityEvent(bodySignedPartSecurityEvent);
+
+ X509TokenSecurityEvent x509TokenSecurityEvent = new X509TokenSecurityEvent();
+ X509SecurityToken signedEndorsingSupportingToken = getX509Token(WSSConstants.X509V3Token);
+ x509TokenSecurityEvent.setSecurityToken(signedEndorsingSupportingToken);
+ signedEndorsingSupportingToken.setElementPath(bstPath);
+ signedEndorsingSupportingToken.setXMLEvent(bstTokenXmlEvent);
+ signedEndorsingSupportingToken.addTokenUsage(SecurityToken.TokenUsage.Signature);
+ inboundWSSecurityContext.registerSecurityEvent(x509TokenSecurityEvent);
+
+ SignatureValueSecurityEvent signature2ValueSecurityEvent = new SignatureValueSecurityEvent();
+ inboundWSSecurityContext.registerSecurityEvent(signature2ValueSecurityEvent);
+
+ SignedElementSecurityEvent signatureElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingSupportingToken, true, protectionOrder);
+ signatureElementSecurityEvent.setElementPath(signaturePath);
+ inboundWSSecurityContext.registerSecurityEvent(signatureElementSecurityEvent);
+
+ bstElementSecurityEvent = new SignedElementSecurityEvent(signedEndorsingSupportingToken, true, protectionOrder);
+ bstElementSecurityEvent.setElementPath(bstPath);
+ bstElementSecurityEvent.setXmlEvent(bstTokenXmlEvent);
+ inboundWSSecurityContext.registerSecurityEvent(bstElementSecurityEvent);
+
+ EncryptedPartSecurityEvent header2EncryptedPartSecurityEvent = new EncryptedPartSecurityEvent(samlSecurityToken, true, protectionOrder);
+ header2EncryptedPartSecurityEvent.setElementPath(header2Path);
+ inboundWSSecurityContext.registerSecurityEvent(header2EncryptedPartSecurityEvent);
+
+ EncryptedPartSecurityEvent bodyEncryptedPartSecurityEvent = new EncryptedPartSecurityEvent(samlSecurityToken, true, protectionOrder);
+ bodyEncryptedPartSecurityEvent.setElementPath(bodyPath);
+ inboundWSSecurityContext.registerSecurityEvent(bodyEncryptedPartSecurityEvent);
+
+ OperationSecurityEvent operationSecurityEvent = new OperationSecurityEvent();
+ operationSecurityEvent.setOperation(new QName("definitions"));
+ inboundWSSecurityContext.registerSecurityEvent(operationSecurityEvent);
+ return securityEventList;
+ }
+
+ private X509SecurityToken getX509Token(WSSConstants.TokenType tokenType) throws Exception {
+
+ final KeyStore keyStore = KeyStore.getInstance("jks");
+ keyStore.load(this.getClass().getClassLoader().getResourceAsStream("transmitter.jks"), "default".toCharArray());
+
+ return new X509SecurityToken(tokenType, null, null, null, "", WSSConstants.KeyIdentifierType.THUMBPRINT_IDENTIFIER) {
+ @Override
+ protected String getAlias() throws XMLSecurityException {
+ return "transmitter";
+ }
+
+ @Override
+ public Key getSecretKey(String algorithmURI, XMLSecurityConstants.KeyUsage keyUsage) throws XMLSecurityException {
+ try {
+ return keyStore.getKey("transmitter", "default".toCharArray());
+ } catch (Exception e) {
+ throw new XMLSecurityException(e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public PublicKey getPublicKey(String algorithmURI, XMLSecurityConstants.KeyUsage keyUsage) throws XMLSecurityException {
+ try {
+ return keyStore.getCertificate("transmitter").getPublicKey();
+ } catch (Exception e) {
+ throw new XMLSecurityException(e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public X509Certificate[] getX509Certificates() throws XMLSecurityException {
+ Certificate[] certificates;
+ try {
+ certificates = keyStore.getCertificateChain("transmitter");
+ } catch (Exception e) {
+ throw new XMLSecurityException(e.getMessage(), e);
+ }
+
+ X509Certificate[] x509Certificates = new X509Certificate[certificates.length];
+ for (int i = 0; i < certificates.length; i++) {
+ Certificate certificate = certificates[i];
+ x509Certificates[i] = (X509Certificate) certificate;
+ }
+ return x509Certificates;
+ }
+ };
+ }
+}
Modified: webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InteroperabilityTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InteroperabilityTest.java?rev=1299273&r1=1299272&r2=1299273&view=diff
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InteroperabilityTest.java (original)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/test/java/org/swssf/wss/test/InteroperabilityTest.java Sat Mar 10 21:05:21 2012
@@ -73,7 +73,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.X509Token,
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
@@ -85,7 +84,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
@@ -130,7 +128,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.X509Token,
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
@@ -142,7 +139,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
@@ -188,8 +184,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.EncryptedElement,
@@ -204,7 +198,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
};
@@ -290,11 +283,9 @@ public class InteroperabilityTest extend
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
@@ -407,12 +398,10 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.X509Token,
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.EncryptedElement,
@@ -423,7 +412,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
};
@@ -624,12 +612,10 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.X509Token,
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
@@ -748,7 +734,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.X509Token,
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
@@ -760,7 +745,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
@@ -846,7 +830,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event[] expectedSecurityEvents = new SecurityEvent.Event[]{
SecurityEvent.Event.Operation,
SecurityEvent.Event.X509Token,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.X509Token,
SecurityEvent.Event.SignatureValue,
SecurityEvent.Event.AlgorithmSuite,
@@ -858,7 +841,6 @@ public class InteroperabilityTest extend
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.SignedElement,
- SecurityEvent.Event.EncryptedKeyToken,
SecurityEvent.Event.EncryptedPart,
SecurityEvent.Event.AlgorithmSuite,
SecurityEvent.Event.AlgorithmSuite,