Author: dimuthul
Date: Mon Feb 18 01:21:29 2008
New Revision: 13843

Log:

Adding SAML1Tests.



Added:
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/SAML1TokenBuilderSimulator.java
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/SAML1TokenBuilderTest.java
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/X509CredentialImpl.java
   
trunk/solutions/identity/modules/identity-provider/src/test/resources/wso2is.jks
   (contents, props changed)
Removed:
   
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/cards/CardIssuerConfigTest.java

Added: 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/SAML1TokenBuilderSimulator.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/SAML1TokenBuilderSimulator.java
       Mon Feb 18 01:21:29 2008
@@ -0,0 +1,59 @@
+package org.wso2.solutions.identity.sts.saml;
+
+import org.apache.rahas.RahasData;
+import org.opensaml.saml1.core.Attribute;
+import org.opensaml.saml1.core.AttributeStatement;
+import org.opensaml.saml1.core.AttributeValue;
+import org.opensaml.saml1.core.ConfirmationMethod;
+import org.opensaml.saml1.core.Subject;
+import org.opensaml.saml1.core.SubjectConfirmation;
+import org.opensaml.xml.Configuration;
+import org.opensaml.xml.XMLObjectBuilderFactory;
+import org.opensaml.xml.schema.XSAny;
+import org.opensaml.xml.schema.impl.XSAnyBuilder;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.sts.IdentityProviderData;
+
+/**
+ * This simulator is written so that 
+ * 
+ */
+public class SAML1TokenBuilderSimulator
+        extends SAML1TokenBuilder {
+
+    public void createStatement(IdentityProviderData ipData, RahasData 
rahasData)
+            throws IdentityProviderException {
+       
+        attributeStmt = (AttributeStatement) 
buildXMLObject(AttributeStatement.DEFAULT_ELEMENT_NAME);
+
+        Subject subject = (Subject) 
buildXMLObject(Subject.DEFAULT_ELEMENT_NAME);
+        SubjectConfirmation subjectConf = (SubjectConfirmation) 
buildXMLObject(SubjectConfirmation.DEFAULT_ELEMENT_NAME);
+        ConfirmationMethod confMethod = (ConfirmationMethod) 
buildXMLObject(ConfirmationMethod.DEFAULT_ELEMENT_NAME);
+        confMethod.setConfirmationMethod(CONF_KEY);
+        subjectConf.getConfirmationMethods().add(confMethod);
+        subject.setSubjectConfirmation(subjectConf);
+
+       String uri =  "http://www.test.dialect/name";;
+            int index = uri.lastIndexOf("/");
+            String attrName = uri.substring(index + 1, uri.length());
+            String attrNamespace = uri.substring(0, index);
+
+            Attribute attribute = (Attribute) 
buildXMLObject(Attribute.DEFAULT_ELEMENT_NAME);
+            attribute.setAttributeName(attrName);
+            attribute.setAttributeNamespace(attrNamespace);
+               
+            XMLObjectBuilderFactory builderFactory = Configuration
+            .getBuilderFactory();
+
+            XSAnyBuilder attributeValueBuilder = (XSAnyBuilder) builderFactory
+            .getBuilder(XSAny.TYPE_NAME);
+            
+            XSAny stringValue = attributeValueBuilder.buildObject(
+            AttributeValue.DEFAULT_ELEMENT_NAME, null);
+            stringValue.setTextContent("test");
+            
+            attribute.getAttributeValues().add(stringValue);
+            attributeStmt.getAttributes().add(attribute);
+    }
+
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/SAML1TokenBuilderTest.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/SAML1TokenBuilderTest.java
    Mon Feb 18 01:21:29 2008
@@ -0,0 +1,41 @@
+package org.wso2.solutions.identity.sts.saml;
+
+import junit.framework.TestCase;
+
+import org.apache.axiom.om.util.UUIDGenerator;
+import org.apache.xml.security.Init;
+import org.apache.xml.security.signature.XMLSignature;
+import org.joda.time.DateTime;
+import org.opensaml.DefaultBootstrap;
+import org.w3c.dom.Element;
+
+public class SAML1TokenBuilderTest
+        extends TestCase {
+
+    static{
+        Init.init();
+    }
+    public void testSAML1TokenCreation() throws Exception {
+
+        DefaultBootstrap.bootstrap();
+
+        X509CredentialImpl keyHolder = new X509CredentialImpl();
+
+        SAML1TokenBuilderSimulator builder = new SAML1TokenBuilderSimulator();
+        builder.createStatement(null, null);
+
+        DateTime notBefore = new DateTime();
+        DateTime notAfter = new DateTime(notBefore.getMillis() + (300 * 1000));
+        String assertionId = UUIDGenerator.getUUID();
+
+        builder.createSAMLAssertion(notAfter, notBefore, assertionId);
+        builder.setSignature(XMLSignature.ALGO_ID_SIGNATURE_DSA, keyHolder);
+        builder.marshellAndSign();
+        Element elemSAML = builder.getSAMLasDOM();
+
+        
+      
+
+    }
+
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/X509CredentialImpl.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/test/java/org/wso2/solutions/identity/sts/saml/X509CredentialImpl.java
       Mon Feb 18 01:21:29 2008
@@ -0,0 +1,124 @@
+package org.wso2.solutions.identity.sts.saml;
+
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.X509CRL;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.crypto.SecretKey;
+
+import org.opensaml.xml.security.credential.Credential;
+import org.opensaml.xml.security.credential.CredentialContextSet;
+import org.opensaml.xml.security.credential.UsageType;
+import org.opensaml.xml.security.x509.X509Credential;
+
+public class X509CredentialImpl implements X509Credential {
+
+    private KeyStore store = null;
+
+    public X509CredentialImpl() throws Exception {
+        InputStream in = 
this.getClass().getClassLoader().getResourceAsStream("wso2is.jks");
+        //InputStream in = new FileInputStream("wso2is.jks");
+        store = KeyStore.getInstance("JKS");
+        store.load(in, "wso2is".toCharArray());
+
+    }
+
+    public Collection<X509CRL> getCRLs() {
+        return null;
+    }
+
+    public X509Certificate getEntityCertificate() {
+        X509Certificate cert = null;
+
+        try {
+            cert = (X509Certificate) store.getCertificate("localhost");
+        } catch (KeyStoreException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        return cert;
+    }
+
+    public Collection<X509Certificate> getEntityCertificateChain() {
+        List<X509Certificate> lst = new ArrayList();
+        try {
+            X509Certificate[] certs = (X509Certificate[]) store
+                    .getCertificateChain("localhost");
+            for (int i = 0; i < certs.length; i++) {
+                lst.add(certs[i]);
+            }
+        } catch (KeyStoreException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        return lst;
+    }
+
+    public CredentialContextSet getCredentalContextSet() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Class<? extends Credential> getCredentialType() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getEntityId() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Collection<String> getKeyNames() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public PrivateKey getPrivateKey() {
+        PrivateKey key = null;
+        try {
+            key = (PrivateKey) store
+                    .getKey("localhost", "wso2is".toCharArray());
+        } catch (KeyStoreException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (UnrecoverableKeyException e) {
+            e.printStackTrace();
+        }
+        return key;
+    }
+
+    public PublicKey getPublicKey() {
+        X509Certificate cert = null;
+
+        try {
+            cert = (X509Certificate) store.getCertificate("localhost");
+            
+        } catch (KeyStoreException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        return cert.getPublicKey();
+    }
+
+    public SecretKey getSecretKey() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public UsageType getUsageType() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/test/resources/wso2is.jks
==============================================================================
Binary file. No diff available.

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to