INSTALLING TOOLS ================ *1. install java 1.5.0_05 - add the jdk1.5.0_05/bin folder into the system PATH *2. install apache-ant-1.6.5 - add the apache-ant-1.6.5/bin folder into the system PATH *3. install jboss 3.2.7 (unzip, untar etc. the archive) into /usr/local/jboss-3.2.7 DEPLOYING THE SOURCEID SAML DEMO APPLICATION ============================================= 4. unzip the SAML 1.1 Java Toolkit 2.0.zip archive into working directory, preferably the home directory of the default user $HOME/SAML 1.1 Java Toolkit 2.0 5. rename the folder into sourceidSAML mv $HOME/SAML 1.1 Java Toolkit 2.0 sourceidSAML 6. cd $HOME/sourceidSAML 7. cd SAML_1.1_Java_Toolkit_2.0 *8. use CVS to synchronise/update the contents of SAML_1.1_Java_Toolkit_2.0/demo/src with the 'src' folder of the 'sourceID' module in our cvs repository on sourceforge 9. create an empty folder named 'xacml-support' under the SAML_1.1_Java_Toolkit_2.0/demo folder *10. use CVS to synchronise/update the contents of SAML_1.1_Java_Toolkit_2.0/demo/xacml-support with the 'xacml-support' folder of the 'sourceID' module in our cvs repository on sourceforge 11. unzip the sunxacml archive unzip sunxacml-1.2.zip and copy the resulting folder 'sunxacml-1.2' into the xacml-support folder cp -r sunxacml-1.2 SAML_1.1_Java_Toolkit_2.0/demo/xacml-support 12. the 'build-files' folder of the 'sourceID' module in our cvs repository on sourceforge contains some .xml and .properties files. *copy these files to the SAML_1.1_Java_Toolkit_2.0 folder (replace existing files of the same name where necessary). NB. The rest of the instructions below are copied from the README file in the sourceidSAML folder and slightly modified/adapted. 12a. Edit the "build.local.properties" file; set the "jboss.dir" property to point to the directory where JBoss is installed jboss.dir=/usr/local/jboss-3.2.7 12b. After editing "build.local.properties" file, copy it to the Infrastructure directory cp build.local.properties ../Infrastructure/build.local.properties 13. From the SAML_1.1_Java_Toolkit_2.0 directory run "ant demo-deploy" 14. Enable SSL in JBoss. In /usr/local/jboss-3.2.7/server/default/deploy/jbossweb-tomcat50.sar/server.xml un-comment the SSL connector and add/change the keystore and truststore parameters as follows: <Connector port="8443" address="${jboss.bind.address}" maxThreads="100" minSpareThreads="5" maxSpareThreads="15" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/sourceid.keystore" keystorePass="changeit" truststoreFile="${jboss.server.home.dir}/conf/sourceid.keystore" truststorePass="changeit" sslProtocol="TLS"/> 15. Copy the keystore resource copy file $HOME/sourceidSAML/Infrastructure/test/src/resource/sourceid.keystore into the folder /usr/local/jboss-3.2.7/server/default/conf RUNNING THE DEMO APPLICATION ============================ 16. Start JBoss. At this point, the Demo application using the SAML 1.1 Java Toolkit should be deployed and ready to use (assuming JBoss is running). You can access the Demo application by going to: http://localhost:8080/sourceid-saml-demo/ The page has links to the AP demo application and the RP demo application as well as a link to a page that demonstrates some SAML protocol SOAP binding. On the AP login page you can use the following username/password: joe / test On the RP login page you can use the following username/password: joe123 / test Please note that default deployment of the SAML-1.1 demo application server acts as both AP and RP. DEVELOPMENT =========== I recommend using the eclipse 3.1 IDE to view and develop the application. Start eclipse and select $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/demo/src as the workspace Create a new java project named 'java' in the workspace and Let eclipse find and load the classes automatically LIBRARIES ========= Whichever IDE you use, make sure that the following files are included in your list of external libraries in order to enable features such as automatic compilation etc. - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/lib/build/hivemind-1.0-beta-1.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/obeclient-api.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-infrastructure-xml.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-saml-classes.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-saml-resources.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-saml-servlets.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-saml-xml.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-infrastructure-classes.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/sourceid-infrastructure-resources.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/wfmc.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/saml/lib/xbean.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/lib/sourceid-saml-demo-xml.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/build/demo/lib/sourceid-saml-demo-resources.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/demo/xacml-support/xmlbeans/lib/jsr173_1.0_api.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/demo/xacml-support/xmlbeans/lib/resourcesBean.jar - $HOME/sourceidSAML/SAML_1.1_Java_Toolkit_2.0/demo/xacml-support/sunxacml-1.2/lib/sunxacml.jar - $JBOSSHOME/server/all/deploy/jbossweb-tomcat50.sar/servlet-api.jar