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