| <?xml version="1.0"?> |
| <!DOCTYPE project [ |
| <!-- |
| |
| Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0, which is available at |
| http://www.eclipse.org/legal/epl-2.0. |
| |
| This Source Code may also be made available under the following Secondary |
| Licenses when the conditions for such availability set forth in the |
| Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| version 2 with the GNU Classpath Exception, which is available at |
| https://www.gnu.org/software/classpath/license.html. |
| |
| SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| |
| --> |
| |
| <!ENTITY commonSetup SYSTEM "file:./../../../../config/properties.xml"> |
| <!ENTITY commonBuild SYSTEM "file:./../../../../config/common.xml"> |
| <!ENTITY commonRun SYSTEM "file:./../../../../config/run.xml"> |
| <!ENTITY testProperties SYSTEM "./../build.properties"> |
| <!ENTITY testProperties2 SYSTEM "./build.properties"> |
| <!ENTITY commonSecurity SYSTEM "file:./../../common.xml"> |
| ]> |
| |
| |
| <project name="security-ldap-simple" basedir="." default="usage"> |
| |
| &commonSetup; |
| &commonBuild; |
| &commonRun; |
| &commonSecurity; |
| &testProperties; |
| &testProperties2; |
| |
| <property file="../config.properties"/> |
| |
| <!-- |
| <condition property="unique-sub-context-not-specified"> |
| <equals arg1="${unique-ldap-sub-context-id}" arg2="not-yet-set"/> |
| </condition> |
| --> |
| |
| <target name="all" depends="display-header"> |
| <antcall target="all-reg"/> |
| <antcall target="all-ssl"/> |
| </target> |
| |
| <target name="all-reg" depends="init-common,env-check"> |
| <antcall target="setup"/> |
| <antcall target="build"/> |
| <antcall target="deploy"/> |
| <antcall target="run"/> |
| <antcall target="undeploy"/> |
| <antcall target="unsetup"/> |
| </target> |
| |
| <target name="all-ssl" depends="init-common,env-check"> |
| <antcall target="setup-ssl"/> |
| <antcall target="build"/> |
| <antcall target="deploy"/> |
| <antcall target="run"/> |
| <antcall target="undeploy"/> |
| <antcall target="unsetup-ssl"/> |
| </target> |
| |
| <target name="display-header"> |
| <echo message="-->Running ${ant.project.name} tests from ${basedir} ..."/> |
| </target> |
| |
| <target name="setup" depends="init-common"> |
| <!-- create auth realms --> |
| <antcall target="create-auth-ldaprealm"/> |
| <antcall target="create-ldap-usrgrps"/> |
| </target> |
| |
| <target name="clean" depends="init-common"> |
| <delete dir="${build.classes.dir}"/> |
| <delete dir="${assemble.dir}"/> |
| </target> |
| |
| <target name="compile" depends="clean"> |
| <antcall target="compile-common"> |
| <param name="src" value="web"/> |
| </antcall> |
| <antcall target="compile-common"> |
| <param name="src" value="client"/> |
| </antcall> |
| </target> |
| |
| <target name="build" depends="compile"> |
| <antcall target="webclient-war-common"> |
| <param name="hasWebclient" value="true"/> |
| </antcall> |
| </target> |
| |
| <target name="deploy" depends="init-common"> |
| <antcall target="deploy-war-common"> |
| <param name="contextroot" value="${appname}"/> |
| </antcall> |
| </target> |
| |
| <target name="run" depends="init-common"> |
| <java classname="HttpBasicAuthTest" fork="true"> |
| <classpath> |
| <pathelement path="${build.classes.dir}:${s1astest.classpath}"/> |
| </classpath> |
| <arg value="-url"/> |
| <arg value="http://${http.host}:${http.port}/${appname}/TestServlet"/> |
| <arg value="-user"/> |
| <arg value="munta"/> |
| <arg value="-pass"/> |
| <arg value="munta"/> |
| <arg value="-tc"/> |
| <arg value="10"/> |
| <arg value="-lc"/> |
| <arg value="10"/> |
| </java> |
| </target> |
| |
| <target name="undeploy" depends="init-common"> |
| <antcall target="undeploy-war-common"/> |
| </target> |
| |
| <target name="unsetup" depends="init-common"> |
| <!-- delete auth realms --> |
| <antcall target="delete-auth-ldaprealm"/> |
| <antcall target="delete-ldap-usrgrps"/> |
| </target> |
| |
| <target name="create-ldap-usrgrps" depends="init-common"> |
| |
| <copy file="${create.ldif.file}" tofile="temp.ldif" overwrite="true" failonerror="false"/> |
| <replace file="temp.ldif" token="UNIQUE_SUB_CONTEXT" value="${unique-ldap-sub-context-id}"/> |
| <echo message="Creating ldap test users and groups at ldap://${directory.server.host}:${directory.server.port}/?dc=${unique-ldap-sub-context-id},${directory.server.basedn}"/> |
| <antcall target="execute-ldap-ldif"> |
| <param name="ldif.file.path" value="temp.ldif"/> |
| </antcall> |
| <echo message="deleting temp file..."/> |
| <delete file="temp.ldif"/> |
| |
| </target> |
| |
| <target name="delete-ldap-usrgrps" depends="init-common"> |
| <copy file="${delete.ldif.file}" tofile="temp.ldif" overwrite="true" failonerror="false"/> |
| <replace file="temp.ldif" token="UNIQUE_SUB_CONTEXT" value="${unique-ldap-sub-context-id}"/> |
| <echo message="Deleting ldap test users and groups at ldap://${directory.server.host}:${directory.server.port}/?dc=${unique-ldap-sub-context-id},${directory.server.basedn}"/> |
| <antcall target="execute-ldap-ldif"> |
| <param name="ldif.file.path" value="temp.ldif"/> |
| </antcall> |
| <echo message="deleting temp file..."/> |
| <delete file="temp.ldif"/> |
| </target> |
| |
| <target name="restart"> |
| <antcall target="restart-server-instance-common"/> |
| </target> |
| |
| |
| <target name="execute-ldap-ldif" depends="init-common"> |
| <java classname="LDAPModify" fork="true" failonerror="false"> |
| <arg line="-h ${directory.server.host}"/> |
| <arg line="-p ${directory.server.port}"/> |
| <arg line="-D "${directory.manager.dn}""/> |
| <arg line="-w ${directory.manager.passwd}"/> |
| <arg line="-f ${ldif.file.path}"/> |
| <classpath> |
| <pathelement path="${env.APS_HOME}/lib/ldapjdk.jar"/> |
| </classpath> |
| </java> |
| </target> |
| |
| <target name="create-auth-ldaprealm" depends="init-common"> |
| <!-- workaround for handling the special character : in the admin command --> |
| <echo message="directory=${directory.server.url}" file="temp.txt"/> |
| <replace file="temp.txt" token=":" value="\\:"/> |
| <loadproperties srcFile="temp.txt"/> |
| <delete file="temp.txt"/> |
| <echo message="base-dn=${directory.server.basedn}" file="temp.txt"/> |
| <replace file="temp.txt" token="dc=" value="dc\\="/> |
| <loadproperties srcFile="temp.txt"/> |
| <delete file="temp.txt"/> |
| <echo message="url=${directory}"/> |
| <echo message="base-dn=${base-dn}"/> |
| |
| <antcall target="create-auth-realm"> |
| <param name="realmname" value="${ldap.realm.name}"/> |
| <param name="realmclass" value="${ldap.realm.class}"/> |
| <param name="realmproperties" value="--property directory=${directory}:base-dn=dc\=${unique-ldap-sub-context-id},${base-dn}:jaas-context=ldapRealm:com.sun.jndi.ldap.connect.pool=true:com.sun.jndi.ldap.connect.pool.maxsize=2"/> |
| </antcall> |
| </target> |
| |
| <!-- delete auth ldap realm --> |
| <target name="delete-auth-ldaprealm" depends="init-common"> |
| <antcall target="asadmin-common"> |
| <param name="admin.command" value="delete-auth-realm" /> |
| <param name="operand.props" value="${ldap.realm.name}"/> |
| </antcall> |
| </target> |
| |
| |
| |
| <target name="import-ldap-server-cert" depends="init-common"> |
| <antcall target="import-ldap-server-cert-pe"/> |
| <antcall target="import-ldap-server-cert-ee"/> |
| </target> |
| |
| <target name="delete-ldap-server-cert" depends="init-common"> |
| <antcall target="delete-ldap-server-cert-pe"/> |
| <antcall target="delete-ldap-server-cert-ee"/> |
| </target> |
| |
| <target name="import-ldap-server-cert-pe" unless="isNSS"> |
| <antcall target="import-cert-jks"> |
| <param name="cert.alias" value="ldapServerCert"/> |
| <param name="cert.file" value="../whirlTestCert.rfc"/> |
| <param name="keystore.file" value="${admin.domain.dir}/${admin.domain}/config/cacerts.jks"/> |
| </antcall> |
| <!--<antcall target="restart-server-instance-common"/>--> |
| </target> |
| <target name="delete-ldap-server-cert-pe" unless="isNSS"> |
| <exec executable="${java.home}/bin/keytool" failonerror="true"> |
| <arg line="-delete -alias ldapServerCert -storepass ${ssl.password} -keystore ${admin.domain.dir}/${admin.domain}/config/cacerts.jks"/> |
| </exec> |
| <!--<antcall target="restart-server-instance-common"/>--> |
| </target> |
| |
| <target name="import-ldap-server-cert-ee" if="isNSS"> |
| <echo message="${ssl.password}" file="passfile"/> |
| <exec executable="${env.S1AS_HOME}/lib/certutil"> |
| <env key="LD_LIBRARY_PATH" path="${env.S1AS_HOME}/lib"/> |
| <arg line="-A"/> |
| <arg line="-a"/> |
| <arg line="-n whirlTestCert"/> |
| <arg line="-t 'CTP,CTP,CTP'"/> |
| <arg line="-d ${admin.domain.dir}/${admin.domain}/config/"/> |
| <arg line="-f passfile"/> |
| <arg line="-i ../whirlTestCert.rfc"/> |
| </exec> |
| </target> |
| |
| <target name="delete-ldap-server-cert-ee" if="isNSS"> |
| <echo message="${ssl.password}" file="passfile"/> |
| <exec executable="${env.S1AS_HOME}/lib/certutil"> |
| <env key="LD_LIBRARY_PATH" path="${env.S1AS_HOME}/lib"/> |
| <arg line="-D"/> |
| <arg line="-n whirlTestCert"/> |
| <arg line="-d ${admin.domain.dir}/${admin.domain}/config/"/> |
| <arg line="-f passfile"/> |
| </exec> |
| </target> |
| |
| <target name="create-auth-ldaprealm-ssl" depends="init-common"> |
| <echo message="directory=${directory.server.url.ssl}" file="temp.txt"/> |
| <replace file="temp.txt" token=":" value="\\:"/> |
| <loadproperties srcFile="temp.txt"/> |
| <delete file="temp.txt"/> |
| <echo message="base-dn=${directory.server.basedn}" file="temp.txt"/> |
| <replace file="temp.txt" token="dc=" value="dc\\="/> |
| <loadproperties srcFile="temp.txt"/> |
| <delete file="temp.txt"/> |
| <echo message="url=${directory}"/> |
| <echo message="base-dn=${base-dn}"/> |
| |
| <antcall target="create-auth-realm"> |
| <param name="realmname" value="${ldap.realm.name}"/> |
| <param name="realmclass" value="${ldap.realm.class}"/> |
| <param name="realmproperties" value="--property directory=${directory}:base-dn=dc\=${unique-ldap-sub-context-id},${base-dn}:jaas-context=ldapRealm:com.sun.jndi.ldap.connect.pool=true:com.sun.jndi.ldap.connect.pool.maxsize=2"/> |
| </antcall> |
| </target> |
| |
| <target name="setup-ssl" depends="init-common,env-check"> |
| <!-- <antcall target="import-ldap-server-cert"/>--> |
| <antcall target="create-auth-ldaprealm-ssl"/> |
| <antcall target="create-ldap-usrgrps"/> |
| </target> |
| <target name="unsetup-ssl" depends="init-common,env-check"> |
| <!-- <antcall target="delete-ldap-server-cert"/>--> |
| <antcall target="delete-auth-ldaprealm"/> |
| <antcall target="delete-ldap-usrgrps"/> |
| </target> |
| |
| |
| </project> |