diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ec376bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea +target \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..bf82ff0 Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..70e554c --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# 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 +# +# https://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. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar diff --git a/DEVNOTES.adoc b/DEVNOTES.adoc new file mode 100644 index 0000000..e972ee9 --- /dev/null +++ b/DEVNOTES.adoc @@ -0,0 +1,14 @@ += Developer Notes + +* When building, there will be warnings about `Bundle edu.internet2.middleware.grouper.plugins:grouper-authentication-plugin:bundle:0.0.1-SNAPSHOT : Classes found in the wrong directory`. This can be safely ignored + +* During tests, there will be log messages like ++ +---- +2023-12-01T10:30:12,364: [main] WARN ConfigUtils.checkConfig(93) - [] - you are using the config key `external.authentication.saml.keyStoreAlias`; this should be changed to `external.authentication.saml.keystoreAlias` +2023-12-01T10:30:12,368: [main] WARN ConfigUtils.checkConfig(93) - [] - you are using the config key `external.authentication.saml.keyStoreType`; this should be changed to `external.authentication.saml.keystoreType` +---- ++ +These can usually be safely ignored. ++ +* SPIs will not work properly if the jar is built with inline; this should be considered if this configuration is changed. Some of the included libraries/frameworks depend on this, notably opensaml. \ No newline at end of file diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..f5e05f7 --- /dev/null +++ b/README.adoc @@ -0,0 +1,86 @@ += Grouper External Authentication Plugin + +Grouper plugin that provides configurable authentication. Features include + +* Authentication for UI, without requiring a separate process or container +* Supports SAML2, OIDC, and CAS + +== Usage + +=== Grouper Version 4.x + +NOTE: For a fully integrated sample configuration, see the docker-compose setup in the `src/test/docker` folder of the Git +repository. The environment includes sample Grouper configurations for SAML2, OIDC, or CAS, along with a Shibboleth IDP +that can authenticate Grouper using any of these methods. + +. Add plugin to Grouper image (latest versions can be downloaded from https://github.internet2.edu/internet2/grouper-ext-auth/releases[]) ++ +[source, dockerfile] +---- +COPY grouper-authentication-plugin.jar /opt/grouper/plugins +---- + +. Enable Plugins ++ +In `grouper.properties`, add properties ++ +[source, properties] +---- +grouper.osgi.enable = true +grouper.osgi.jar.dir = /opt/grouper/plugins +grouper.osgi.framework.boot.delegation=org.osgi.*,javax.*,org.apache.commons.logging,edu.internet2.middleware.grouperClient.*,edu.internet2.middleware.grouper.*,org.w3c.*,org.xml.*,sun.* + +grouperOsgiPlugin.0.jarName = grouper-authentication-plugin.jar +---- ++ +`grouper.osgi.jar.dir` should point to the directory you copied the file to in your image build file ++ +`grouperOsgiPlugin.0.jarName` should be the name of the file you copied in + +. Configure UI ++ +In `grouper-ui.properties, add properties appropriate for desired authentication. Note that only one can be used. ++ +Most of the configuration for the underlying authentication library is exposed to the Grouper configuration. Any field in the Java classes can be directly set using the field name or a setter used by using a related property (setting `attribute=value` will call `setAttribute(value)` ) + +.. SAML2 ++ +For SAML2, for example: ++ +[source,properties] +---- +external.authentication.provider = saml +external.authentication.saml.identityProviderEntityId = https://idp.unicon.local/idp/shibboleth +external.authentication.saml.serviceProviderEntityId = http://localhost:8080/grouper +external.authentication.saml.serviceProviderMetadataPath = file:/opt/grouper/sp-metadata.xml +external.authentication.saml.identityProviderMetadataPath = file:/opt/grouper/idp-metadata.xml +external.authentication.saml.keystorePath = file:/opt/grouper/here.key +external.authentication.saml.keystorePassword = testme +external.authentication.saml.privateKeyPassword = testme +external.authentication.saml.attributeAsId = urn:oid:0.9.2342.19200300.100.1.1 +---- ++ +For more information and more options, see https://www.pac4j.org/5.7.x/docs/clients/saml.html[] and https://github.com/pac4j/pac4j/blob/5.7.x/pac4j-saml/src/main/java/org/pac4j/saml/config/SAML2Configuration.java[] + +.. OIDC ++ +For OIDC, for example: ++ +[source,properties] +---- +external.authentication.provider = oidc +external.authentication.oidc.clientId = ***** +external.authentication.oidc.discoveryURI = https://unicon.okta.com/.well-known/openid-configuration +external.authentication.oidc.secret = ***** +external.authentication.oidc.claimAsUsername = preferred_username +---- ++ +For more information and more options, see https://www.pac4j.org/5.7.x/docs/clients/openid-connect.html[] and https://github.com/pac4j/pac4j/blob/5.7.x/pac4j-oidc/src/main/java/org/pac4j/oidc/config/OidcConfiguration.java[] + +=== Version 5.x+ + +TODO + +== More Information + +If assistance is needed (e.g., bugs, errors, configuration samples), feel free to open a ticket in the github repository or ask on the Slack channel diff --git a/README.md b/README.md deleted file mode 100644 index 56ae56c..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# grouper-ext-auth \ No newline at end of file diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..b7f0646 --- /dev/null +++ b/mvnw @@ -0,0 +1,287 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.1.1 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="`/usr/libexec/java_home`"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + printf '%s' "$(cd "$basedir"; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname $0)") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) wrapperUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $wrapperUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + QUIET="--quiet" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + QUIET="" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" + fi + [ $? -eq 0 ] || rm -f "$wrapperJarPath" + elif command -v curl > /dev/null; then + QUIET="--silent" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + QUIET="" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L + fi + [ $? -eq 0 ] || rm -f "$wrapperJarPath" + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaSource="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=`cygpath --path --windows "$javaSource"` + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..474c9d6 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,187 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.1.1 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..7222f7e --- /dev/null +++ b/pom.xml @@ -0,0 +1,221 @@ + + + + + + 4.0.0 + + Grouper Authentication Plugin + Authentication Library Plugin + edu.internet2.middleware.grouper.plugins + grouper-authentication-plugin + 0.0.1-SNAPSHOT + bundle + + + 17 + 17 + UTF-8 + 5.7.2 + 7.1.0 + 4.7.0 + + + + + edu.internet2.middleware.grouper + grouperClient + ${grouper.version} + provided + + + edu.internet2.middleware.grouper + grouper + ${grouper.version} + provided + + + edu.internet2.middleware.grouper + grouper-ui + ${grouper.version} + test + + + org.apache.commons + commons-lang3 + + + org.pac4j + pac4j-core + ${pac4j.version} + + + org.pac4j + pac4j-cas-clientv4 + ${pac4j.version} + + + org.pac4j + javaee-pac4j + ${javaee-pac4j.version} + + + org.pac4j + pac4j-saml-opensamlv5 + ${pac4j.version} + + + org.slf4j + jcl-over-slf4j + + + org.springframework + spring-jcl + + + xml-apis + xml-apis + + + xerces + xercesImpl + + + + + org.pac4j + pac4j-oidc + ${pac4j.version} + + + + + com.nimbusds + oauth2-oidc-sdk + 10.1 + + + + org.osgi + osgi.core + 8.0.0 + provided + + + + org.apache.tomcat + tomcat-catalina + 8.5.60 + provided + + + commons-logging + commons-logging + provided + + + edu.internet2.middleware.grouper + grouper + ${grouper.version} + test-jar + test + + + junit + junit + test + + + org.mockito + mockito-inline + 4.7.0 + test + + + + + + + edu.internet2.middleware.grouper + grouper + 2.6.15 + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + + -Xlint:unchecked + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.3.0 + + + true + + ${project.name} + ${project.organization.name} + ${project.artifactId} + ${project.version} + ${project.url} + ${maven.build.timestamp} + + + + + + org.apache.felix + maven-bundle-plugin + 5.1.9 + true + + + ${project.groupId}.${project.artifactId} + ${project.artifactId}-bundle + ${project.version} + edu.internet2.middleware.grouper.authentication.plugin.GrouperAuthentication + + !* + edu.internet2.middleware.grouper.authentication.plugin.* + *;scope=compile|runtime;inline=false + true + + !javax.ejb.* + + + + + + + diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/ConfigUtils.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/ConfigUtils.java new file mode 100644 index 0000000..fb8c310 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/ConfigUtils.java @@ -0,0 +1,201 @@ +package edu.internet2.middleware.grouper.authentication.plugin; + +import edu.internet2.middleware.grouperClient.config.ConfigPropertiesCascadeBase; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; +import org.pac4j.core.client.config.BaseClientConfiguration; +import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.core.io.ResourceLoader; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.time.Period; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.List; + +public class ConfigUtils { + private static final Map PROPERTY_RENAMES = new HashMap<>(); + static { + PROPERTY_RENAMES.put("external.authentication.saml.keyStoreAlias", "external.authentication.saml.keystoreAlias"); + PROPERTY_RENAMES.put("external.authentication.saml.keyStoreType", "external.authentication.saml.keystoreType"); + } + + private final static ResourceLoader resourceLoader = new DefaultResourceLoader(); + + private final static BundleContext bundleContext = FrameworkUtil.getBundle(GrouperAuthentication.class).getBundleContext(); + + private final static Log LOG = GrouperAuthentication.getLogFactory().getInstance(ConfigUtils.class); + + public static ConfigPropertiesCascadeBase getBestGrouperConfiguration() { + if (isGrouperUi()) { + return getConfigPropertiesCascadeBase("ui"); + } else if (isGrouperWs()) { + return getConfigPropertiesCascadeBase("ws"); + } else if (isGrouperDaemon()) { + return getConfigPropertiesCascadeBase("daemon"); + } else { + throw new RuntimeException("no appropriate configuration found"); + } + } + + public static ConfigPropertiesCascadeBase getConfigPropertiesCascadeBase(String type) { + try { + List> serviceReferenceList = (List>) bundleContext.getServiceReferences(ConfigPropertiesCascadeBase.class, "(type=" + type + ")"); + ServiceReference serviceReference = serviceReferenceList.get(0); + return (ConfigPropertiesCascadeBase) bundleContext.getService(serviceReference); + } catch (InvalidSyntaxException e) { + throw new RuntimeException(e); + } + } + + public static void setProperties(BaseClientConfiguration configuration, String authMechanism) { + checkConfig(); + ConfigPropertiesCascadeBase grouperConfig = getBestGrouperConfiguration(); + + Class clazz = configuration.getClass(); + for (String name : grouperConfig.propertyNames() + .stream() + .filter( p -> p.startsWith("external.authentication." + authMechanism)) + .toList()) { + // map name to realname if needed (e.g., changing case) + String realName = ConfigUtils.propertyNameRename(name); + String fieldName = realName.substring(name.lastIndexOf('.') + 1); + try { + Method method = getSetter(clazz, getMethodNameFromFieldName(fieldName)); + method.invoke(configuration, getProperty(grouperConfig, method.getParameterTypes()[0], name)); + } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException | + ClassNotFoundException e) { + throw new RuntimeException("could not set " + fieldName, e); + } + } + } + + /** + * method to check configuration from various states + */ + private static void checkConfig() { + ConfigPropertiesCascadeBase grouperConfig = getBestGrouperConfiguration(); + + // check renames + for (Map.Entry rename: PROPERTY_RENAMES.entrySet()) { + if (grouperConfig.containsKey(rename.getKey())) { + LOG.warn("you are using the config key `" + rename.getKey() + "`; this should be changed to `" + rename.getValue() + "`"); + } + } + } + + /** + * method to rewrite property names in the case of deprecation, etc + * + * @param propertyName + * @return + */ + private static String propertyNameRename(String propertyName) { + return PROPERTY_RENAMES.getOrDefault(propertyName, propertyName); + } + + private static String getMethodNameFromFieldName(String fieldName) { + return "set" + StringUtils.capitalize(fieldName); + } + + private static Field getField(Class clazz, String name) throws NoSuchFieldException { + try { + return clazz.getDeclaredField(name); + } catch (NoSuchFieldException e) { + if (clazz.equals(Object.class)) { + throw new NoSuchFieldException(name); + } + return getField(clazz.getSuperclass(), name); + } + } + + private static Method getSetter(Class clazz, String name) throws NoSuchMethodException { + //TODO: this is dangerous. currently there are no overloaded methods, but there could be in the future. need to decide best way to handle this (parameter type precedence?) + return Arrays.stream(clazz.getMethods()) + .filter(m -> m.getName().equals(name)) + .findFirst() + .orElseThrow(NoSuchMethodException::new); + } + + private static Object getProperty(ConfigPropertiesCascadeBase configPropertiesCascadeBase, Type type, String propName) throws ClassNotFoundException { + if (Enum.class.isAssignableFrom((Class) type)) { + // there are a few properties that are enums (e.g., CAS protocol) + // TODO: can this be checked? + @SuppressWarnings("unchecked") + Enum e = Enum.valueOf((Class) type, configPropertiesCascadeBase.propertyValueString(propName)); + return e; + } else { + switch (type.getTypeName()) { + case "java.lang.String": { + return configPropertiesCascadeBase.propertyValueString(propName); + } + case "int": + case "java.lang.Integer": { + return configPropertiesCascadeBase.propertyValueInt(propName); + } + case "long": + case "java.lang.Long": { + return Long.parseLong(configPropertiesCascadeBase.propertyValueString(propName)); + } + case "double": + case "java.lang.Double": { + return Double.parseDouble(configPropertiesCascadeBase.propertyValueString(propName)); + } + case "boolean": + case "java.lang.Boolean": { + return configPropertiesCascadeBase.propertyValueBoolean(propName); + } + case "java.util.List": + case "java.util.Collection": { + return Arrays.asList(configPropertiesCascadeBase.propertyValueString(propName).split(",")); + } + case "java.util.Set": { + //TODO: hopefully string is all that is needed, but might need to revisit + Set set = new HashSet<>(); + Collections.addAll(set, configPropertiesCascadeBase.propertyValueString(propName).split(",")); + return set; + } + case "java.util.Map": { + Map map = new HashMap<>(); + for (String pairs : configPropertiesCascadeBase.propertyValueString(propName).split(",")) { + String[] keyValue = pairs.split("="); + map.put(keyValue[0].trim(), keyValue[1].trim()); + } + return map; + } + case "java.time.Period": { + return Period.parse(configPropertiesCascadeBase.propertyValueString(propName)); + } + case "org.springframework.core.io.WritableResource": + case "org.springframework.core.io.Resource": { + return resourceLoader.getResource(configPropertiesCascadeBase.propertyValueString(propName)); + } + default: + throw new IllegalStateException("Unexpected type: " + type.getTypeName()); + } + } + } + + public static boolean isGrouperUi() { + return getConfigPropertiesCascadeBase("hibernate").propertyValueBoolean("grouper.is.ui", false); + } + + public static boolean isGrouperWs() { + return getConfigPropertiesCascadeBase("hibernate").propertyValueBoolean("grouper.is.ws", false); + } + + public static boolean isGrouperDaemon() { + return getConfigPropertiesCascadeBase("hibernate").propertyValueBoolean("grouper.is.daemon", false); + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/ExternalAuthenticationServletContainerInitializer.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/ExternalAuthenticationServletContainerInitializer.java new file mode 100644 index 0000000..0cc0538 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/ExternalAuthenticationServletContainerInitializer.java @@ -0,0 +1,27 @@ +package edu.internet2.middleware.grouper.authentication.plugin; + +import edu.internet2.middleware.grouper.authentication.plugin.filter.CallbackFilterDecorator; +import edu.internet2.middleware.grouper.authentication.plugin.filter.SecurityFilterDecorator; +import org.apache.commons.logging.Log; + +import javax.servlet.FilterRegistration; +import javax.servlet.ServletContainerInitializer; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import java.util.Set; + +public class ExternalAuthenticationServletContainerInitializer implements ServletContainerInitializer { + private static final Log log = GrouperAuthentication.getLogFactory().getInstance(ExternalAuthenticationServletContainerInitializer.class); + + @Override + public void onStartup(Set> c, ServletContext ctx) throws ServletException { + log.info("Initializing plugin security filters for external authentication"); + CallbackFilterDecorator callbackFilterDecorator = new CallbackFilterDecorator(); + FilterRegistration.Dynamic callbackFilter = ctx.addFilter("callbackFilter", callbackFilterDecorator); + callbackFilter.addMappingForUrlPatterns(null, false, "/*"); + + SecurityFilterDecorator securityFilterDecorator = new SecurityFilterDecorator(); + FilterRegistration.Dynamic securityFilter = ctx.addFilter("securityFilter", securityFilterDecorator); + securityFilter.addMappingForUrlPatterns(null, false, "/*"); + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/GrouperAuthentication.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/GrouperAuthentication.java new file mode 100644 index 0000000..df1f58e --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/GrouperAuthentication.java @@ -0,0 +1,56 @@ +package edu.internet2.middleware.grouper.authentication.plugin; + +import org.apache.commons.logging.LogFactory; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.ServiceRegistration; + +import javax.servlet.ServletContainerInitializer; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; + +public class GrouperAuthentication implements BundleActivator { + private Map referenceMap = new HashMap<>(); + private final Map> registrationMap = new HashMap<>(); + + private static final LogFactory LOG_FACTORY; + static { + try { + BundleContext bundleContext = FrameworkUtil.getBundle(GrouperAuthentication.class).getBundleContext(); + //TODO: figure out why this is weird + // TODO: check if this can be checked + @SuppressWarnings("unchecked") + ServiceReference logfactoryReference = (ServiceReference) bundleContext.getAllServiceReferences("org.apache.commons.logging.LogFactory", null)[0]; + bundleContext.getServiceReference("org.apache.commons.logging.LogFactory"); + if (bundleContext.getService(logfactoryReference) != null) { + LOG_FACTORY = bundleContext.getService(logfactoryReference); + } else { + LOG_FACTORY = LogFactory.getFactory(); + } + } catch (InvalidSyntaxException e) { + throw new RuntimeException(e); + } + } + + public static LogFactory getLogFactory() { + return LOG_FACTORY; + } + + @Override + public void start(BundleContext context) throws Exception { + ExternalAuthenticationServletContainerInitializer externalAuthenticationServletContainerInitializer = new ExternalAuthenticationServletContainerInitializer(); + ServiceRegistration easciRegistration = context.registerService(ServletContainerInitializer.class, externalAuthenticationServletContainerInitializer, new Hashtable<>()); + registrationMap.put(ExternalAuthenticationServletContainerInitializer.class.getCanonicalName(), easciRegistration); + } + + @Override + public void stop(BundleContext context) throws Exception { + for (ServiceRegistration registration : registrationMap.values()) { + registration.unregister(); + } + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/Pac4jConfigFactory.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/Pac4jConfigFactory.java new file mode 100644 index 0000000..1d119a8 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/Pac4jConfigFactory.java @@ -0,0 +1,73 @@ +package edu.internet2.middleware.grouper.authentication.plugin; + +import edu.internet2.middleware.grouper.authentication.plugin.config.ClientProvider; +import edu.internet2.middleware.grouper.authentication.plugin.config.ClientProviders; +import edu.internet2.middleware.grouperClient.config.ConfigPropertiesCascadeBase; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.pac4j.core.client.Client; +import org.pac4j.core.client.Clients; +import org.pac4j.core.config.Config; +import org.pac4j.core.config.ConfigFactory; +import org.pac4j.core.matching.matcher.PathMatcher; + +import java.lang.reflect.InvocationTargetException; + +public class Pac4jConfigFactory implements ConfigFactory { + private static final Log LOGGER = GrouperAuthentication.getLogFactory().getInstance(Pac4jConfigFactory.class); + + @Override + public Config build(Object... parameters) { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); + + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getBestGrouperConfiguration(); + + String provider; + if (grouperConfig.containsKey("external.authentication.mechanism")) { + LOGGER.warn("you're using the deprecated key `external.authentication.mechanism`; please update to `external.authentication.provider`"); + provider = grouperConfig.propertyValueString("external.authentication.mechanism"); + } else { + provider = grouperConfig.propertyValueString("external.authentication.provider"); + } + Client client = getClient(provider); + + String callbackUrl = grouperConfig.propertyValueString("external.authentication.grouperContextUrl") + + grouperConfig.propertyValueString("external.authentication.callbackUrl", "/callback"); + final Clients clients = new Clients(callbackUrl, client); + + final Config config = new Config(clients); + + PathMatcher pathMatcher = new PathMatcher(); + + for (String exclusion : grouperConfig.propertyValueString("external.authentication.exclusions", "/status").split(",")) { + pathMatcher.excludeBranch(StringUtils.trim(exclusion)); + } + + config.addMatcher("securityExclusions", pathMatcher); + return config; + } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { + throw new RuntimeException("problem configuring pac4j", e); + } finally { + Thread.currentThread().setContextClassLoader(classLoader); + } + } + + //TODO: can this be checked + @SuppressWarnings("unchecked") + private static Client getClient(String provider) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException { + Class providerClass; + //TODO: might be a better way of doing this + try { + providerClass = ClientProviders.fromString(provider).getProviderClass(); + } catch (IllegalArgumentException e) { + try { + providerClass = (Class) Class.forName(provider); + } catch (ClassNotFoundException classNotFoundException) { + throw new RuntimeException(classNotFoundException); + } + } + return providerClass.getDeclaredConstructor().newInstance().getClient(); + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/CasClientProvider.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/CasClientProvider.java new file mode 100644 index 0000000..1a04a91 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/CasClientProvider.java @@ -0,0 +1,24 @@ +package edu.internet2.middleware.grouper.authentication.plugin.config; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import org.pac4j.cas.client.CasClient; +import org.pac4j.cas.config.CasConfiguration; +import org.pac4j.core.client.Client; + +public class CasClientProvider implements ClientProvider { + @Override + public boolean supports(String type) { + return "cas".equals(type); + } + + @Override + public Client getClient() { + final CasConfiguration configuration = new CasConfiguration(); + + ConfigUtils.setProperties(configuration, "cas"); + CasClient client = new CasClient(configuration); + //TODO: make configurable + client.setName("client"); + return client; + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/ClientProvider.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/ClientProvider.java new file mode 100644 index 0000000..d14f756 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/ClientProvider.java @@ -0,0 +1,8 @@ +package edu.internet2.middleware.grouper.authentication.plugin.config; + +import org.pac4j.core.client.Client; + +public interface ClientProvider { + boolean supports(String type); + Client getClient(); +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/ClientProviders.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/ClientProviders.java new file mode 100644 index 0000000..c107ba7 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/ClientProviders.java @@ -0,0 +1,23 @@ +package edu.internet2.middleware.grouper.authentication.plugin.config; + +import java.util.Locale; + +public enum ClientProviders { + CAS (CasClientProvider.class), + OIDC (OidcClientProvider.class), + SAML (SAML2ClientProvider.class); + + private final Class providerClass; + + ClientProviders(Class clazz) { + this.providerClass = clazz; + } + + public Class getProviderClass() { + return this.providerClass; + } + + public static ClientProviders fromString(String name) { + return ClientProviders.valueOf(name.toUpperCase(Locale.ENGLISH)); + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/OidcClientProvider.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/OidcClientProvider.java new file mode 100644 index 0000000..fea1eb8 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/OidcClientProvider.java @@ -0,0 +1,55 @@ +package edu.internet2.middleware.grouper.authentication.plugin.config; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import edu.internet2.middleware.grouper.authentication.plugin.GrouperAuthentication; +import edu.internet2.middleware.grouper.authentication.plugin.oidc.client.ClaimAsUsernameOidcClient; +import edu.internet2.middleware.grouper.authentication.plugin.oidc.config.ClaimAsUsernameOidcConfiguration; +import org.apache.commons.logging.Log; +import org.pac4j.core.client.Client; +import org.pac4j.oidc.client.OidcClient; +import org.pac4j.oidc.config.OidcConfiguration; + +import java.lang.reflect.InvocationTargetException; + +public class OidcClientProvider implements ClientProvider { + private static final Log LOGGER = GrouperAuthentication.getLogFactory().getInstance(OidcClientProvider.class); + + @Override + public boolean supports(String type) { + return "oidc".equals(type); + } + + @Override + public Client getClient() { + OidcClient client; + String implementation = ConfigUtils.getBestGrouperConfiguration().propertyValueString("external.authentication.mechanism.oidc.clientImplementation"); + if (implementation != null && !implementation.isEmpty()) { + try { + OidcConfiguration configuration = (OidcConfiguration) Class.forName(implementation).getDeclaredConstructor().newInstance(); + client = new OidcClient(configuration); + } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | NoSuchMethodException | + InvocationTargetException e) { + //TODO: check whether this is actually a good idea and/or approapriate. there are a few cases that might need to be handled differently (e.g., wrong classname) + LOGGER.warn("problem loading pac4j client implementation; using a default", e); + client = getClaimAsUsernameOidcClient(); + } + } else { + client = getClaimAsUsernameOidcClient(); + } + ConfigUtils.setProperties(client.getConfiguration(), "oidc"); + + //TODO: make configurable + client.setName("client"); + return client; + } + + private static ClaimAsUsernameOidcClient getClaimAsUsernameOidcClient() { + ClaimAsUsernameOidcConfiguration configuration = new ClaimAsUsernameOidcConfiguration(); + String claimAsUsername = ConfigUtils.getBestGrouperConfiguration().propertyValueString("external.authentication.oidc.claimAsUsername"); + if (claimAsUsername != null) { + configuration.setClaimAsUsername(claimAsUsername); + } + ClaimAsUsernameOidcClient client = new ClaimAsUsernameOidcClient(configuration); + return client; + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/SAML2ClientProvider.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/SAML2ClientProvider.java new file mode 100644 index 0000000..c76c62d --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/config/SAML2ClientProvider.java @@ -0,0 +1,24 @@ +package edu.internet2.middleware.grouper.authentication.plugin.config; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import org.pac4j.core.client.Client; +import org.pac4j.saml.client.SAML2Client; +import org.pac4j.saml.config.SAML2Configuration; + +public class SAML2ClientProvider implements ClientProvider { + @Override + public boolean supports(String type) { + return "saml".equals(type); + } + + @Override + public Client getClient() { + final SAML2Configuration configuration = new SAML2Configuration(); + ConfigUtils.setProperties(configuration, "saml"); + SAML2Client client = new SAML2Client(configuration); + + //TODO: make configurable + client.setName("client"); + return client; + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/CallbackFilterDecorator.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/CallbackFilterDecorator.java new file mode 100644 index 0000000..838265a --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/CallbackFilterDecorator.java @@ -0,0 +1,62 @@ +package edu.internet2.middleware.grouper.authentication.plugin.filter; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import edu.internet2.middleware.grouper.cfg.GrouperHibernateConfig; +import org.pac4j.jee.filter.CallbackFilter; + +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Timer; +import java.util.TimerTask; + +public class CallbackFilterDecorator extends CallbackFilter implements Reinitializable { + private Timer timer = new Timer(); + + private static boolean isCallbackUrlCalled(HttpServletRequest request) { + return getRequestPathInContext(request).matches(ConfigUtils.getBestGrouperConfiguration().propertyValueString("external.authentication.callbackUrl", "/callback")); + } + + private static String getRequestPathInContext(HttpServletRequest request) { + return request.getRequestURI().replaceFirst(request.getServletContext().getContextPath(), ""); + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + super.init(filterConfig); + this.initDecorator(); + TimerTask timerTask = new ReinitializingTimer(this); + int period = ConfigUtils.getBestGrouperConfiguration().propertyValueInt("external.authentication.config.reload.milliseconds", 60 * 1000); + this.timer.schedule(timerTask, period, period); + } + + public void initDecorator() { + this.setDefaultUrl(ConfigUtils.getBestGrouperConfiguration().propertyValueString("external.authentication.defaultUrl", "/")); + this.setRenewSession(true); + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + if (FilterDecoratorUtils.isExternalAuthenticationEnabled() && isCallbackUrlCalled((HttpServletRequest) request)) { + super.doFilter(request, response, chain); + } else { + chain.doFilter(request, response); + } + } + + @Override + protected void internalFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); + super.internalFilter(request, response, chain); + } finally { + Thread.currentThread().setContextClassLoader(classLoader); + } + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/FilterDecoratorUtils.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/FilterDecoratorUtils.java new file mode 100644 index 0000000..55db5e3 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/FilterDecoratorUtils.java @@ -0,0 +1,10 @@ +package edu.internet2.middleware.grouper.authentication.plugin.filter; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; + +public class FilterDecoratorUtils { + protected static boolean isExternalAuthenticationEnabled() { + return ConfigUtils.getBestGrouperConfiguration().propertyValueBoolean("grouper.is.extAuth.enabled", false); + } + +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/Reinitializable.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/Reinitializable.java new file mode 100644 index 0000000..60e8d2c --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/Reinitializable.java @@ -0,0 +1,5 @@ +package edu.internet2.middleware.grouper.authentication.plugin.filter; + +public interface Reinitializable { + void initDecorator(); +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/ReinitializingTimer.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/ReinitializingTimer.java new file mode 100644 index 0000000..a7d0cc6 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/ReinitializingTimer.java @@ -0,0 +1,39 @@ +package edu.internet2.middleware.grouper.authentication.plugin.filter; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import edu.internet2.middleware.grouper.authentication.plugin.ExternalAuthenticationServletContainerInitializer; +import edu.internet2.middleware.grouper.authentication.plugin.GrouperAuthentication; +import org.apache.commons.logging.Log; + +import java.util.Map; +import java.util.TimerTask; +import java.util.regex.Pattern; + +public class ReinitializingTimer extends TimerTask { + private static final Log LOGGER = GrouperAuthentication.getLogFactory().getInstance(ExternalAuthenticationServletContainerInitializer.class); + + private Map config; + private final Reinitializable initTarget; + + public ReinitializingTimer(Reinitializable initTarget) { + this.initTarget = initTarget; + config = ConfigUtils.getBestGrouperConfiguration().propertiesMap(Pattern.compile("^external\\.authentication\\.([^.]+)$")); + } + + protected static boolean areEqual(Map first, Map second) { + if (first.size() != second.size()) { + return false; + } + return first.entrySet().stream().allMatch(e -> e.getValue().equals(second.get(e.getKey()))); + } + + @Override + public void run() { + Map curConfig = ConfigUtils.getBestGrouperConfiguration().propertiesMap(Pattern.compile("^external\\.authentication\\.([^.]+)$")); + if (!areEqual(config, curConfig)) { + config = curConfig; + initTarget.initDecorator(); + LOGGER.info("Pac4j External Authentication configuration reloaded"); + } + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/SecurityFilterDecorator.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/SecurityFilterDecorator.java new file mode 100644 index 0000000..6f88fea --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/filter/SecurityFilterDecorator.java @@ -0,0 +1,48 @@ +package edu.internet2.middleware.grouper.authentication.plugin.filter; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import edu.internet2.middleware.grouper.authentication.plugin.Pac4jConfigFactory; +import org.pac4j.core.authorization.authorizer.DefaultAuthorizers; +import org.pac4j.core.config.ConfigBuilder; +import org.pac4j.core.util.Pac4jConstants; +import org.pac4j.jee.filter.SecurityFilter; + +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import java.io.IOException; +import java.util.Timer; +import java.util.TimerTask; + +public class SecurityFilterDecorator extends SecurityFilter implements Reinitializable { + private Timer timer = new Timer(); + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + super.init(filterConfig); + this.initDecorator(); + TimerTask timerTask = new ReinitializingTimer(this); + int period = ConfigUtils.getBestGrouperConfiguration().propertyValueInt("external.authentication.config.reload.milliseconds", 60 * 1000); + this.timer.schedule(timerTask, period, period); + } + + public void initDecorator() { + if (ConfigUtils.isGrouperUi() && FilterDecoratorUtils.isExternalAuthenticationEnabled()) { + this.setSharedConfig(new Pac4jConfigFactory().build()); + this.setClients("client"); + this.setMatchers(String.join(Pac4jConstants.ELEMENT_SEPARATOR, "securityExclusions")); + this.setAuthorizers(DefaultAuthorizers.NONE); + } + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + if (ConfigUtils.isGrouperUi() && FilterDecoratorUtils.isExternalAuthenticationEnabled()) { + super.doFilter(request, response, chain); + } else { + chain.doFilter(request, response); + } + } +} diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/client/ClaimAsUsernameOidcClient.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/client/ClaimAsUsernameOidcClient.java new file mode 100644 index 0000000..9f20d9d --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/client/ClaimAsUsernameOidcClient.java @@ -0,0 +1,18 @@ +package edu.internet2.middleware.grouper.authentication.plugin.oidc.client; + +import edu.internet2.middleware.grouper.authentication.plugin.oidc.config.ClaimAsUsernameOidcConfiguration; +import edu.internet2.middleware.grouper.authentication.plugin.oidc.profile.ClaimAsUsernameProfileCreator; +import org.pac4j.oidc.client.OidcClient; + +public class ClaimAsUsernameOidcClient extends OidcClient { + public ClaimAsUsernameOidcClient(final ClaimAsUsernameOidcConfiguration claimAsUsernameOidcConfiguration) { + super(claimAsUsernameOidcConfiguration); + } + + @Override + public void init() { + this.defaultProfileCreator(new ClaimAsUsernameProfileCreator(this.getConfiguration(), this)); + + super.init(); + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/config/ClaimAsUsernameOidcConfiguration.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/config/ClaimAsUsernameOidcConfiguration.java new file mode 100644 index 0000000..e20e2cf --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/config/ClaimAsUsernameOidcConfiguration.java @@ -0,0 +1,15 @@ +package edu.internet2.middleware.grouper.authentication.plugin.oidc.config; + +import org.pac4j.oidc.config.OidcConfiguration; + +public class ClaimAsUsernameOidcConfiguration extends OidcConfiguration { + private String claimAsUsername; + + public String getClaimAsUsername() { + return claimAsUsername; + } + + public void setClaimAsUsername(String claimAsUsername) { + this.claimAsUsername = claimAsUsername; + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfile.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfile.java new file mode 100644 index 0000000..fa2dfa9 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfile.java @@ -0,0 +1,16 @@ +package edu.internet2.middleware.grouper.authentication.plugin.oidc.profile; + +import org.pac4j.oidc.profile.OidcProfile; + +public class ClaimAsUsernameProfile extends OidcProfile { + private final String claimAsUsername; + + public ClaimAsUsernameProfile(final String claimAsUsername) { + this.claimAsUsername = claimAsUsername; + } + + @Override + public String getUsername() { + return this.getAttribute(this.claimAsUsername).toString(); + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfileCreator.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfileCreator.java new file mode 100644 index 0000000..2ad5cf7 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfileCreator.java @@ -0,0 +1,22 @@ +package edu.internet2.middleware.grouper.authentication.plugin.oidc.profile; + +import edu.internet2.middleware.grouper.authentication.plugin.oidc.config.ClaimAsUsernameOidcConfiguration; +import org.pac4j.core.util.CommonHelper; +import org.pac4j.oidc.client.OidcClient; +import org.pac4j.oidc.config.OidcConfiguration; +import org.pac4j.oidc.profile.creator.OidcProfileCreator; + +public class ClaimAsUsernameProfileCreator extends OidcProfileCreator { + public ClaimAsUsernameProfileCreator(OidcConfiguration configuration, OidcClient client) { + super(configuration, client); + } + + @Override + protected void internalInit(boolean forceReinit) { + CommonHelper.assertNotNull("claimAsUsername", ((ClaimAsUsernameOidcConfiguration)this.configuration).getClaimAsUsername()); + + defaultProfileDefinition(new ClaimAsUsernameProfileDefinition(((ClaimAsUsernameOidcConfiguration)this.configuration).getClaimAsUsername())); + + super.internalInit(forceReinit); + } +} \ No newline at end of file diff --git a/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfileDefinition.java b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfileDefinition.java new file mode 100644 index 0000000..0bb5260 --- /dev/null +++ b/src/main/java/edu/internet2/middleware/grouper/authentication/plugin/oidc/profile/ClaimAsUsernameProfileDefinition.java @@ -0,0 +1,10 @@ +package edu.internet2.middleware.grouper.authentication.plugin.oidc.profile; + +import org.pac4j.oidc.profile.OidcProfileDefinition; + +public class ClaimAsUsernameProfileDefinition extends OidcProfileDefinition { + public ClaimAsUsernameProfileDefinition(final String claimAsUsername) { + super(); + setProfileFactory(x -> new ClaimAsUsernameProfile(claimAsUsername)); + } +} \ No newline at end of file diff --git a/src/test/docker/.env b/src/test/docker/.env new file mode 100644 index 0000000..8af2476 --- /dev/null +++ b/src/test/docker/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=grouper-ext-auth \ No newline at end of file diff --git a/src/test/docker/README.adoc b/src/test/docker/README.adoc new file mode 100644 index 0000000..7250ea3 --- /dev/null +++ b/src/test/docker/README.adoc @@ -0,0 +1,5 @@ += Integration example + +This directory contains sample configuration for integrating Grouper external authentication. Integration is provided primarily through the Shibboleth IdP. + +*!!!WARNING!!!* This is a full integration example that should be able to be run with minimal effort. As such, there are private keys included that should be replaced if used in any way outside of testing. \ No newline at end of file diff --git a/src/test/docker/directory/001_eduperson.ldif b/src/test/docker/directory/001_eduperson.ldif new file mode 100644 index 0000000..8afb75d --- /dev/null +++ b/src/test/docker/directory/001_eduperson.ldif @@ -0,0 +1,85 @@ +dn: cn=eduperson,cn=schema,cn=config +objectClass: olcSchemaConfig +cn: eduperson +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.1 + NAME 'eduPersonAffiliation' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.7 + NAME 'eduPersonEntitlement' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseExactMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.2 + NAME 'eduPersonNickName' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseIgnoreMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.3 + NAME 'eduPersonOrgDN' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY distinguishedNameMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.4 + NAME 'eduPersonOrgUnitDN' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY distinguishedNameMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.5 + NAME 'eduPersonPrimaryAffiliation' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseIgnoreMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.8 + NAME 'eduPersonPrimaryOrgUnitDN' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY distinguishedNameMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.6 + NAME 'eduPersonPrincipalName' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseIgnoreMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.12 + NAME 'eduPersonPrincipalNamePrior' + DESC 'eduPersonPrincipalNamePrior per Internet2' + EQUALITY caseIgnoreMatch + SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.9 + NAME 'eduPersonScopedAffiliation' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseIgnoreMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.10 + NAME 'eduPersonTargetedID' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.11 + NAME 'eduPersonAssurance' + DESC 'eduPerson per Internet2 and EDUCAUSE' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.13 + NAME 'eduPersonUniqueId' + DESC 'eduPersonUniqueId per Internet2' + EQUALITY caseIgnoreMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) +olcAttributeTypes: ( 1.3.6.1.4.1.5923.1.1.1.16 + NAME 'eduPersonOrcid' + DESC 'ORCID researcher identifiers belonging to the principal' + EQUALITY caseIgnoreMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +olcObjectClasses: ( 1.3.6.1.4.1.5923.1.1.2 + NAME 'eduPerson' + AUXILIARY + MAY ( + eduPersonAffiliation $ eduPersonNickname $ eduPersonOrgDN $ + eduPersonOrgUnitDN $ eduPersonPrimaryAffiliation $ + eduPersonPrincipalName $ eduPersonEntitlement $ eduPersonPrimaryOrgUnitDN $ + eduPersonScopedAffiliation $ eduPersonTargetedID $ eduPersonAssurance $ + eduPersonPrincipalNamePrior $ eduPersonUniqueId $ eduPersonOrcid ) + ) diff --git a/src/test/docker/directory/999_users.ldif b/src/test/docker/directory/999_users.ldif new file mode 100644 index 0000000..21e923e --- /dev/null +++ b/src/test/docker/directory/999_users.ldif @@ -0,0 +1,15529 @@ +dn: ou=People,dc=unicon,dc=local +objectClass: organizationalUnit +ou: People +description: People + +dn: ou=Groups,dc=unicon,dc=local +objectClass: organizationalUnit +ou: Groups +description: Groups + +dn: ou=Grouper, ou=Groups,dc=unicon,dc=local +objectClass: organizationalUnit +ou: Grouper +description: Grouper Groups + +dn: uid=GrouperSystem,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +givenName: Grouper +uid: GrouperSystem +sn: System +cn: Grouper System +userPassword: password + +dn: uid=jsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +givenName: Joe +uid: jsmith +sn: Smith +cn: John Smith +userPassword: password + +dn: uid=banderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +givenName: Bob +uid: banderson +sn: Anderson +cn: Bob Anderson +userPassword: password + +dn: uid=kwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Karl +cn: Karl White +uid: kwhite +mail: kwhite@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=whenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: William +cn: William Henderson +uid: whenderson +mail: whenderson@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=ddavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: David +cn: David Davis +uid: ddavis +mail: ddavis@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff + +dn: uid=cmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Colin +cn: Colin Morrison +uid: cmorrison +mail: cmorrison@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: faculty + +dn: uid=danderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Donna +cn: Donna Anderson +uid: danderson +mail: danderson@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=amorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Ann +cn: Ann Morrison +uid: amorrison +mail: amorrison@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=wprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: William +cn: William Price +uid: wprice +mail: wprice@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=mroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Marie +cn: Marie Roberts +uid: mroberts +mail: mroberts@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=kjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Kiersten +cn: Kiersten Johnson +uid: kjohnson +mail: kjohnson@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: James +cn: James Brown +uid: jbrown +mail: jbrown@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=agasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Ann +cn: Ann Gasper +uid: agasper +mail: agasper@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=jscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jennifer +cn: Jennifer Scott +uid: jscott +mail: jscott@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=bbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Betty +cn: Betty Butler +uid: bbutler +mail: bbutler@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=tmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Thomas +cn: Thomas Morrison +uid: tmorrison +mail: tmorrison@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=jbrown14,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Jennifer +cn: Jennifer Brown +uid: jbrown14 +mail: jbrown14@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: staff + +dn: uid=gjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Greg +cn: Greg Johnson +uid: gjohnson +mail: gjohnson@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=rmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Robert +cn: Robert Martinez +uid: rmartinez +mail: rmartinez@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=jlewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Jo +cn: Jo Lewis +uid: jlewis +mail: jlewis@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=mgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Mary +cn: Mary Gasper +uid: mgasper +mail: mgasper@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Karoline +cn: Karoline Vales +uid: kvales +mail: kvales@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=tgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Thomas +cn: Thomas Grady +uid: tgrady +mail: tgrady@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: alum + +dn: uid=kmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Kiersten +cn: Kiersten Morrison +uid: kmorrison +mail: kmorrison@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=dgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: David +cn: David Grady +uid: dgrady +mail: dgrady@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=mthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Mary +cn: Mary Thompson +uid: mthompson +mail: mthompson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=bgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Bill +cn: Bill Gasper +uid: bgasper +mail: bgasper@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=dlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: David +cn: David Lopez +uid: dlopez +mail: dlopez@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=hwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Heather +cn: Heather White +uid: hwhite +mail: hwhite@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff + +dn: uid=ddavis27,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Donna +cn: Donna Davis +uid: ddavis27 +mail: ddavis27@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=bgasper28,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Bill +cn: Bill Gasper +uid: bgasper28 +mail: bgasper28@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Jennifer +cn: Jennifer Johnson +uid: jjohnson +mail: jjohnson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=amorrison30,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Ann +cn: Ann Morrison +uid: amorrison30 +mail: amorrison30@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=kmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Karl +cn: Karl Martinez +uid: kmartinez +mail: kmartinez@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student + +dn: uid=ahenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Ann +cn: Ann Henderson +uid: ahenderson +mail: ahenderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=avales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Ann +cn: Ann Vales +uid: avales +mail: avales@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=ggonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Greg +cn: Greg Gonazles +uid: ggonazles +mail: ggonazles@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=bdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Blake +cn: Blake Doe +uid: bdoe +mail: bdoe@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=plangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Paul +cn: Paul Langenberg +uid: plangenberg +mail: plangenberg@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=gvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Greg +cn: Greg Vales +uid: gvales +mail: gvales@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=nhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Nancy +cn: Nancy Henderson +uid: nhenderson +mail: nhenderson@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=wthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: William +cn: William Thompson +uid: wthompson +mail: wthompson@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kvales40,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Karl +cn: Karl Vales +uid: kvales40 +mail: kvales40@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=blee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Bill +cn: Bill Lee +uid: blee +mail: blee@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=mlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Marie +cn: Marie Lee +uid: mlee +mail: mlee@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Kiersten +cn: Kiersten Clark +uid: kclark +mail: kclark@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=wscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: William +cn: William Scott +uid: wscott +mail: wscott@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=dbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Donna +cn: Donna Butler +uid: dbutler +mail: dbutler@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=awhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Ann +cn: Ann White +uid: awhite +mail: awhite@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=hdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Heather +cn: Heather Doe +uid: hdoe +mail: hdoe@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=dlangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: David +cn: David Langenberg +uid: dlangenberg +mail: dlangenberg@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=ethompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Eric +cn: Eric Thompson +uid: ethompson +mail: ethompson@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member + +dn: uid=jbrown50,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Jennifer +cn: Jennifer Brown +uid: jbrown50 +mail: jbrown50@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=mgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Michael +cn: Michael Gonazles +uid: mgonazles +mail: mgonazles@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=gbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Greg +cn: Greg Butler +uid: gbutler +mail: gbutler@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=mvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Mark +cn: Mark Vales +uid: mvales +mail: mvales@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=mlewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Michael +cn: Michael Lewis +uid: mlewis +mail: mlewis@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student + +dn: uid=hvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Heather +cn: Heather Vales +uid: hvales +mail: hvales@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=jscott56,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jo +cn: Jo Scott +uid: jscott56 +mail: jscott56@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=sdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Sarah +cn: Sarah Doe +uid: sdoe +mail: sdoe@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=svales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Sarah +cn: Sarah Vales +uid: svales +mail: svales@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=hmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Heather +cn: Heather Morrison +uid: hmorrison +mail: hmorrison@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=jlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Jennifer +cn: Jennifer Lopez +uid: jlopez +mail: jlopez@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=dlangenberg61,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Donna +cn: Donna Langenberg +uid: dlangenberg61 +mail: dlangenberg61@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=bgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Betty +cn: Betty Grady +uid: bgrady +mail: bgrady@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Jennifer +cn: Jennifer Morrison +uid: jmorrison +mail: jmorrison@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=wvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: William +cn: William Vales +uid: wvales +mail: wvales@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member + +dn: uid=mmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Mark +cn: Mark Martinez +uid: mmartinez +mail: mmartinez@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Jennifer +cn: Jennifer Martinez +uid: jmartinez +mail: jmartinez@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=mgasper67,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Mary +cn: Mary Gasper +uid: mgasper67 +mail: mgasper67@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff + +dn: uid=dpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: David +cn: David Peterson +uid: dpeterson +mail: dpeterson@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=eprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Erik +cn: Erik Price +uid: eprice +mail: eprice@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: James +cn: James Gasper +uid: jgasper +mail: jgasper@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=jclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Jennifer +cn: Jennifer Clark +uid: jclark +mail: jclark@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=bpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Betty +cn: Betty Peterson +uid: bpeterson +mail: bpeterson@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=wsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: William +cn: William Smith +uid: wsmith +mail: wsmith@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=lwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Lisa +cn: Lisa Williams +uid: lwilliams +mail: lwilliams@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dgrady76,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: David +cn: David Grady +uid: dgrady76 +mail: dgrady76@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=jmartinez77,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Jo +cn: Jo Martinez +uid: jmartinez77 +mail: jmartinez77@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=dlewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Donna +cn: Donna Lewis +uid: dlewis +mail: dlewis@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=wscott79,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: William +cn: William Scott +uid: wscott79 +mail: wscott79@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=ddoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Donna +cn: Donna Doe +uid: ddoe +mail: ddoe@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=gmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Greg +cn: Greg Morrison +uid: gmorrison +mail: gmorrison@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=khenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Kim +cn: Kim Henderson +uid: khenderson +mail: khenderson@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=kpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Karoline +cn: Karoline Peterson +uid: kpeterson +mail: kpeterson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=eprice84,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Erik +cn: Erik Price +uid: eprice84 +mail: eprice84@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=hsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Heather +cn: Heather Smith +uid: hsmith +mail: hsmith@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=dwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Donna +cn: Donna Williams +uid: dwilliams +mail: dwilliams@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=klopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Karl +cn: Karl Lopez +uid: klopez +mail: klopez@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=wjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: William +cn: William Johnson +uid: wjohnson +mail: wjohnson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=wbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: William +cn: William Brown +uid: wbrown +mail: wbrown@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=hbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Heather +cn: Heather Brown +uid: hbrown +mail: hbrown@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Kim +cn: Kim Roberts +uid: kroberts +mail: kroberts@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=dwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Donna +cn: Donna Walters +uid: dwalters +mail: dwalters@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=nlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Nancy +cn: Nancy Lee +uid: nlee +mail: nlee@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=sgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Sarah +cn: Sarah Gonazles +uid: sgonazles +mail: sgonazles@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=handerson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Heather +cn: Heather Anderson +uid: handerson +mail: handerson@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=danderson96,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: David +cn: David Anderson +uid: danderson96 +mail: danderson96@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum + +dn: uid=dgrady97,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: David +cn: David Grady +uid: dgrady97 +mail: dgrady97@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=jgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: James +cn: James Grady +uid: jgrady +mail: jgrady@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student + +dn: uid=jthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: John +cn: John Thompson +uid: jthompson +mail: jthompson@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=kthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Kiersten +cn: Kiersten Thompson +uid: kthompson +mail: kthompson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=jpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: John +cn: John Peterson +uid: jpeterson +mail: jpeterson@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=lmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Lisa +cn: Lisa Morrison +uid: lmorrison +mail: lmorrison@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=glee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Greg +cn: Greg Lee +uid: glee +mail: glee@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=lhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Lori +cn: Lori Henderson +uid: lhenderson +mail: lhenderson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=mscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Marie +cn: Marie Scott +uid: mscott +mail: mscott@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=ldavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Lori +cn: Lori Davis +uid: ldavis +mail: ldavis@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: James +cn: James Roberts +uid: jroberts +mail: jroberts@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=asmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Ann +cn: Ann Smith +uid: asmith +mail: asmith@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=mbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Mark +cn: Mark Brown +uid: mbrown +mail: mbrown@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=kwhite110,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kim +cn: Kim White +uid: kwhite110 +mail: kwhite110@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=mroberts111,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Mark +cn: Mark Roberts +uid: mroberts111 +mail: mroberts111@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Mark +cn: Mark White +uid: mwhite +mail: mwhite@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Jim +cn: Jim Price +uid: jprice +mail: jprice@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=msmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Michael +cn: Michael Smith +uid: msmith +mail: msmith@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=sclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Sarah +cn: Sarah Clark +uid: sclark +mail: sclark@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=dvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Donna +cn: Donna Vales +uid: dvales +mail: dvales@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=kjohnson117,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Kim +cn: Kim Johnson +uid: kjohnson117 +mail: kjohnson117@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=dsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: David +cn: David Smith +uid: dsmith +mail: dsmith@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=bwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Blake +cn: Blake White +uid: bwhite +mail: bwhite@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member + +dn: uid=ldoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Lori +cn: Lori Doe +uid: ldoe +mail: ldoe@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dlangenberg121,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: David +cn: David Langenberg +uid: dlangenberg121 +mail: dlangenberg121@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=gwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Greg +cn: Greg Williams +uid: gwilliams +mail: gwilliams@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kclark123,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Karoline +cn: Karoline Clark +uid: kclark123 +mail: kclark123@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=ewilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Eric +cn: Eric Williams +uid: ewilliams +mail: ewilliams@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=egonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Eric +cn: Eric Gonazles +uid: egonazles +mail: egonazles@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=rprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Robert +cn: Robert Price +uid: rprice +mail: rprice@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=ewalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Erik +cn: Erik Walters +uid: ewalters +mail: ewalters@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=clangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Colin +cn: Colin Langenberg +uid: clangenberg +mail: clangenberg@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=cmorrison129,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Colin +cn: Colin Morrison +uid: cmorrison129 +mail: cmorrison129@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community + +dn: uid=mbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Mary +cn: Mary Butler +uid: mbutler +mail: mbutler@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=smartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Sarah +cn: Sarah Martinez +uid: smartinez +mail: smartinez@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=klewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Karl +cn: Karl Lewis +uid: klewis +mail: klewis@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=mwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Marie +cn: Marie Williams +uid: mwilliams +mail: mwilliams@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dsmith134,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: David +cn: David Smith +uid: dsmith134 +mail: dsmith134@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=gpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Greg +cn: Greg Peterson +uid: gpeterson +mail: gpeterson@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=bgrady136,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Betty +cn: Betty Grady +uid: bgrady136 +mail: bgrady136@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mthompson137,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Mark +cn: Mark Thompson +uid: mthompson137 +mail: mthompson137@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mroberts138,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Mary +cn: Mary Roberts +uid: mroberts138 +mail: mroberts138@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=janderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: James +cn: James Anderson +uid: janderson +mail: janderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=jscott140,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jo +cn: Jo Scott +uid: jscott140 +mail: jscott140@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=ddavis141,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Donna +cn: Donna Davis +uid: ddavis141 +mail: ddavis141@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=jbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Jennifer +cn: Jennifer Butler +uid: jbutler +mail: jbutler@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=jlewis143,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Jo +cn: Jo Lewis +uid: jlewis143 +mail: jlewis143@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=janderson144,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: John +cn: John Anderson +uid: janderson144 +mail: janderson144@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=mlangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Marie +cn: Marie Langenberg +uid: mlangenberg +mail: mlangenberg@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=jthompson146,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Jennifer +cn: Jennifer Thompson +uid: jthompson146 +mail: jthompson146@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=hvales147,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Heather +cn: Heather Vales +uid: hvales147 +mail: hvales147@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: John +cn: John White +uid: jwhite +mail: jwhite@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=tgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Thomas +cn: Thomas Gasper +uid: tgasper +mail: tgasper@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=bjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Bill +cn: Bill Johnson +uid: bjohnson +mail: bjohnson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum + +dn: uid=mroberts151,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Mark +cn: Mark Roberts +uid: mroberts151 +mail: mroberts151@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=wthompson152,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: William +cn: William Thompson +uid: wthompson152 +mail: wthompson152@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=mdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Michael +cn: Michael Doe +uid: mdoe +mail: mdoe@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff + +dn: uid=bgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Bill +cn: Bill Gonazles +uid: bgonazles +mail: bgonazles@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=mthompson155,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Mark +cn: Mark Thompson +uid: mthompson155 +mail: mthompson155@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=dlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: David +cn: David Lee +uid: dlee +mail: dlee@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=broberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Bill +cn: Bill Roberts +uid: broberts +mail: broberts@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community + +dn: uid=jvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: John +cn: John Vales +uid: jvales +mail: jvales@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=wwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: William +cn: William Williams +uid: wwilliams +mail: wwilliams@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=wwilliams160,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: William +cn: William Williams +uid: wwilliams160 +mail: wwilliams160@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=ggasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Greg +cn: Greg Gasper +uid: ggasper +mail: ggasper@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=rlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Robert +cn: Robert Lopez +uid: rlopez +mail: rlopez@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=mgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Michael +cn: Michael Grady +uid: mgrady +mail: mgrady@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum + +dn: uid=lpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Lisa +cn: Lisa Peterson +uid: lpeterson +mail: lpeterson@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=ljohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Lori +cn: Lori Johnson +uid: ljohnson +mail: ljohnson@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=gscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Greg +cn: Greg Scott +uid: gscott +mail: gscott@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=mprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Marie +cn: Marie Price +uid: mprice +mail: mprice@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=bprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Bill +cn: Bill Price +uid: bprice +mail: bprice@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=aanderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Ann +cn: Ann Anderson +uid: aanderson +mail: aanderson@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=bprice170,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Blake +cn: Blake Price +uid: bprice170 +mail: bprice170@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=hscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Heather +cn: Heather Scott +uid: hscott +mail: hscott@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=hthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Heather +cn: Heather Thompson +uid: hthompson +mail: hthompson@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=jmorrison173,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Jo +cn: Jo Morrison +uid: jmorrison173 +mail: jmorrison173@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=mprice174,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Mary +cn: Mary Price +uid: mprice174 +mail: mprice174@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=hprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Heather +cn: Heather Price +uid: hprice +mail: hprice@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=kbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Karoline +cn: Karoline Butler +uid: kbutler +mail: kbutler@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=bjohnson177,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Blake +cn: Blake Johnson +uid: bjohnson177 +mail: bjohnson177@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=jlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Jennifer +cn: Jennifer Lee +uid: jlee +mail: jlee@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=rwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Robert +cn: Robert Williams +uid: rwilliams +mail: rwilliams@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=jprice180,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Jo +cn: Jo Price +uid: jprice180 +mail: jprice180@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=kgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Kim +cn: Kim Gasper +uid: kgasper +mail: kgasper@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=cthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Colin +cn: Colin Thompson +uid: cthompson +mail: cthompson@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=ethompson183,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Eric +cn: Eric Thompson +uid: ethompson183 +mail: ethompson183@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=bclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Betty +cn: Betty Clark +uid: bclark +mail: bclark@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=llee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Lori +cn: Lori Lee +uid: llee +mail: llee@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=kpeterson186,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Karl +cn: Karl Peterson +uid: kpeterson186 +mail: kpeterson186@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=wlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: William +cn: William Lee +uid: wlee +mail: wlee@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=gjohnson188,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Greg +cn: Greg Johnson +uid: gjohnson188 +mail: gjohnson188@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=mlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Michael +cn: Michael Lopez +uid: mlopez +mail: mlopez@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=sgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Sarah +cn: Sarah Grady +uid: sgrady +mail: sgrady@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=pbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Paul +cn: Paul Brown +uid: pbrown +mail: pbrown@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=mwilliams192,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Mary +cn: Mary Williams +uid: mwilliams192 +mail: mwilliams192@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student + +dn: uid=jlewis193,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: James +cn: James Lewis +uid: jlewis193 +mail: jlewis193@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=nbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Nancy +cn: Nancy Brown +uid: nbrown +mail: nbrown@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=jwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Jo +cn: Jo Walters +uid: jwalters +mail: jwalters@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=hdoe196,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Heather +cn: Heather Doe +uid: hdoe196 +mail: hdoe196@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=mlewis197,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Michael +cn: Michael Lewis +uid: mlewis197 +mail: mlewis197@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum + +dn: uid=blewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Bill +cn: Bill Lewis +uid: blewis +mail: blewis@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=mwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Michael +cn: Michael Walters +uid: mwalters +mail: mwalters@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=llopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Lisa +cn: Lisa Lopez +uid: llopez +mail: llopez@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community + +dn: uid=jwalters201,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: James +cn: James Walters +uid: jwalters201 +mail: jwalters201@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=kmorrison202,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Karoline +cn: Karoline Morrison +uid: kmorrison202 +mail: kmorrison202@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=bgrady203,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Bill +cn: Bill Grady +uid: bgrady203 +mail: bgrady203@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff + +dn: uid=clewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Colin +cn: Colin Lewis +uid: clewis +mail: clewis@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=hwhite205,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Heather +cn: Heather White +uid: hwhite205 +mail: hwhite205@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=dprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: David +cn: David Price +uid: dprice +mail: dprice@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=jlee207,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: John +cn: John Lee +uid: jlee207 +mail: jlee207@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=jbutler208,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: John +cn: John Butler +uid: jbutler208 +mail: jbutler208@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=bdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Betty +cn: Betty Davis +uid: bdavis +mail: bdavis@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jroberts210,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Jennifer +cn: Jennifer Roberts +uid: jroberts210 +mail: jroberts210@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=gjohnson211,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Greg +cn: Greg Johnson +uid: gjohnson211 +mail: gjohnson211@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member + +dn: uid=jlangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Jennifer +cn: Jennifer Langenberg +uid: jlangenberg +mail: jlangenberg@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=dhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Donna +cn: Donna Henderson +uid: dhenderson +mail: dhenderson@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=pmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Paul +cn: Paul Martinez +uid: pmartinez +mail: pmartinez@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=ganderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Greg +cn: Greg Anderson +uid: ganderson +mail: ganderson@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=mpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Mary +cn: Mary Peterson +uid: mpeterson +mail: mpeterson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=klopez217,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Karoline +cn: Karoline Lopez +uid: klopez217 +mail: klopez217@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=tgasper218,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Thomas +cn: Thomas Gasper +uid: tgasper218 +mail: tgasper218@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: alum + +dn: uid=lsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Lori +cn: Lori Smith +uid: lsmith +mail: lsmith@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=ebutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Eric +cn: Eric Butler +uid: ebutler +mail: ebutler@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=jvales221,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Jim +cn: Jim Vales +uid: jvales221 +mail: jvales221@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=jvales222,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: James +cn: James Vales +uid: jvales222 +mail: jvales222@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=kjohnson223,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Karoline +cn: Karoline Johnson +uid: kjohnson223 +mail: kjohnson223@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=kscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Kiersten +cn: Kiersten Scott +uid: kscott +mail: kscott@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=dwilliams225,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: David +cn: David Williams +uid: dwilliams225 +mail: dwilliams225@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=bclark226,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Betty +cn: Betty Clark +uid: bclark226 +mail: bclark226@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: faculty + +dn: uid=mwhite227,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Marie +cn: Marie White +uid: mwhite227 +mail: mwhite227@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=danderson228,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: David +cn: David Anderson +uid: danderson228 +mail: danderson228@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=dgrady229,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: David +cn: David Grady +uid: dgrady229 +mail: dgrady229@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=jgrady230,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: James +cn: James Grady +uid: jgrady230 +mail: jgrady230@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=jdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: James +cn: James Doe +uid: jdoe +mail: jdoe@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=dmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: David +cn: David Morrison +uid: dmorrison +mail: dmorrison@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=mclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Marie +cn: Marie Clark +uid: mclark +mail: mclark@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=plopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Paul +cn: Paul Lopez +uid: plopez +mail: plopez@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=hlewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Heather +cn: Heather Lewis +uid: hlewis +mail: hlewis@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dsmith236,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: David +cn: David Smith +uid: dsmith236 +mail: dsmith236@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=kbutler237,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Kiersten +cn: Kiersten Butler +uid: kbutler237 +mail: kbutler237@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=kdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Kim +cn: Kim Davis +uid: kdavis +mail: kdavis@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=kdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Kiersten +cn: Kiersten Doe +uid: kdoe +mail: kdoe@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=kgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Karl +cn: Karl Grady +uid: kgrady +mail: kgrady@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=jprice241,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: James +cn: James Price +uid: jprice241 +mail: jprice241@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=shenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Sarah +cn: Sarah Henderson +uid: shenderson +mail: shenderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=kmorrison243,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Kiersten +cn: Kiersten Morrison +uid: kmorrison243 +mail: kmorrison243@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=mgonazles244,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Mark +cn: Mark Gonazles +uid: mgonazles244 +mail: mgonazles244@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=alewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Ann +cn: Ann Lewis +uid: alewis +mail: alewis@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=mdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Michael +cn: Michael Davis +uid: mdavis +mail: mdavis@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=manderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Marie +cn: Marie Anderson +uid: manderson +mail: manderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=bmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Blake +cn: Blake Morrison +uid: bmorrison +mail: bmorrison@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=msmith249,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Marie +cn: Marie Smith +uid: msmith249 +mail: msmith249@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=jdoe250,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: James +cn: James Doe +uid: jdoe250 +mail: jdoe250@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jgasper251,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: James +cn: James Gasper +uid: jgasper251 +mail: jgasper251@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=jscott252,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jo +cn: Jo Scott +uid: jscott252 +mail: jscott252@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=kwhite253,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Karoline +cn: Karoline White +uid: kwhite253 +mail: kwhite253@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=wbrown254,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: William +cn: William Brown +uid: wbrown254 +mail: wbrown254@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mpeterson255,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Mark +cn: Mark Peterson +uid: mpeterson255 +mail: mpeterson255@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=kthompson256,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Kiersten +cn: Kiersten Thompson +uid: kthompson256 +mail: kthompson256@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=jscott257,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jo +cn: Jo Scott +uid: jscott257 +mail: jscott257@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=mlangenberg258,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Mary +cn: Mary Langenberg +uid: mlangenberg258 +mail: mlangenberg258@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=khenderson259,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Karoline +cn: Karoline Henderson +uid: khenderson259 +mail: khenderson259@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=hbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Heather +cn: Heather Butler +uid: hbutler +mail: hbutler@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mbutler261,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Marie +cn: Marie Butler +uid: mbutler261 +mail: mbutler261@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jmorrison262,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Jennifer +cn: Jennifer Morrison +uid: jmorrison262 +mail: jmorrison262@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=rdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Robert +cn: Robert Davis +uid: rdavis +mail: rdavis@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=kbutler264,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Kim +cn: Kim Butler +uid: kbutler264 +mail: kbutler264@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student + +dn: uid=jwhite265,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: James +cn: James White +uid: jwhite265 +mail: jwhite265@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=jwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: James +cn: James Williams +uid: jwilliams +mail: jwilliams@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=llangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Lisa +cn: Lisa Langenberg +uid: llangenberg +mail: llangenberg@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: John +cn: John Henderson +uid: jhenderson +mail: jhenderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=jlangenberg269,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Jennifer +cn: Jennifer Langenberg +uid: jlangenberg269 +mail: jlangenberg269@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=mdoe270,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Michael +cn: Michael Doe +uid: mdoe270 +mail: mdoe270@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=mbrown271,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Mark +cn: Mark Brown +uid: mbrown271 +mail: mbrown271@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jvales272,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: John +cn: John Vales +uid: jvales272 +mail: jvales272@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=tdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Thomas +cn: Thomas Davis +uid: tdavis +mail: tdavis@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=ejohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Eric +cn: Eric Johnson +uid: ejohnson +mail: ejohnson@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=jpeterson275,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: John +cn: John Peterson +uid: jpeterson275 +mail: jpeterson275@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=gsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Greg +cn: Greg Smith +uid: gsmith +mail: gsmith@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=klopez278,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Kim +cn: Kim Lopez +uid: klopez278 +mail: klopez278@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: staff + +dn: uid=sclark279,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Sarah +cn: Sarah Clark +uid: sclark279 +mail: sclark279@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=abrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Ann +cn: Ann Brown +uid: abrown +mail: abrown@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=jwhite281,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Jim +cn: Jim White +uid: jwhite281 +mail: jwhite281@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=hgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Heather +cn: Heather Grady +uid: hgrady +mail: hgrady@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=kwhite283,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kim +cn: Kim White +uid: kwhite283 +mail: kwhite283@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=bsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Betty +cn: Betty Smith +uid: bsmith +mail: bsmith@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=elopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Eric +cn: Eric Lopez +uid: elopez +mail: elopez@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=pclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Paul +cn: Paul Clark +uid: pclark +mail: pclark@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=glee287,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Greg +cn: Greg Lee +uid: glee287 +mail: glee287@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=jwhite288,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Jennifer +cn: Jennifer White +uid: jwhite288 +mail: jwhite288@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: faculty + +dn: uid=rdavis289,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Robert +cn: Robert Davis +uid: rdavis289 +mail: rdavis289@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=jgasper290,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: James +cn: James Gasper +uid: jgasper290 +mail: jgasper290@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=nwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Nancy +cn: Nancy White +uid: nwhite +mail: nwhite@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=kpeterson292,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Kiersten +cn: Kiersten Peterson +uid: kpeterson292 +mail: kpeterson292@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=klewis293,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Kiersten +cn: Kiersten Lewis +uid: klewis293 +mail: klewis293@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=jvales294,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: John +cn: John Vales +uid: jvales294 +mail: jvales294@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=rdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Robert +cn: Robert Doe +uid: rdoe +mail: rdoe@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=bbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Blake +cn: Blake Brown +uid: bbrown +mail: bbrown@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=mlangenberg297,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Mark +cn: Mark Langenberg +uid: mlangenberg297 +mail: mlangenberg297@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=broberts298,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Bill +cn: Bill Roberts +uid: broberts298 +mail: broberts298@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=ldoe299,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Lori +cn: Lori Doe +uid: ldoe299 +mail: ldoe299@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=ggasper300,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Greg +cn: Greg Gasper +uid: ggasper300 +mail: ggasper300@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=lroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Lori +cn: Lori Roberts +uid: lroberts +mail: lroberts@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kwhite302,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kiersten +cn: Kiersten White +uid: kwhite302 +mail: kwhite302@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=dwilliams303,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: David +cn: David Williams +uid: dwilliams303 +mail: dwilliams303@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=bpeterson304,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Bill +cn: Bill Peterson +uid: bpeterson304 +mail: bpeterson304@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=swalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Sarah +cn: Sarah Walters +uid: swalters +mail: swalters@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=edavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Eric +cn: Eric Davis +uid: edavis +mail: edavis@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=bthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Blake +cn: Blake Thompson +uid: bthompson +mail: bthompson@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=slangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Sarah +cn: Sarah Langenberg +uid: slangenberg +mail: slangenberg@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=dwilliams309,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Donna +cn: Donna Williams +uid: dwilliams309 +mail: dwilliams309@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=cpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Colin +cn: Colin Peterson +uid: cpeterson +mail: cpeterson@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=mlee311,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Mary +cn: Mary Lee +uid: mlee311 +mail: mlee311@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=elopez312,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Eric +cn: Eric Lopez +uid: elopez312 +mail: elopez312@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=pmartinez313,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Paul +cn: Paul Martinez +uid: pmartinez313 +mail: pmartinez313@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=lwilliams314,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Lisa +cn: Lisa Williams +uid: lwilliams314 +mail: lwilliams314@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: staff + +dn: uid=kpeterson315,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Kiersten +cn: Kiersten Peterson +uid: kpeterson315 +mail: kpeterson315@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=kvales316,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Kiersten +cn: Kiersten Vales +uid: kvales316 +mail: kvales316@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=hbutler317,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Heather +cn: Heather Butler +uid: hbutler317 +mail: hbutler317@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=jwalters318,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: John +cn: John Walters +uid: jwalters318 +mail: jwalters318@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=kthompson319,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Kiersten +cn: Kiersten Thompson +uid: kthompson319 +mail: kthompson319@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=mscott320,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Mary +cn: Mary Scott +uid: mscott320 +mail: mscott320@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=rbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Robert +cn: Robert Butler +uid: rbutler +mail: rbutler@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=mclark322,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Mark +cn: Mark Clark +uid: mclark322 +mail: mclark322@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=hhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Heather +cn: Heather Henderson +uid: hhenderson +mail: hhenderson@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=hdoe324,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Heather +cn: Heather Doe +uid: hdoe324 +mail: hdoe324@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=mdoe325,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Mark +cn: Mark Doe +uid: mdoe325 +mail: mdoe325@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=klopez326,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Kiersten +cn: Kiersten Lopez +uid: klopez326 +mail: klopez326@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=dlewis327,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: David +cn: David Lewis +uid: dlewis327 +mail: dlewis327@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: faculty + +dn: uid=wlee328,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: William +cn: William Lee +uid: wlee328 +mail: wlee328@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community + +dn: uid=mthompson329,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Mary +cn: Mary Thompson +uid: mthompson329 +mail: mthompson329@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: alum + +dn: uid=gbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Greg +cn: Greg Brown +uid: gbrown +mail: gbrown@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum + +dn: uid=rmartinez331,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Robert +cn: Robert Martinez +uid: rmartinez331 +mail: rmartinez331@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member + +dn: uid=klee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Karl +cn: Karl Lee +uid: klee +mail: klee@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=mjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Marie +cn: Marie Johnson +uid: mjohnson +mail: mjohnson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=lwilliams334,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Lisa +cn: Lisa Williams +uid: lwilliams334 +mail: lwilliams334@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=tbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Thomas +cn: Thomas Brown +uid: tbrown +mail: tbrown@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=jwalters336,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: James +cn: James Walters +uid: jwalters336 +mail: jwalters336@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum + +dn: uid=lbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Lisa +cn: Lisa Butler +uid: lbutler +mail: lbutler@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student + +dn: uid=kbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Kiersten +cn: Kiersten Brown +uid: kbrown +mail: kbrown@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=pjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Paul +cn: Paul Johnson +uid: pjohnson +mail: pjohnson@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jprice340,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: John +cn: John Price +uid: jprice340 +mail: jprice340@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=jprice341,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Jim +cn: Jim Price +uid: jprice341 +mail: jprice341@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=lhenderson342,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Lisa +cn: Lisa Henderson +uid: lhenderson342 +mail: lhenderson342@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=kwhite343,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kim +cn: Kim White +uid: kwhite343 +mail: kwhite343@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=klopez344,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Karl +cn: Karl Lopez +uid: klopez344 +mail: klopez344@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=bgonazles345,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Bill +cn: Bill Gonazles +uid: bgonazles345 +mail: bgonazles345@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=apeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Ann +cn: Ann Peterson +uid: apeterson +mail: apeterson@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member + +dn: uid=dbutler347,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: David +cn: David Butler +uid: dbutler347 +mail: dbutler347@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=speterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Sarah +cn: Sarah Peterson +uid: speterson +mail: speterson@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=jpeterson349,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: James +cn: James Peterson +uid: jpeterson349 +mail: jpeterson349@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student + +dn: uid=gjohnson350,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Greg +cn: Greg Johnson +uid: gjohnson350 +mail: gjohnson350@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=lthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Lisa +cn: Lisa Thompson +uid: lthompson +mail: lthompson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=nclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Nancy +cn: Nancy Clark +uid: nclark +mail: nclark@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=swilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Sarah +cn: Sarah Williams +uid: swilliams +mail: swilliams@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=jprice354,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Jennifer +cn: Jennifer Price +uid: jprice354 +mail: jprice354@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=lclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Lori +cn: Lori Clark +uid: lclark +mail: lclark@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=ghenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Greg +cn: Greg Henderson +uid: ghenderson +mail: ghenderson@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student + +dn: uid=egonazles357,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Eric +cn: Eric Gonazles +uid: egonazles357 +mail: egonazles357@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=dlangenberg358,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Donna +cn: Donna Langenberg +uid: dlangenberg358 +mail: dlangenberg358@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=cbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Colin +cn: Colin Brown +uid: cbrown +mail: cbrown@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student + +dn: uid=twalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Thomas +cn: Thomas Walters +uid: twalters +mail: twalters@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=swhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Sarah +cn: Sarah White +uid: swhite +mail: swhite@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=rwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Robert +cn: Robert Walters +uid: rwalters +mail: rwalters@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=eroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Erik +cn: Erik Roberts +uid: eroberts +mail: eroberts@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=bvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Blake +cn: Blake Vales +uid: bvales +mail: bvales@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=bdoe365,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Betty +cn: Betty Doe +uid: bdoe365 +mail: bdoe365@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=nlee366,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Nancy +cn: Nancy Lee +uid: nlee366 +mail: nlee366@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=tmorrison367,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Thomas +cn: Thomas Morrison +uid: tmorrison367 +mail: tmorrison367@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student + +dn: uid=kbutler368,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Kiersten +cn: Kiersten Butler +uid: kbutler368 +mail: kbutler368@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=bdavis369,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Bill +cn: Bill Davis +uid: bdavis369 +mail: bdavis369@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kdavis370,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Kiersten +cn: Kiersten Davis +uid: kdavis370 +mail: kdavis370@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=llewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Lori +cn: Lori Lewis +uid: llewis +mail: llewis@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=djohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Donna +cn: Donna Johnson +uid: djohnson +mail: djohnson@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=jlangenberg373,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: James +cn: James Langenberg +uid: jlangenberg373 +mail: jlangenberg373@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=klangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Karoline +cn: Karoline Langenberg +uid: klangenberg +mail: klangenberg@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jthompson375,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: John +cn: John Thompson +uid: jthompson375 +mail: jthompson375@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=jgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Jennifer +cn: Jennifer Gonazles +uid: jgonazles +mail: jgonazles@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=mscott377,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Mark +cn: Mark Scott +uid: mscott377 +mail: mscott377@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=jsmith378,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Jennifer +cn: Jennifer Smith +uid: jsmith378 +mail: jsmith378@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=mroberts379,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Marie +cn: Marie Roberts +uid: mroberts379 +mail: mroberts379@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=kprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Kiersten +cn: Kiersten Price +uid: kprice +mail: kprice@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=tclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Thomas +cn: Thomas Clark +uid: tclark +mail: tclark@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=egasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Erik +cn: Erik Gasper +uid: egasper +mail: egasper@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=jjohnson383,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: James +cn: James Johnson +uid: jjohnson383 +mail: jjohnson383@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=cdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Colin +cn: Colin Davis +uid: cdavis +mail: cdavis@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=escott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Eric +cn: Eric Scott +uid: escott +mail: escott@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=kmartinez386,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Karoline +cn: Karoline Martinez +uid: kmartinez386 +mail: kmartinez386@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=lgrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Lori +cn: Lori Grady +uid: lgrady +mail: lgrady@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=jmartinez388,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Jo +cn: Jo Martinez +uid: jmartinez388 +mail: jmartinez388@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=alangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Ann +cn: Ann Langenberg +uid: alangenberg +mail: alangenberg@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=blewis390,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Betty +cn: Betty Lewis +uid: blewis390 +mail: blewis390@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=pjohnson391,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Paul +cn: Paul Johnson +uid: pjohnson391 +mail: pjohnson391@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member + +dn: uid=llee392,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Lori +cn: Lori Lee +uid: llee392 +mail: llee392@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=slewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Sarah +cn: Sarah Lewis +uid: slewis +mail: slewis@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=nwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Nancy +cn: Nancy Walters +uid: nwalters +mail: nwalters@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=hscott395,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Heather +cn: Heather Scott +uid: hscott395 +mail: hscott395@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=edavis396,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Erik +cn: Erik Davis +uid: edavis396 +mail: edavis396@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=dlangenberg397,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Donna +cn: Donna Langenberg +uid: dlangenberg397 +mail: dlangenberg397@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=plangenberg398,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Paul +cn: Paul Langenberg +uid: plangenberg398 +mail: plangenberg398@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mscott399,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Michael +cn: Michael Scott +uid: mscott399 +mail: mscott399@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=jgasper400,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Jo +cn: Jo Gasper +uid: jgasper400 +mail: jgasper400@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=kmartinez401,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Karoline +cn: Karoline Martinez +uid: kmartinez401 +mail: kmartinez401@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=cwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Colin +cn: Colin Walters +uid: cwalters +mail: cwalters@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=cgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Colin +cn: Colin Gasper +uid: cgasper +mail: cgasper@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=jwilliams404,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: James +cn: James Williams +uid: jwilliams404 +mail: jwilliams404@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=rwalters405,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Robert +cn: Robert Walters +uid: rwalters405 +mail: rwalters405@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=kvales406,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Karl +cn: Karl Vales +uid: kvales406 +mail: kvales406@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=bscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Bill +cn: Bill Scott +uid: bscott +mail: bscott@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=hmorrison408,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Heather +cn: Heather Morrison +uid: hmorrison408 +mail: hmorrison408@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=eanderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Eric +cn: Eric Anderson +uid: eanderson +mail: eanderson@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=mlangenberg410,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Mark +cn: Mark Langenberg +uid: mlangenberg410 +mail: mlangenberg410@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=msmith411,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Mark +cn: Mark Smith +uid: msmith411 +mail: msmith411@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=wpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: William +cn: William Peterson +uid: wpeterson +mail: wpeterson@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=mgasper413,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Marie +cn: Marie Gasper +uid: mgasper413 +mail: mgasper413@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=bvales414,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Blake +cn: Blake Vales +uid: bvales414 +mail: bvales414@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=bgrady415,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Blake +cn: Blake Grady +uid: bgrady415 +mail: bgrady415@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=plee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Paul +cn: Paul Lee +uid: plee +mail: plee@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=kwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Kim +cn: Kim Williams +uid: kwilliams +mail: kwilliams@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=wwilliams418,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: William +cn: William Williams +uid: wwilliams418 +mail: wwilliams418@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=jbutler419,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Jennifer +cn: Jennifer Butler +uid: jbutler419 +mail: jbutler419@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=hvales420,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Heather +cn: Heather Vales +uid: hvales420 +mail: hvales420@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=kroberts421,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Karl +cn: Karl Roberts +uid: kroberts421 +mail: kroberts421@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student + +dn: uid=bdoe422,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Betty +cn: Betty Doe +uid: bdoe422 +mail: bdoe422@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=dclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: David +cn: David Clark +uid: dclark +mail: dclark@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: member + +dn: uid=mhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Michael +cn: Michael Henderson +uid: mhenderson +mail: mhenderson@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=dhenderson425,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: David +cn: David Henderson +uid: dhenderson425 +mail: dhenderson425@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=dgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: David +cn: David Gonazles +uid: dgonazles +mail: dgonazles@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=dgrady427,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: David +cn: David Grady +uid: dgrady427 +mail: dgrady427@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=jjohnson428,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Jennifer +cn: Jennifer Johnson +uid: jjohnson428 +mail: jjohnson428@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=jlewis429,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Jennifer +cn: Jennifer Lewis +uid: jlewis429 +mail: jlewis429@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=klangenberg430,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Kim +cn: Kim Langenberg +uid: klangenberg430 +mail: klangenberg430@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=ddoe431,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: David +cn: David Doe +uid: ddoe431 +mail: ddoe431@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member + +dn: uid=escott432,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Eric +cn: Eric Scott +uid: escott432 +mail: escott432@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=lwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Lisa +cn: Lisa Walters +uid: lwalters +mail: lwalters@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=gsmith434,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Greg +cn: Greg Smith +uid: gsmith434 +mail: gsmith434@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=kwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Karl +cn: Karl Walters +uid: kwalters +mail: kwalters@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=tmorrison436,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Thomas +cn: Thomas Morrison +uid: tmorrison436 +mail: tmorrison436@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=bbutler437,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Bill +cn: Bill Butler +uid: bbutler437 +mail: bbutler437@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=mgonazles438,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Mark +cn: Mark Gonazles +uid: mgonazles438 +mail: mgonazles438@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=rwalters439,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Robert +cn: Robert Walters +uid: rwalters439 +mail: rwalters439@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum + +dn: uid=kclark440,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Karl +cn: Karl Clark +uid: kclark440 +mail: kclark440@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=nvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Nancy +cn: Nancy Vales +uid: nvales +mail: nvales@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=jwalters442,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: James +cn: James Walters +uid: jwalters442 +mail: jwalters442@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=bwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Bill +cn: Bill Williams +uid: bwilliams +mail: bwilliams@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student + +dn: uid=jgrady444,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Jim +cn: Jim Grady +uid: jgrady444 +mail: jgrady444@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=escott445,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Erik +cn: Erik Scott +uid: escott445 +mail: escott445@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=bclark446,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Bill +cn: Bill Clark +uid: bclark446 +mail: bclark446@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=klopez447,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Kiersten +cn: Kiersten Lopez +uid: klopez447 +mail: klopez447@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=slee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Sarah +cn: Sarah Lee +uid: slee +mail: slee@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=dwilliams449,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Donna +cn: Donna Williams +uid: dwilliams449 +mail: dwilliams449@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=klewis450,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Kim +cn: Kim Lewis +uid: klewis450 +mail: klewis450@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=elangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Eric +cn: Eric Langenberg +uid: elangenberg +mail: elangenberg@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff + +dn: uid=rvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Robert +cn: Robert Vales +uid: rvales +mail: rvales@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=jgasper453,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Jo +cn: Jo Gasper +uid: jgasper453 +mail: jgasper453@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=mgasper454,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Mark +cn: Mark Gasper +uid: mgasper454 +mail: mgasper454@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=jclark455,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: James +cn: James Clark +uid: jclark455 +mail: jclark455@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=bgasper456,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Betty +cn: Betty Gasper +uid: bgasper456 +mail: bgasper456@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=bwilliams457,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Blake +cn: Blake Williams +uid: bwilliams457 +mail: bwilliams457@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=kprice458,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Karl +cn: Karl Price +uid: kprice458 +mail: kprice458@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=ksmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Kiersten +cn: Kiersten Smith +uid: ksmith +mail: ksmith@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=lbutler460,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Lori +cn: Lori Butler +uid: lbutler460 +mail: lbutler460@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=mlewis461,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Mark +cn: Mark Lewis +uid: mlewis461 +mail: mlewis461@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: member + +dn: uid=jmorrison462,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Jo +cn: Jo Morrison +uid: jmorrison462 +mail: jmorrison462@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=msmith463,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Mary +cn: Mary Smith +uid: msmith463 +mail: msmith463@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=blopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Blake +cn: Blake Lopez +uid: blopez +mail: blopez@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=hdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Heather +cn: Heather Davis +uid: hdavis +mail: hdavis@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=bwilliams466,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Betty +cn: Betty Williams +uid: bwilliams466 +mail: bwilliams466@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=gdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Greg +cn: Greg Davis +uid: gdavis +mail: gdavis@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mgonazles468,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Michael +cn: Michael Gonazles +uid: mgonazles468 +mail: mgonazles468@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=mlopez469,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Mary +cn: Mary Lopez +uid: mlopez469 +mail: mlopez469@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=eroberts470,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Eric +cn: Eric Roberts +uid: eroberts470 +mail: eroberts470@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=bsmith471,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Blake +cn: Blake Smith +uid: bsmith471 +mail: bsmith471@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=rwilliams472,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Robert +cn: Robert Williams +uid: rwilliams472 +mail: rwilliams472@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=jdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Jennifer +cn: Jennifer Davis +uid: jdavis +mail: jdavis@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=egrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Erik +cn: Erik Grady +uid: egrady +mail: egrady@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=dpeterson475,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Donna +cn: Donna Peterson +uid: dpeterson475 +mail: dpeterson475@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=lwilliams476,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Lisa +cn: Lisa Williams +uid: lwilliams476 +mail: lwilliams476@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student + +dn: uid=eroberts477,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Erik +cn: Erik Roberts +uid: eroberts477 +mail: eroberts477@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=pvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Paul +cn: Paul Vales +uid: pvales +mail: pvales@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=jscott479,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jim +cn: Jim Scott +uid: jscott479 +mail: jscott479@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=bdavis480,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Betty +cn: Betty Davis +uid: bdavis480 +mail: bdavis480@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jgrady481,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Jim +cn: Jim Grady +uid: jgrady481 +mail: jgrady481@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=nbrown482,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Nancy +cn: Nancy Brown +uid: nbrown482 +mail: nbrown482@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=blee483,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Betty +cn: Betty Lee +uid: blee483 +mail: blee483@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=jclark484,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Jim +cn: Jim Clark +uid: jclark484 +mail: jclark484@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=dbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: David +cn: David Brown +uid: dbrown +mail: dbrown@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=pgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Paul +cn: Paul Gonazles +uid: pgonazles +mail: pgonazles@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=mwhite487,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Mark +cn: Mark White +uid: mwhite487 +mail: mwhite487@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=svales488,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Sarah +cn: Sarah Vales +uid: svales488 +mail: svales488@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=egasper489,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Eric +cn: Eric Gasper +uid: egasper489 +mail: egasper489@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=kdoe490,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Kim +cn: Kim Doe +uid: kdoe490 +mail: kdoe490@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=bmorrison491,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Bill +cn: Bill Morrison +uid: bmorrison491 +mail: bmorrison491@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member + +dn: uid=lvales,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Lori +cn: Lori Vales +uid: lvales +mail: lvales@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=hdavis493,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Heather +cn: Heather Davis +uid: hdavis493 +mail: hdavis493@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=jthompson494,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: James +cn: James Thompson +uid: jthompson494 +mail: jthompson494@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum + +dn: uid=kdoe495,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Karl +cn: Karl Doe +uid: kdoe495 +mail: kdoe495@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kwilliams496,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Kim +cn: Kim Williams +uid: kwilliams496 +mail: kwilliams496@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum + +dn: uid=egasper497,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Erik +cn: Erik Gasper +uid: egasper497 +mail: egasper497@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=pvales498,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Paul +cn: Paul Vales +uid: pvales498 +mail: pvales498@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=sscott,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Sarah +cn: Sarah Scott +uid: sscott +mail: sscott@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=tmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Thomas +cn: Thomas Martinez +uid: tmartinez +mail: tmartinez@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=mvales501,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Marie +cn: Marie Vales +uid: mvales501 +mail: mvales501@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=mhenderson502,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Mark +cn: Mark Henderson +uid: mhenderson502 +mail: mhenderson502@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=mdavis503,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Mark +cn: Mark Davis +uid: mdavis503 +mail: mdavis503@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=mdoe504,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Mary +cn: Mary Doe +uid: mdoe504 +mail: mdoe504@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=bgrady505,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Betty +cn: Betty Grady +uid: bgrady505 +mail: bgrady505@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum + +dn: uid=mmartinez506,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Michael +cn: Michael Martinez +uid: mmartinez506 +mail: mmartinez506@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=bwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Betty +cn: Betty Walters +uid: bwalters +mail: bwalters@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=avales508,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Ann +cn: Ann Vales +uid: avales508 +mail: avales508@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=dlangenberg509,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: David +cn: David Langenberg +uid: dlangenberg509 +mail: dlangenberg509@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=tlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Thomas +cn: Thomas Lopez +uid: tlopez +mail: tlopez@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=lclark511,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Lisa +cn: Lisa Clark +uid: lclark511 +mail: lclark511@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=panderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Paul +cn: Paul Anderson +uid: panderson +mail: panderson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=bjohnson513,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Bill +cn: Bill Johnson +uid: bjohnson513 +mail: bjohnson513@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=wlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: William +cn: William Lopez +uid: wlopez +mail: wlopez@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=tmartinez515,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Thomas +cn: Thomas Martinez +uid: tmartinez515 +mail: tmartinez515@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=wclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: William +cn: William Clark +uid: wclark +mail: wclark@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=jwilliams517,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Jim +cn: Jim Williams +uid: jwilliams517 +mail: jwilliams517@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: staff + +dn: uid=hwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Heather +cn: Heather Williams +uid: hwilliams +mail: hwilliams@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=llopez519,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Lori +cn: Lori Lopez +uid: llopez519 +mail: llopez519@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=klopez520,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Karoline +cn: Karoline Lopez +uid: klopez520 +mail: klopez520@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=tlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Thomas +cn: Thomas Lee +uid: tlee +mail: tlee@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student + +dn: uid=mscott522,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Mary +cn: Mary Scott +uid: mscott522 +mail: mscott522@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=danderson523,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: David +cn: David Anderson +uid: danderson523 +mail: danderson523@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jgonazles524,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Jim +cn: Jim Gonazles +uid: jgonazles524 +mail: jgonazles524@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=hgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Heather +cn: Heather Gasper +uid: hgasper +mail: hgasper@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=ehenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Eric +cn: Eric Henderson +uid: ehenderson +mail: ehenderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=bscott527,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Bill +cn: Bill Scott +uid: bscott527 +mail: bscott527@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=ewhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Eric +cn: Eric White +uid: ewhite +mail: ewhite@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=sroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Sarah +cn: Sarah Roberts +uid: sroberts +mail: sroberts@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=pbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Paul +cn: Paul Butler +uid: pbutler +mail: pbutler@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum + +dn: uid=gdavis531,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Greg +cn: Greg Davis +uid: gdavis531 +mail: gdavis531@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=wjohnson532,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: William +cn: William Johnson +uid: wjohnson532 +mail: wjohnson532@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=escott533,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Eric +cn: Eric Scott +uid: escott533 +mail: escott533@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=kmartinez534,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Karl +cn: Karl Martinez +uid: kmartinez534 +mail: kmartinez534@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kbrown535,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Kiersten +cn: Kiersten Brown +uid: kbrown535 +mail: kbrown535@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=jlangenberg536,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: John +cn: John Langenberg +uid: jlangenberg536 +mail: jlangenberg536@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum + +dn: uid=gdavis537,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Greg +cn: Greg Davis +uid: gdavis537 +mail: gdavis537@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=wdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: William +cn: William Doe +uid: wdoe +mail: wdoe@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=kthompson539,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Kiersten +cn: Kiersten Thompson +uid: kthompson539 +mail: kthompson539@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=ldavis540,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Lisa +cn: Lisa Davis +uid: ldavis540 +mail: ldavis540@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=bmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Blake +cn: Blake Martinez +uid: bmartinez +mail: bmartinez@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=lroberts542,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Lisa +cn: Lisa Roberts +uid: lroberts542 +mail: lroberts542@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=ksmith543,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Karl +cn: Karl Smith +uid: ksmith543 +mail: ksmith543@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: staff + +dn: uid=jclark544,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: John +cn: John Clark +uid: jclark544 +mail: jclark544@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=jbutler545,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Jennifer +cn: Jennifer Butler +uid: jbutler545 +mail: jbutler545@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=jgrady546,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: John +cn: John Grady +uid: jgrady546 +mail: jgrady546@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=jlee547,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Jennifer +cn: Jennifer Lee +uid: jlee547 +mail: jlee547@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum + +dn: uid=csmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Colin +cn: Colin Smith +uid: csmith +mail: csmith@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff + +dn: uid=tpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Thomas +cn: Thomas Peterson +uid: tpeterson +mail: tpeterson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=mgonazles550,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Marie +cn: Marie Gonazles +uid: mgonazles550 +mail: mgonazles550@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=bwhite551,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Bill +cn: Bill White +uid: bwhite551 +mail: bwhite551@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=nhenderson552,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Nancy +cn: Nancy Henderson +uid: nhenderson552 +mail: nhenderson552@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=blewis553,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Bill +cn: Bill Lewis +uid: blewis553 +mail: blewis553@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student + +dn: uid=mjohnson554,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Michael +cn: Michael Johnson +uid: mjohnson554 +mail: mjohnson554@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=ganderson555,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Greg +cn: Greg Anderson +uid: ganderson555 +mail: ganderson555@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=slewis556,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Sarah +cn: Sarah Lewis +uid: slewis556 +mail: slewis556@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=dvales557,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Donna +cn: Donna Vales +uid: dvales557 +mail: dvales557@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jlopez558,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: John +cn: John Lopez +uid: jlopez558 +mail: jlopez558@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student + +dn: uid=kmartinez559,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Karl +cn: Karl Martinez +uid: kmartinez559 +mail: kmartinez559@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kthompson560,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Karl +cn: Karl Thompson +uid: kthompson560 +mail: kthompson560@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kroberts561,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Karoline +cn: Karoline Roberts +uid: kroberts561 +mail: kroberts561@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=mbrown562,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Mary +cn: Mary Brown +uid: mbrown562 +mail: mbrown562@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum + +dn: uid=blopez563,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Betty +cn: Betty Lopez +uid: blopez563 +mail: blopez563@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=jroberts564,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Jo +cn: Jo Roberts +uid: jroberts564 +mail: jroberts564@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=jlopez565,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Jennifer +cn: Jennifer Lopez +uid: jlopez565 +mail: jlopez565@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=bwalters566,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Blake +cn: Blake Walters +uid: bwalters566 +mail: bwalters566@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=kvales567,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Karoline +cn: Karoline Vales +uid: kvales567 +mail: kvales567@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=mlopez568,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Michael +cn: Michael Lopez +uid: mlopez568 +mail: mlopez568@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=tmorrison569,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Thomas +cn: Thomas Morrison +uid: tmorrison569 +mail: tmorrison569@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=bdavis570,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Blake +cn: Blake Davis +uid: bdavis570 +mail: bdavis570@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=sdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Sarah +cn: Sarah Davis +uid: sdavis +mail: sdavis@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=banderson572,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Blake +cn: Blake Anderson +uid: banderson572 +mail: banderson572@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=wanderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: William +cn: William Anderson +uid: wanderson +mail: wanderson@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=bprice574,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Bill +cn: Bill Price +uid: bprice574 +mail: bprice574@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jbutler575,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Jennifer +cn: Jennifer Butler +uid: jbutler575 +mail: jbutler575@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=jscott576,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jennifer +cn: Jennifer Scott +uid: jscott576 +mail: jscott576@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=ddoe577,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: David +cn: David Doe +uid: ddoe577 +mail: ddoe577@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=tdavis578,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Thomas +cn: Thomas Davis +uid: tdavis578 +mail: tdavis578@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=slangenberg579,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Sarah +cn: Sarah Langenberg +uid: slangenberg579 +mail: slangenberg579@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=bvales580,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Betty +cn: Betty Vales +uid: bvales580 +mail: bvales580@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=lpeterson581,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Lori +cn: Lori Peterson +uid: lpeterson581 +mail: lpeterson581@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum + +dn: uid=bmartinez582,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Blake +cn: Blake Martinez +uid: bmartinez582 +mail: bmartinez582@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=asmith583,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Ann +cn: Ann Smith +uid: asmith583 +mail: asmith583@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=aprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Ann +cn: Ann Price +uid: aprice +mail: aprice@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=ehenderson585,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Eric +cn: Eric Henderson +uid: ehenderson585 +mail: ehenderson585@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=lmorrison586,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Lisa +cn: Lisa Morrison +uid: lmorrison586 +mail: lmorrison586@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum + +dn: uid=chenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Colin +cn: Colin Henderson +uid: chenderson +mail: chenderson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=lbrown,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Lori +cn: Lori Brown +uid: lbrown +mail: lbrown@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=psmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Paul +cn: Paul Smith +uid: psmith +mail: psmith@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=klee590,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Karl +cn: Karl Lee +uid: klee590 +mail: klee590@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: faculty + +dn: uid=kdoe591,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Karl +cn: Karl Doe +uid: kdoe591 +mail: kdoe591@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=ldoe592,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Lisa +cn: Lisa Doe +uid: ldoe592 +mail: ldoe592@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=mvales593,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Marie +cn: Marie Vales +uid: mvales593 +mail: mvales593@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student + +dn: uid=ahenderson594,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Ann +cn: Ann Henderson +uid: ahenderson594 +mail: ahenderson594@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=aroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Ann +cn: Ann Roberts +uid: aroberts +mail: aroberts@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=dthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: David +cn: David Thompson +uid: dthompson +mail: dthompson@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=dbrown597,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Donna +cn: Donna Brown +uid: dbrown597 +mail: dbrown597@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=tmartinez598,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Thomas +cn: Thomas Martinez +uid: tmartinez598 +mail: tmartinez598@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student + +dn: uid=kbrown599,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Karl +cn: Karl Brown +uid: kbrown599 +mail: kbrown599@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=pclark600,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Paul +cn: Paul Clark +uid: pclark600 +mail: pclark600@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=mprice601,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Michael +cn: Michael Price +uid: mprice601 +mail: mprice601@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=lbutler602,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Lisa +cn: Lisa Butler +uid: lbutler602 +mail: lbutler602@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jhenderson603,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Jennifer +cn: Jennifer Henderson +uid: jhenderson603 +mail: jhenderson603@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kscott604,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Karoline +cn: Karoline Scott +uid: kscott604 +mail: kscott604@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=ddoe605,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: David +cn: David Doe +uid: ddoe605 +mail: ddoe605@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=djohnson606,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: David +cn: David Johnson +uid: djohnson606 +mail: djohnson606@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=pbutler607,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Paul +cn: Paul Butler +uid: pbutler607 +mail: pbutler607@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=jbutler608,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Jennifer +cn: Jennifer Butler +uid: jbutler608 +mail: jbutler608@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=ksmith609,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Kim +cn: Kim Smith +uid: ksmith609 +mail: ksmith609@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=jpeterson610,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: James +cn: James Peterson +uid: jpeterson610 +mail: jpeterson610@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=kbutler611,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Karl +cn: Karl Butler +uid: kbutler611 +mail: kbutler611@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=wwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: William +cn: William White +uid: wwhite +mail: wwhite@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=dpeterson613,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: David +cn: David Peterson +uid: dpeterson613 +mail: dpeterson613@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=klopez614,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Karl +cn: Karl Lopez +uid: klopez614 +mail: klopez614@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=tjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Thomas +cn: Thomas Johnson +uid: tjohnson +mail: tjohnson@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mlee616,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Mark +cn: Mark Lee +uid: mlee616 +mail: mlee616@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=jprice617,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Jennifer +cn: Jennifer Price +uid: jprice617 +mail: jprice617@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=ghenderson618,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Greg +cn: Greg Henderson +uid: ghenderson618 +mail: ghenderson618@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=rwalters619,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Robert +cn: Robert Walters +uid: rwalters619 +mail: rwalters619@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=bmorrison620,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Betty +cn: Betty Morrison +uid: bmorrison620 +mail: bmorrison620@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: member + +dn: uid=landerson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Lisa +cn: Lisa Anderson +uid: landerson +mail: landerson@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=landerson622,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Lori +cn: Lori Anderson +uid: landerson622 +mail: landerson622@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=pprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Paul +cn: Paul Price +uid: pprice +mail: pprice@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student + +dn: uid=nsmith,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Nancy +cn: Nancy Smith +uid: nsmith +mail: nsmith@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=jpeterson625,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: James +cn: James Peterson +uid: jpeterson625 +mail: jpeterson625@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=mlopez626,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Mary +cn: Mary Lopez +uid: mlopez626 +mail: mlopez626@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=dvales627,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Donna +cn: Donna Vales +uid: dvales627 +mail: dvales627@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=ethompson628,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Erik +cn: Erik Thompson +uid: ethompson628 +mail: ethompson628@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=rdoe629,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Robert +cn: Robert Doe +uid: rdoe629 +mail: rdoe629@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=cjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Colin +cn: Colin Johnson +uid: cjohnson +mail: cjohnson@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=mwilliams631,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Michael +cn: Michael Williams +uid: mwilliams631 +mail: mwilliams631@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=jpeterson632,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: John +cn: John Peterson +uid: jpeterson632 +mail: jpeterson632@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=bgonazles633,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Bill +cn: Bill Gonazles +uid: bgonazles633 +mail: bgonazles633@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=danderson634,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: David +cn: David Anderson +uid: danderson634 +mail: danderson634@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=kwalters635,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Kim +cn: Kim Walters +uid: kwalters635 +mail: kwalters635@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=adoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Ann +cn: Ann Doe +uid: adoe +mail: adoe@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member + +dn: uid=cdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Colin +cn: Colin Doe +uid: cdoe +mail: cdoe@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=ddoe638,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: David +cn: David Doe +uid: ddoe638 +mail: ddoe638@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=edavis639,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Erik +cn: Erik Davis +uid: edavis639 +mail: edavis639@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=hwhite640,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Heather +cn: Heather White +uid: hwhite640 +mail: hwhite640@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dprice641,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: David +cn: David Price +uid: dprice641 +mail: dprice641@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: student + +dn: uid=klopez642,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Kim +cn: Kim Lopez +uid: klopez642 +mail: klopez642@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=abrown643,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Ann +cn: Ann Brown +uid: abrown643 +mail: abrown643@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=mwhite644,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Mary +cn: Mary White +uid: mwhite644 +mail: mwhite644@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=kwhite645,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kiersten +cn: Kiersten White +uid: kwhite645 +mail: kwhite645@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=edoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Erik +cn: Erik Doe +uid: edoe +mail: edoe@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff + +dn: uid=mgonazles647,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Mark +cn: Mark Gonazles +uid: mgonazles647 +mail: mgonazles647@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=jhenderson648,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: James +cn: James Henderson +uid: jhenderson648 +mail: jhenderson648@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=bsmith649,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Bill +cn: Bill Smith +uid: bsmith649 +mail: bsmith649@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member + +dn: uid=lmorrison650,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Lisa +cn: Lisa Morrison +uid: lmorrison650 +mail: lmorrison650@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=llangenberg651,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Lori +cn: Lori Langenberg +uid: llangenberg651 +mail: llangenberg651@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=jwalters652,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Jim +cn: Jim Walters +uid: jwalters652 +mail: jwalters652@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=tjohnson653,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Thomas +cn: Thomas Johnson +uid: tjohnson653 +mail: tjohnson653@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=jwalters654,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Jo +cn: Jo Walters +uid: jwalters654 +mail: jwalters654@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=bmorrison655,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Betty +cn: Betty Morrison +uid: bmorrison655 +mail: bmorrison655@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mclark656,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Michael +cn: Michael Clark +uid: mclark656 +mail: mclark656@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=ewilliams657,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Erik +cn: Erik Williams +uid: ewilliams657 +mail: ewilliams657@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member + +dn: uid=jlewis658,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: John +cn: John Lewis +uid: jlewis658 +mail: jlewis658@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=kgrady659,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Kiersten +cn: Kiersten Grady +uid: kgrady659 +mail: kgrady659@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=wmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: William +cn: William Martinez +uid: wmartinez +mail: wmartinez@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=pwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Paul +cn: Paul Williams +uid: pwilliams +mail: pwilliams@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=kjohnson662,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Kim +cn: Kim Johnson +uid: kjohnson662 +mail: kjohnson662@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=smartinez663,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Sarah +cn: Sarah Martinez +uid: smartinez663 +mail: smartinez663@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=mvales664,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Marie +cn: Marie Vales +uid: mvales664 +mail: mvales664@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=klangenberg665,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Karl +cn: Karl Langenberg +uid: klangenberg665 +mail: klangenberg665@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=msmith666,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Marie +cn: Marie Smith +uid: msmith666 +mail: msmith666@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=mvales667,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Mark +cn: Mark Vales +uid: mvales667 +mail: mvales667@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=jwalters668,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: James +cn: James Walters +uid: jwalters668 +mail: jwalters668@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=pgonazles669,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Paul +cn: Paul Gonazles +uid: pgonazles669 +mail: pgonazles669@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=dvales670,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Donna +cn: Donna Vales +uid: dvales670 +mail: dvales670@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=dclark671,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: David +cn: David Clark +uid: dclark671 +mail: dclark671@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=bdoe672,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Betty +cn: Betty Doe +uid: bdoe672 +mail: bdoe672@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=mbrown673,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Mark +cn: Mark Brown +uid: mbrown673 +mail: mbrown673@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kdoe674,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Karoline +cn: Karoline Doe +uid: kdoe674 +mail: kdoe674@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=wthompson675,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: William +cn: William Thompson +uid: wthompson675 +mail: wthompson675@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=dmorrison676,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: David +cn: David Morrison +uid: dmorrison676 +mail: dmorrison676@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=edoe677,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Erik +cn: Erik Doe +uid: edoe677 +mail: edoe677@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=nlangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Nancy +cn: Nancy Langenberg +uid: nlangenberg +mail: nlangenberg@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=kpeterson679,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Karl +cn: Karl Peterson +uid: kpeterson679 +mail: kpeterson679@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=hgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Heather +cn: Heather Gonazles +uid: hgonazles +mail: hgonazles@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=droberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Donna +cn: Donna Roberts +uid: droberts +mail: droberts@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=dgonazles682,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: David +cn: David Gonazles +uid: dgonazles682 +mail: dgonazles682@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=mmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Mark +cn: Mark Morrison +uid: mmorrison +mail: mmorrison@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff + +dn: uid=cmorrison684,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Colin +cn: Colin Morrison +uid: cmorrison684 +mail: cmorrison684@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jlewis685,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Jim +cn: Jim Lewis +uid: jlewis685 +mail: jlewis685@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=jjohnson686,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Jennifer +cn: Jennifer Johnson +uid: jjohnson686 +mail: jjohnson686@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=elee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Erik +cn: Erik Lee +uid: elee +mail: elee@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=ddoe688,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Donna +cn: Donna Doe +uid: ddoe688 +mail: ddoe688@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student + +dn: uid=droberts689,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Donna +cn: Donna Roberts +uid: droberts689 +mail: droberts689@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=mgonazles690,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Mary +cn: Mary Gonazles +uid: mgonazles690 +mail: mgonazles690@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=awilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Ann +cn: Ann Williams +uid: awilliams +mail: awilliams@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=gwalters,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Greg +cn: Greg Walters +uid: gwalters +mail: gwalters@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=wgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: William +cn: William Gonazles +uid: wgonazles +mail: wgonazles@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=mlewis694,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Michael +cn: Michael Lewis +uid: mlewis694 +mail: mlewis694@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=avales695,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Ann +cn: Ann Vales +uid: avales695 +mail: avales695@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mjohnson696,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Michael +cn: Michael Johnson +uid: mjohnson696 +mail: mjohnson696@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kanderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Kim +cn: Kim Anderson +uid: kanderson +mail: kanderson@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=troberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Thomas +cn: Thomas Roberts +uid: troberts +mail: troberts@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student + +dn: uid=dlewis699,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: David +cn: David Lewis +uid: dlewis699 +mail: dlewis699@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=dwalters700,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Donna +cn: Donna Walters +uid: dwalters700 +mail: dwalters700@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=kbrown701,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Kim +cn: Kim Brown +uid: kbrown701 +mail: kbrown701@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=ewhite702,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Erik +cn: Erik White +uid: ewhite702 +mail: ewhite702@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=lwalters703,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Lori +cn: Lori Walters +uid: lwalters703 +mail: lwalters703@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=alangenberg704,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Ann +cn: Ann Langenberg +uid: alangenberg704 +mail: alangenberg704@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=bbrown705,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Bill +cn: Bill Brown +uid: bbrown705 +mail: bbrown705@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=blangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Blake +cn: Blake Langenberg +uid: blangenberg +mail: blangenberg@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=mlewis707,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Michael +cn: Michael Lewis +uid: mlewis707 +mail: mlewis707@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student + +dn: uid=ksmith708,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Karl +cn: Karl Smith +uid: ksmith708 +mail: ksmith708@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=clopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Colin +cn: Colin Lopez +uid: clopez +mail: clopez@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=mclark710,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Mark +cn: Mark Clark +uid: mclark710 +mail: mclark710@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=tprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Thomas +cn: Thomas Price +uid: tprice +mail: tprice@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff + +dn: uid=klewis712,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Karl +cn: Karl Lewis +uid: klewis712 +mail: klewis712@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=mbutler713,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Marie +cn: Marie Butler +uid: mbutler713 +mail: mbutler713@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member + +dn: uid=mmorrison714,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Mark +cn: Mark Morrison +uid: mmorrison714 +mail: mmorrison714@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=gsmith715,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Greg +cn: Greg Smith +uid: gsmith715 +mail: gsmith715@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=randerson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Robert +cn: Robert Anderson +uid: randerson +mail: randerson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=klangenberg717,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Kiersten +cn: Kiersten Langenberg +uid: klangenberg717 +mail: klangenberg717@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=mlangenberg718,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Mary +cn: Mary Langenberg +uid: mlangenberg718 +mail: mlangenberg718@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=plee719,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Paul +cn: Paul Lee +uid: plee719 +mail: plee719@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=dclark720,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Donna +cn: Donna Clark +uid: dclark720 +mail: dclark720@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=bbrown721,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Blake +cn: Blake Brown +uid: bbrown721 +mail: bbrown721@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=bvales722,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Blake +cn: Blake Vales +uid: bvales722 +mail: bvales722@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=emartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Erik +cn: Erik Martinez +uid: emartinez +mail: emartinez@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kgonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Karl +cn: Karl Gonazles +uid: kgonazles +mail: kgonazles@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=lvales725,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Lisa +cn: Lisa Vales +uid: lvales725 +mail: lvales725@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=kgrady726,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Karl +cn: Karl Grady +uid: kgrady726 +mail: kgrady726@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=aanderson727,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Ann +cn: Ann Anderson +uid: aanderson727 +mail: aanderson727@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=awhite728,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Ann +cn: Ann White +uid: awhite728 +mail: awhite728@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=lwilliams729,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Lori +cn: Lori Williams +uid: lwilliams729 +mail: lwilliams729@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=bclark730,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Bill +cn: Bill Clark +uid: bclark730 +mail: bclark730@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum + +dn: uid=dwilliams731,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: David +cn: David Williams +uid: dwilliams731 +mail: dwilliams731@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=dwilliams732,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: David +cn: David Williams +uid: dwilliams732 +mail: dwilliams732@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dlewis733,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: David +cn: David Lewis +uid: dlewis733 +mail: dlewis733@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=ndoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Nancy +cn: Nancy Doe +uid: ndoe +mail: ndoe@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=jjohnson735,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Jennifer +cn: Jennifer Johnson +uid: jjohnson735 +mail: jjohnson735@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member + +dn: uid=jgonazles736,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Jennifer +cn: Jennifer Gonazles +uid: jgonazles736 +mail: jgonazles736@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=lprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Lisa +cn: Lisa Price +uid: lprice +mail: lprice@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community + +dn: uid=rdoe738,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Robert +cn: Robert Doe +uid: rdoe738 +mail: rdoe738@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dbrown739,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: David +cn: David Brown +uid: dbrown739 +mail: dbrown739@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=handerson740,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Heather +cn: Heather Anderson +uid: handerson740 +mail: handerson740@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=jmartinez741,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Jo +cn: Jo Martinez +uid: jmartinez741 +mail: jmartinez741@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=agonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Ann +cn: Ann Gonazles +uid: agonazles +mail: agonazles@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=edavis743,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Erik +cn: Erik Davis +uid: edavis743 +mail: edavis743@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student + +dn: uid=jpeterson744,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: James +cn: James Peterson +uid: jpeterson744 +mail: jpeterson744@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=bprice745,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Betty +cn: Betty Price +uid: bprice745 +mail: bprice745@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=jwilliams746,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Jim +cn: Jim Williams +uid: jwilliams746 +mail: jwilliams746@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=rroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Robert +cn: Robert Roberts +uid: rroberts +mail: rroberts@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member + +dn: uid=kroberts748,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Karl +cn: Karl Roberts +uid: kroberts748 +mail: kroberts748@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=janderson749,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Jim +cn: Jim Anderson +uid: janderson749 +mail: janderson749@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=broberts750,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Bill +cn: Bill Roberts +uid: broberts750 +mail: broberts750@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member + +dn: uid=elopez751,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Erik +cn: Erik Lopez +uid: elopez751 +mail: elopez751@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community + +dn: uid=manderson752,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Michael +cn: Michael Anderson +uid: manderson752 +mail: manderson752@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=kbutler753,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Karoline +cn: Karoline Butler +uid: kbutler753 +mail: kbutler753@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum + +dn: uid=gclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Greg +cn: Greg Clark +uid: gclark +mail: gclark@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=jwilliams755,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Jo +cn: Jo Williams +uid: jwilliams755 +mail: jwilliams755@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=llopez756,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Lori +cn: Lori Lopez +uid: llopez756 +mail: llopez756@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=khenderson757,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Kim +cn: Kim Henderson +uid: khenderson757 +mail: khenderson757@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff + +dn: uid=cjohnson758,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Colin +cn: Colin Johnson +uid: cjohnson758 +mail: cjohnson758@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=kgasper759,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Kim +cn: Kim Gasper +uid: kgasper759 +mail: kgasper759@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community + +dn: uid=jlewis760,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: James +cn: James Lewis +uid: jlewis760 +mail: jlewis760@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: staff + +dn: uid=llee761,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Lori +cn: Lori Lee +uid: llee761 +mail: llee761@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=rvales762,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Robert +cn: Robert Vales +uid: rvales762 +mail: rvales762@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=jgasper763,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: John +cn: John Gasper +uid: jgasper763 +mail: jgasper763@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=mprice764,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Marie +cn: Marie Price +uid: mprice764 +mail: mprice764@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member + +dn: uid=asmith765,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Ann +cn: Ann Smith +uid: asmith765 +mail: asmith765@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=kanderson766,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Kiersten +cn: Kiersten Anderson +uid: kanderson766 +mail: kanderson766@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=tbrown767,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Thomas +cn: Thomas Brown +uid: tbrown767 +mail: tbrown767@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=kvales768,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Karoline +cn: Karoline Vales +uid: kvales768 +mail: kvales768@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jhenderson769,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Jo +cn: Jo Henderson +uid: jhenderson769 +mail: jhenderson769@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jjohnson770,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: James +cn: James Johnson +uid: jjohnson770 +mail: jjohnson770@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=wroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: William +cn: William Roberts +uid: wroberts +mail: wroberts@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=cpeterson772,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Colin +cn: Colin Peterson +uid: cpeterson772 +mail: cpeterson772@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=tdoe,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Thomas +cn: Thomas Doe +uid: tdoe +mail: tdoe@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=hroberts,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Heather +cn: Heather Roberts +uid: hroberts +mail: hroberts@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=mprice775,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Michael +cn: Michael Price +uid: mprice775 +mail: mprice775@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=lroberts776,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Lori +cn: Lori Roberts +uid: lroberts776 +mail: lroberts776@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mdavis777,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Marie +cn: Marie Davis +uid: mdavis777 +mail: mdavis777@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=kgonazles778,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Karoline +cn: Karoline Gonazles +uid: kgonazles778 +mail: kgonazles778@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=mvales779,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Mary +cn: Mary Vales +uid: mvales779 +mail: mvales779@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=jdoe780,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Jo +cn: Jo Doe +uid: jdoe780 +mail: jdoe780@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=dmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: David +cn: David Martinez +uid: dmartinez +mail: dmartinez@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member + +dn: uid=dvales782,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: David +cn: David Vales +uid: dvales782 +mail: dvales782@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=tprice783,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Thomas +cn: Thomas Price +uid: tprice783 +mail: tprice783@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dmorrison784,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Donna +cn: Donna Morrison +uid: dmorrison784 +mail: dmorrison784@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=dgonazles785,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: David +cn: David Gonazles +uid: dgonazles785 +mail: dgonazles785@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=swalters786,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Sarah +cn: Sarah Walters +uid: swalters786 +mail: swalters786@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum + +dn: uid=hpeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Heather +cn: Heather Peterson +uid: hpeterson +mail: hpeterson@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=jlee788,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Jennifer +cn: Jennifer Lee +uid: jlee788 +mail: jlee788@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=nlopez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Nancy +cn: Nancy Lopez +uid: nlopez +mail: nlopez@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=kwhite790,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kim +cn: Kim White +uid: kwhite790 +mail: kwhite790@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=nbutler,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Nancy +cn: Nancy Butler +uid: nbutler +mail: nbutler@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=jroberts792,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Jo +cn: Jo Roberts +uid: jroberts792 +mail: jroberts792@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=hclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Heather +cn: Heather Clark +uid: hclark +mail: hclark@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=nclark794,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Nancy +cn: Nancy Clark +uid: nclark794 +mail: nclark794@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=dpeterson795,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: David +cn: David Peterson +uid: dpeterson795 +mail: dpeterson795@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=hbrown796,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Heather +cn: Heather Brown +uid: hbrown796 +mail: hbrown796@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=hlewis797,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Heather +cn: Heather Lewis +uid: hlewis797 +mail: hlewis797@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=blewis798,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Betty +cn: Betty Lewis +uid: blewis798 +mail: blewis798@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=sroberts799,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Sarah +cn: Sarah Roberts +uid: sroberts799 +mail: sroberts799@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=clewis800,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Colin +cn: Colin Lewis +uid: clewis800 +mail: clewis800@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jclark801,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Jim +cn: Jim Clark +uid: jclark801 +mail: jclark801@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=jvales802,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Jim +cn: Jim Vales +uid: jvales802 +mail: jvales802@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=jlewis803,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: John +cn: John Lewis +uid: jlewis803 +mail: jlewis803@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=jgasper804,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: John +cn: John Gasper +uid: jgasper804 +mail: jgasper804@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=rdavis805,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Robert +cn: Robert Davis +uid: rdavis805 +mail: rdavis805@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=dwilliams806,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: David +cn: David Williams +uid: dwilliams806 +mail: dwilliams806@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: member + +dn: uid=jscott807,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Jennifer +cn: Jennifer Scott +uid: jscott807 +mail: jscott807@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=wwilliams808,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: William +cn: William Williams +uid: wwilliams808 +mail: wwilliams808@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: faculty + +dn: uid=edavis809,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Eric +cn: Eric Davis +uid: edavis809 +mail: edavis809@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=mprice810,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Marie +cn: Marie Price +uid: mprice810 +mail: mprice810@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=bhenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Betty +cn: Betty Henderson +uid: bhenderson +mail: bhenderson@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: alum + +dn: uid=hhenderson812,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Heather +cn: Heather Henderson +uid: hhenderson812 +mail: hhenderson812@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=kscott813,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Karl +cn: Karl Scott +uid: kscott813 +mail: kscott813@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=ddoe814,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: David +cn: David Doe +uid: ddoe814 +mail: ddoe814@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=ewilliams815,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Erik +cn: Erik Williams +uid: ewilliams815 +mail: ewilliams815@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=jsmith816,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Jo +cn: Jo Smith +uid: jsmith816 +mail: jsmith816@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=lvales817,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Lisa +cn: Lisa Vales +uid: lvales817 +mail: lvales817@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student + +dn: uid=lpeterson818,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Lori +cn: Lori Peterson +uid: lpeterson818 +mail: lpeterson818@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=dgasper,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: David +cn: David Gasper +uid: dgasper +mail: dgasper@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=nlangenberg820,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Nancy +cn: Nancy Langenberg +uid: nlangenberg820 +mail: nlangenberg820@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=jhenderson821,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Jo +cn: Jo Henderson +uid: jhenderson821 +mail: jhenderson821@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=ddavis822,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: David +cn: David Davis +uid: ddavis822 +mail: ddavis822@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student + +dn: uid=kgasper823,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Karl +cn: Karl Gasper +uid: kgasper823 +mail: kgasper823@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: member + +dn: uid=jprice824,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: John +cn: John Price +uid: jprice824 +mail: jprice824@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum + +dn: uid=aclark,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Ann +cn: Ann Clark +uid: aclark +mail: aclark@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=jclark826,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Jennifer +cn: Jennifer Clark +uid: jclark826 +mail: jclark826@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=lmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Lori +cn: Lori Martinez +uid: lmartinez +mail: lmartinez@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jpeterson828,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Jim +cn: Jim Peterson +uid: jpeterson828 +mail: jpeterson828@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jdoe829,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Jennifer +cn: Jennifer Doe +uid: jdoe829 +mail: jdoe829@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=nmorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Nancy +cn: Nancy Morrison +uid: nmorrison +mail: nmorrison@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=ehenderson831,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Eric +cn: Eric Henderson +uid: ehenderson831 +mail: ehenderson831@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=kwhite832,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Kiersten +cn: Kiersten White +uid: kwhite832 +mail: kwhite832@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=dhenderson833,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Donna +cn: Donna Henderson +uid: dhenderson833 +mail: dhenderson833@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community + +dn: uid=dbrown834,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Donna +cn: Donna Brown +uid: dbrown834 +mail: dbrown834@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=manderson835,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Marie +cn: Marie Anderson +uid: manderson835 +mail: manderson835@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=ggasper836,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Greg +cn: Greg Gasper +uid: ggasper836 +mail: ggasper836@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=mlewis837,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Marie +cn: Marie Lewis +uid: mlewis837 +mail: mlewis837@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: alum + +dn: uid=kclark838,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Karl +cn: Karl Clark +uid: kclark838 +mail: kclark838@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dclark839,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: David +cn: David Clark +uid: dclark839 +mail: dclark839@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=blewis840,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Blake +cn: Blake Lewis +uid: blewis840 +mail: blewis840@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=wlewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: William +cn: William Lewis +uid: wlewis +mail: wlewis@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: student + +dn: uid=jbutler842,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: John +cn: John Butler +uid: jbutler842 +mail: jbutler842@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: community + +dn: uid=bbutler843,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Betty +cn: Betty Butler +uid: bbutler843 +mail: bbutler843@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=gthompson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Greg +cn: Greg Thompson +uid: gthompson +mail: gthompson@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=glangenberg,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Greg +cn: Greg Langenberg +uid: glangenberg +mail: glangenberg@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: community + +dn: uid=ajohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Ann +cn: Ann Johnson +uid: ajohnson +mail: ajohnson@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student + +dn: uid=awhite847,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Ann +cn: Ann White +uid: awhite847 +mail: awhite847@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dhenderson848,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: David +cn: David Henderson +uid: dhenderson848 +mail: dhenderson848@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=mwilliams849,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Mark +cn: Mark Williams +uid: mwilliams849 +mail: mwilliams849@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff + +dn: uid=nprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Nancy +cn: Nancy Price +uid: nprice +mail: nprice@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=dthompson851,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Donna +cn: Donna Thompson +uid: dthompson851 +mail: dthompson851@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member + +dn: uid=ebutler852,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Erik +cn: Erik Butler +uid: ebutler852 +mail: ebutler852@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=kdavis853,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Kim +cn: Kim Davis +uid: kdavis853 +mail: kdavis853@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=tgasper854,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Thomas +cn: Thomas Gasper +uid: tgasper854 +mail: tgasper854@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=alangenberg855,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Ann +cn: Ann Langenberg +uid: alangenberg855 +mail: alangenberg855@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=kclark856,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Kim +cn: Kim Clark +uid: kclark856 +mail: kclark856@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=wdavis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: William +cn: William Davis +uid: wdavis +mail: wdavis@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=kwalters858,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Karoline +cn: Karoline Walters +uid: kwalters858 +mail: kwalters858@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=eprice859,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Erik +cn: Erik Price +uid: eprice859 +mail: eprice859@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student + +dn: uid=slee860,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Sarah +cn: Sarah Lee +uid: slee860 +mail: slee860@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jwalters861,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: James +cn: James Walters +uid: jwalters861 +mail: jwalters861@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=rprice862,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Robert +cn: Robert Price +uid: rprice862 +mail: rprice862@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff + +dn: uid=tmartinez863,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Thomas +cn: Thomas Martinez +uid: tmartinez863 +mail: tmartinez863@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=mclark864,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Mary +cn: Mary Clark +uid: mclark864 +mail: mclark864@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=lwalters865,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Lisa +cn: Lisa Walters +uid: lwalters865 +mail: lwalters865@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=handerson866,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Heather +cn: Heather Anderson +uid: handerson866 +mail: handerson866@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=dhenderson867,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: David +cn: David Henderson +uid: dhenderson867 +mail: dhenderson867@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=ldoe868,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Lisa +cn: Lisa Doe +uid: ldoe868 +mail: ldoe868@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=ggonazles869,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Greg +cn: Greg Gonazles +uid: ggonazles869 +mail: ggonazles869@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=kanderson870,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Karoline +cn: Karoline Anderson +uid: kanderson870 +mail: kanderson870@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=ajohnson871,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Ann +cn: Ann Johnson +uid: ajohnson871 +mail: ajohnson871@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=bgasper872,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Betty +cn: Betty Gasper +uid: bgasper872 +mail: bgasper872@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=jlee873,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: John +cn: John Lee +uid: jlee873 +mail: jlee873@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=khenderson874,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Karoline +cn: Karoline Henderson +uid: khenderson874 +mail: khenderson874@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jwilliams875,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: John +cn: John Williams +uid: jwilliams875 +mail: jwilliams875@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=nwilliams,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Nancy +cn: Nancy Williams +uid: nwilliams +mail: nwilliams@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kbrown877,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Karoline +cn: Karoline Brown +uid: kbrown877 +mail: kbrown877@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=bthompson878,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Blake +cn: Blake Thompson +uid: bthompson878 +mail: bthompson878@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=rdavis879,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Robert +cn: Robert Davis +uid: rdavis879 +mail: rdavis879@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: staff + +dn: uid=gthompson880,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Thompson +givenName: Greg +cn: Greg Thompson +uid: gthompson880 +mail: gthompson880@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=bpeterson881,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Blake +cn: Blake Peterson +uid: bpeterson881 +mail: bpeterson881@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=mbrown882,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Marie +cn: Marie Brown +uid: mbrown882 +mail: mbrown882@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=jmartinez883,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: James +cn: James Martinez +uid: jmartinez883 +mail: jmartinez883@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: alum + +dn: uid=hwhite884,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Heather +cn: Heather White +uid: hwhite884 +mail: hwhite884@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=lhenderson885,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Lisa +cn: Lisa Henderson +uid: lhenderson885 +mail: lhenderson885@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum + +dn: uid=thenderson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Thomas +cn: Thomas Henderson +uid: thenderson +mail: thenderson@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=sdavis887,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Sarah +cn: Sarah Davis +uid: sdavis887 +mail: sdavis887@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=dclark888,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: David +cn: David Clark +uid: dclark888 +mail: dclark888@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=dpeterson889,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: David +cn: David Peterson +uid: dpeterson889 +mail: dpeterson889@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=jbutler890,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: James +cn: James Butler +uid: jbutler890 +mail: jbutler890@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=ksmith891,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Kiersten +cn: Kiersten Smith +uid: ksmith891 +mail: ksmith891@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: alum + +dn: uid=rlopez892,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Robert +cn: Robert Lopez +uid: rlopez892 +mail: rlopez892@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=ksmith893,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Kiersten +cn: Kiersten Smith +uid: ksmith893 +mail: ksmith893@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=jdavis894,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: John +cn: John Davis +uid: jdavis894 +mail: jdavis894@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: alum + +dn: uid=ddoe895,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Donna +cn: Donna Doe +uid: ddoe895 +mail: ddoe895@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=msmith896,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Michael +cn: Michael Smith +uid: msmith896 +mail: msmith896@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: staff + +dn: uid=mdavis897,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Michael +cn: Michael Davis +uid: mdavis897 +mail: mdavis897@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=mmartinez898,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Marie +cn: Marie Martinez +uid: mmartinez898 +mail: mmartinez898@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=jlangenberg899,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Jennifer +cn: Jennifer Langenberg +uid: jlangenberg899 +mail: jlangenberg899@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=cdavis900,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Colin +cn: Colin Davis +uid: cdavis900 +mail: cdavis900@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=jmartinez901,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: John +cn: John Martinez +uid: jmartinez901 +mail: jmartinez901@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=tmartinez902,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Thomas +cn: Thomas Martinez +uid: tmartinez902 +mail: tmartinez902@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: staff + +dn: uid=bprice903,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Bill +cn: Bill Price +uid: bprice903 +mail: bprice903@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=jdavis904,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Jo +cn: Jo Davis +uid: jdavis904 +mail: jdavis904@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student + +dn: uid=jmartinez905,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Jo +cn: Jo Martinez +uid: jmartinez905 +mail: jmartinez905@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=landerson906,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Lori +cn: Lori Anderson +uid: landerson906 +mail: landerson906@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=rlee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Robert +cn: Robert Lee +uid: rlee +mail: rlee@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=dlewis908,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: David +cn: David Lewis +uid: dlewis908 +mail: dlewis908@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=jlopez909,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Jo +cn: Jo Lopez +uid: jlopez909 +mail: jlopez909@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=kgasper910,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Karoline +cn: Karoline Gasper +uid: kgasper910 +mail: kgasper910@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=mscott911,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: Michael +cn: Michael Scott +uid: mscott911 +mail: mscott911@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=smorrison,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Sarah +cn: Sarah Morrison +uid: smorrison +mail: smorrison@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community + +dn: uid=kjohnson913,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Karl +cn: Karl Johnson +uid: kjohnson913 +mail: kjohnson913@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=bwhite914,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Bill +cn: Bill White +uid: bwhite914 +mail: bwhite914@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=kgonazles915,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Kim +cn: Kim Gonazles +uid: kgonazles915 +mail: kgonazles915@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=jgasper916,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Jennifer +cn: Jennifer Gasper +uid: jgasper916 +mail: jgasper916@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=jlewis917,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: James +cn: James Lewis +uid: jlewis917 +mail: jlewis917@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mjohnson918,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Mark +cn: Mark Johnson +uid: mjohnson918 +mail: mjohnson918@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: member + +dn: uid=ddavis919,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: David +cn: David Davis +uid: ddavis919 +mail: ddavis919@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=dvales920,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Donna +cn: Donna Vales +uid: dvales920 +mail: dvales920@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mlangenberg921,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: Mary +cn: Mary Langenberg +uid: mlangenberg921 +mail: mlangenberg921@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: member + +dn: uid=jvales922,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Jim +cn: Jim Vales +uid: jvales922 +mail: jvales922@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=mgrady923,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Mary +cn: Mary Grady +uid: mgrady923 +mail: mgrady923@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=hsmith924,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Heather +cn: Heather Smith +uid: hsmith924 +mail: hsmith924@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: alum + +dn: uid=lgrady925,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Lori +cn: Lori Grady +uid: lgrady925 +mail: lgrady925@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=gbutler926,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Greg +cn: Greg Butler +uid: gbutler926 +mail: gbutler926@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: member + +dn: uid=jwhite927,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Jennifer +cn: Jennifer White +uid: jwhite927 +mail: jwhite927@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: community + +dn: uid=bpeterson928,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Betty +cn: Betty Peterson +uid: bpeterson928 +mail: bpeterson928@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=nlewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Nancy +cn: Nancy Lewis +uid: nlewis +mail: nlewis@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=jroberts930,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Jennifer +cn: Jennifer Roberts +uid: jroberts930 +mail: jroberts930@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: member + +dn: uid=kpeterson931,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Kiersten +cn: Kiersten Peterson +uid: kpeterson931 +mail: kpeterson931@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: alum + +dn: uid=lhenderson932,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Lori +cn: Lori Henderson +uid: lhenderson932 +mail: lhenderson932@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jlewis933,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: James +cn: James Lewis +uid: jlewis933 +mail: jlewis933@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=dlangenberg934,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Langenberg +givenName: David +cn: David Langenberg +uid: dlangenberg934 +mail: dlangenberg934@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community + +dn: uid=kbutler935,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Kim +cn: Kim Butler +uid: kbutler935 +mail: kbutler935@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=rjohnson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Robert +cn: Robert Johnson +uid: rjohnson +mail: rjohnson@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=jwalters937,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Jennifer +cn: Jennifer Walters +uid: jwalters937 +mail: jwalters937@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=kgonazles938,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Kiersten +cn: Kiersten Gonazles +uid: kgonazles938 +mail: kgonazles938@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: community + +dn: uid=mgasper939,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Marie +cn: Marie Gasper +uid: mgasper939 +mail: mgasper939@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: student + +dn: uid=klopez940,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Kim +cn: Kim Lopez +uid: klopez940 +mail: klopez940@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: staff + +dn: uid=jwhite941,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Jennifer +cn: Jennifer White +uid: jwhite941 +mail: jwhite941@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=jgonazles942,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: James +cn: James Gonazles +uid: jgonazles942 +mail: jgonazles942@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=khenderson943,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Kim +cn: Kim Henderson +uid: khenderson943 +mail: khenderson943@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=mhenderson944,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Mark +cn: Mark Henderson +uid: mhenderson944 +mail: mhenderson944@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=cprice,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Colin +cn: Colin Price +uid: cprice +mail: cprice@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=janderson946,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Jim +cn: Jim Anderson +uid: janderson946 +mail: janderson946@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=ejohnson947,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Erik +cn: Erik Johnson +uid: ejohnson947 +mail: ejohnson947@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student + +dn: uid=janderson948,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: John +cn: John Anderson +uid: janderson948 +mail: janderson948@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=lhenderson949,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Lisa +cn: Lisa Henderson +uid: lhenderson949 +mail: lhenderson949@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=mlee950,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Mary +cn: Mary Lee +uid: mlee950 +mail: mlee950@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=ewilliams951,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Eric +cn: Eric Williams +uid: ewilliams951 +mail: ewilliams951@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: staff + +dn: uid=plewis,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lewis +givenName: Paul +cn: Paul Lewis +uid: plewis +mail: plewis@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=mclark953,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Marie +cn: Marie Clark +uid: mclark953 +mail: mclark953@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: community + +dn: uid=dwilliams954,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: David +cn: David Williams +uid: dwilliams954 +mail: dwilliams954@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: student + +dn: uid=rroberts955,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Roberts +givenName: Robert +cn: Robert Roberts +uid: rroberts955 +mail: rroberts955@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=jsmith956,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Smith +givenName: Jo +cn: Jo Smith +uid: jsmith956 +mail: jsmith956@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=jwhite957,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Jennifer +cn: Jennifer White +uid: jwhite957 +mail: jwhite957@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=bwalters958,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Bill +cn: Bill Walters +uid: bwalters958 +mail: bwalters958@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: community + +dn: uid=mhenderson959,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Henderson +givenName: Mark +cn: Mark Henderson +uid: mhenderson959 +mail: mhenderson959@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=mgasper960,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Mark +cn: Mark Gasper +uid: mgasper960 +mail: mgasper960@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum + +dn: uid=ppeterson,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Paul +cn: Paul Peterson +uid: ppeterson +mail: ppeterson@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=jscott962,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Scott +givenName: John +cn: John Scott +uid: jscott962 +mail: jscott962@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff + +dn: uid=hdavis963,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: Heather +cn: Heather Davis +uid: hdavis963 +mail: hdavis963@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: staff + +dn: uid=pwhite,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: White +givenName: Paul +cn: Paul White +uid: pwhite +mail: pwhite@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=dwalters965,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: David +cn: David Walters +uid: dwalters965 +mail: dwalters965@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: student + +dn: uid=blopez966,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lopez +givenName: Blake +cn: Blake Lopez +uid: blopez966 +mail: blopez966@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: community + +dn: uid=bgrady967,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Blake +cn: Blake Grady +uid: bgrady967 +mail: bgrady967@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=bclark968,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Clark +givenName: Bill +cn: Bill Clark +uid: bclark968 +mail: bclark968@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: member + +dn: uid=lprice969,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Lisa +cn: Lisa Price +uid: lprice969 +mail: lprice969@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: member + +dn: uid=wpeterson970,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: William +cn: William Peterson +uid: wpeterson970 +mail: wpeterson970@unicon.local +businessCategory:Law +userPassword: password +eduPersonAffiliation: student + +dn: uid=banderson971,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Anderson +givenName: Betty +cn: Betty Anderson +uid: banderson971 +mail: banderson971@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: alum + +dn: uid=hprice972,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Heather +cn: Heather Price +uid: hprice972 +mail: hprice972@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: community + +dn: uid=mpeterson973,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Marie +cn: Marie Peterson +uid: mpeterson973 +mail: mpeterson973@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: alum + +dn: uid=ngonazles,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Nancy +cn: Nancy Gonazles +uid: ngonazles +mail: ngonazles@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum +eduPersonAffiliation: faculty + +dn: uid=jvales975,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: James +cn: James Vales +uid: jvales975 +mail: jvales975@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: community + +dn: uid=jpeterson976,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Peterson +givenName: Jennifer +cn: Jennifer Peterson +uid: jpeterson976 +mail: jpeterson976@unicon.local +businessCategory:Advising +userPassword: password +eduPersonAffiliation: staff + +dn: uid=kmartinez977,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Kim +cn: Kim Martinez +uid: kmartinez977 +mail: kmartinez977@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: staff + +dn: uid=pbrown978,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Brown +givenName: Paul +cn: Paul Brown +uid: pbrown978 +mail: pbrown978@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: member + +dn: uid=dbutler979,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Donna +cn: Donna Butler +uid: dbutler979 +mail: dbutler979@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: member + +dn: uid=hmorrison980,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Morrison +givenName: Heather +cn: Heather Morrison +uid: hmorrison980 +mail: hmorrison980@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member + +dn: uid=cdoe981,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Doe +givenName: Colin +cn: Colin Doe +uid: cdoe981 +mail: cdoe981@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff + +dn: uid=alee,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Ann +cn: Ann Lee +uid: alee +mail: alee@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: alum + +dn: uid=jlee983,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Jo +cn: Jo Lee +uid: jlee983 +mail: jlee983@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: community +eduPersonAffiliation: faculty + +dn: uid=mprice984,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Price +givenName: Marie +cn: Marie Price +uid: mprice984 +mail: mprice984@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=jbutler985,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Jo +cn: Jo Butler +uid: jbutler985 +mail: jbutler985@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: staff + +dn: uid=mmartinez986,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Mary +cn: Mary Martinez +uid: mmartinez986 +mail: mmartinez986@unicon.local +businessCategory:Engineering +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=hmartinez,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Heather +cn: Heather Martinez +uid: hmartinez +mail: hmartinez@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: alum + +dn: uid=twalters988,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Walters +givenName: Thomas +cn: Thomas Walters +uid: twalters988 +mail: twalters988@unicon.local +businessCategory:Physical Education +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=kwilliams989,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Williams +givenName: Karl +cn: Karl Williams +uid: kwilliams989 +mail: kwilliams989@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: community + +dn: uid=emartinez990,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Martinez +givenName: Eric +cn: Eric Martinez +uid: emartinez990 +mail: emartinez990@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: community + +dn: uid=klee991,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Lee +givenName: Karoline +cn: Karoline Lee +uid: klee991 +mail: klee991@unicon.local +businessCategory:Language Arts +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=bjohnson992,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Bill +cn: Bill Johnson +uid: bjohnson992 +mail: bjohnson992@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: faculty +eduPersonAffiliation: student + +dn: uid=wdavis993,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Davis +givenName: William +cn: William Davis +uid: wdavis993 +mail: wdavis993@unicon.local +businessCategory:Financial Aid +userPassword: password +eduPersonAffiliation: staff +eduPersonAffiliation: faculty + +dn: uid=bgonazles994,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gonazles +givenName: Blake +cn: Blake Gonazles +uid: bgonazles994 +mail: bgonazles994@unicon.local +businessCategory:Account Payable +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: community + +dn: uid=jvales995,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Vales +givenName: Jennifer +cn: Jennifer Vales +uid: jvales995 +mail: jvales995@unicon.local +businessCategory:Accounting +userPassword: password +eduPersonAffiliation: member +eduPersonAffiliation: student + +dn: uid=kjohnson996,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Johnson +givenName: Kiersten +cn: Kiersten Johnson +uid: kjohnson996 +mail: kjohnson996@unicon.local +businessCategory:Computer Science +userPassword: password +eduPersonAffiliation: faculty + +dn: uid=ggrady,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Grady +givenName: Greg +cn: Greg Grady +uid: ggrady +mail: ggrady@unicon.local +businessCategory:Purchasing +userPassword: password +eduPersonAffiliation: student +eduPersonAffiliation: faculty + +dn: uid=lbutler998,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Butler +givenName: Lori +cn: Lori Butler +uid: lbutler998 +mail: lbutler998@unicon.local +businessCategory:Information Technology +userPassword: password +eduPersonAffiliation: member + +dn: uid=tgasper999,ou=People,dc=unicon,dc=local +objectClass: organizationalPerson +objectClass: person +objectClass: top +objectClass: inetOrgPerson +objectClass: eduPerson +surname: Gasper +givenName: Thomas +cn: Thomas Gasper +uid: tgasper999 +mail: tgasper999@unicon.local +businessCategory:Business +userPassword: password +eduPersonAffiliation: member diff --git a/src/test/docker/directory/Dockerfile b/src/test/docker/directory/Dockerfile new file mode 100644 index 0000000..ee92085 --- /dev/null +++ b/src/test/docker/directory/Dockerfile @@ -0,0 +1,4 @@ +FROM osixia/openldap:1.3.0 + +COPY 001_eduperson.ldif /container/service/slapd/assets/config/bootstrap/ldif +COPY 999_users.ldif /container/service/slapd/assets/config/bootstrap/ldif diff --git a/src/test/docker/directory/certs/ca.crt b/src/test/docker/directory/certs/ca.crt new file mode 100644 index 0000000..e05f05f --- /dev/null +++ b/src/test/docker/directory/certs/ca.crt @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIIFCzCCAvOgAwIBAgIULEwEJFwT49CiSPKOA5EHGVKGl0gwDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJZGlyZWN0b3J5MCAXDTIxMDkxNDIxNDMwOFoYDzIwNTEw +OTE1MjE0MzA4WjAUMRIwEAYDVQQDDAlkaXJlY3RvcnkwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC+/SikxGUFYUiKjghLFPRMaYLZUHyOMWOyCIQSkZrt +Si6llB7JhN+tCaFgibPSNrKzOpF7IRJBlaEMAKN47Fncy7uGPg/3KEtuCLRUxbYv +1LgjZl2J0w/SROYIX0bsMEuThojaIxuv4D1fdaF3S7/sKnXywIncZtAqMhISiC9q +Kq9xT4twiST7SDPY/u3pdVdAjBg4R5XlF69XWtKaeCoEup9lgvyLT5dQBxdA3q3N +Af8UnpgZjHPxa6na7BjXwOyy7uzlUmTd/M0UMHuAreCBXMJrfrVBTnFYKyPtDYAP +mFacA+lsX0a5QjOMIP0JW5dYAKw8SFU9rzGcqdB/a2mZwxvmrY5CFVI8SZho1JK8 +y4O3HQbzrqQ3b+t5UyZt1VnCDalAZyAP+Fp0TPhlIjQpm0hc7UVyhVuDAJJeV6Sk +TyAf8othu6wREsaOkfSNwrSGVX7CMxjXxEAIQfqaLfB7xAMc7mwUn/Lac6I6L2+w +a3Ds9xwpSoxHEAYVAJmpAtT8FFh5i0Fk6wqhUIO8IP5az7ATn1Q8MnYS/Mvne5JN +/6L2CABqz0ZDzqHosTQLZ1qEBO+mhXyWsE7Pc4Ky+pmTh8xsP356nLkchvBTUlYp +BzsBG+bDCNy8mQ0z+0oEngdZgTKYK+CqejDe0iOPw/ICkh3eImyQEa3m8qep+X78 +kwIDAQABo1MwUTAdBgNVHQ4EFgQUvNYYG2Stq3PcKD3IT3GlG64ma6gwHwYDVR0j +BBgwFoAUvNYYG2Stq3PcKD3IT3GlG64ma6gwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQsFAAOCAgEAaai3vJuEsDOIX74/byY50cMmqRo+lBZuPBZANJjaKSn3 +LORSW4PqwYfyzUkdw68dj2FPNmmg9p0xmSS1eMala2PW7UGwImjcmhV+YfdP15VE +t5FcaLvi32SfSyu9PWpRRyP2ahSzaM75HWMMKfbdzgGDGOkU6UIwKyWsO5UApjQ8 +b+w5IMAK9YvmuQGaaXePDM8sFM3+NQBvsdqnsCefxx0j8FmjF3PjpTmdcm4Rlk8E +yVigb/txwmKdJutcEeFWOnQVNxWugLmYW8P/s5W5IgpIm/8wdEz1bXXV0qGD/LgL +Rhr68OtmFoVp+C6Yf0fDS1yCtmkYlO+RyYtAMOv0G29Xe+MzLQW42fAHXvBGYh/0 +F258TLHjZDOs9nHIc4lQfT7k/MusY4g9RfYSXx8Ts7kXyfyGfj6D5E/kutfXQlH3 +DYjQ/B69dhU7bkEX8nc1xwzHU18pa+APbXqjaU3JewdxY6n+PIGN4ZLZrJ3zgNRj +tGykxlnPg8oAX3HX+ssh1OpU5VMPR+4hOdJkajk6U5Oyv77h4gsbUGCIGXC+0reA +k/jHoSCloifgQ4F3WdDGjPlWO6Hgvy2/KM+JqBX/9nF/Dc0bGfa3mmYXK56xQCPb +pNd6h2elVtlmt6iZgs4WA1uCwira5p0VCCutHgeGyWK4cAE60MFdRnzRZ2r1GuU= +-----END CERTIFICATE----- diff --git a/src/test/docker/directory/certs/dhparam.pem b/src/test/docker/directory/certs/dhparam.pem new file mode 100644 index 0000000..0ad3539 --- /dev/null +++ b/src/test/docker/directory/certs/dhparam.pem @@ -0,0 +1,13 @@ +-----BEGIN DH PARAMETERS----- +MIICCAKCAgEAivlNnloXfNvrvjLMALDtw4/H330xGfEZkO88vBG30xfDB8930JF/ +dpOQNB2lXhtyoCA5FYLI0Ml8VRzASR0nmVsjg1jqycRSZtPEUCyU5KLenWJerThQ +PCPPHgM9JNfSb9GVEnyBubgTJrRjRr0Fq6/T+sHI1DVFgrIcr1iIpwjzv6AtJ4GX +7ff3QxRI5wJ9EgSqGmyAZBBP91hvg702sENAru3TxL92uBY7yx1isr4Uo4v/CE/6 +DY9q5hEyVWZzb49msZ7WXiMvVwgH2P68O90x/Dzom27mQuutW0a5sHWLFvR6RzHl +f2LDO1uFl4RifVFUe2PNXbeb9KGTFx+4HFWPojYR2L1UlE+f1fdwh8PAPB0xBTgn +jMYra0dIJcCc9Mg/PbwJ9LMkIW7APuEvx90PlCmPs2ZI67EPAKlnDDtFsI6H0Sv8 +mAZt4oMBHFZoK2+4dcjLtDaqz8Stx9ICTFqk1YETcRlK9TQDRO0ngtkQJoKJtM7F +sSP/4LcX67Nd3aE9bSY977JQec6KTGXJCa2/dIIruni3p6oFmHzSlXH+TxbtaLku +VtYDqzRYR9vG5fsanOJlacoDpBtDEMlRVg+d5v811Z4cEH1RbEy/diGGEM/8DAxq +F5S9tqzQa7tk/1IuQX9SQcBWDmXEL76L8cxijmEeK1bRH9XwNLMjyEsCAQI= +-----END DH PARAMETERS----- diff --git a/src/test/docker/directory/certs/ldap.crt b/src/test/docker/directory/certs/ldap.crt new file mode 100644 index 0000000..e05f05f --- /dev/null +++ b/src/test/docker/directory/certs/ldap.crt @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIIFCzCCAvOgAwIBAgIULEwEJFwT49CiSPKOA5EHGVKGl0gwDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJZGlyZWN0b3J5MCAXDTIxMDkxNDIxNDMwOFoYDzIwNTEw +OTE1MjE0MzA4WjAUMRIwEAYDVQQDDAlkaXJlY3RvcnkwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC+/SikxGUFYUiKjghLFPRMaYLZUHyOMWOyCIQSkZrt +Si6llB7JhN+tCaFgibPSNrKzOpF7IRJBlaEMAKN47Fncy7uGPg/3KEtuCLRUxbYv +1LgjZl2J0w/SROYIX0bsMEuThojaIxuv4D1fdaF3S7/sKnXywIncZtAqMhISiC9q +Kq9xT4twiST7SDPY/u3pdVdAjBg4R5XlF69XWtKaeCoEup9lgvyLT5dQBxdA3q3N +Af8UnpgZjHPxa6na7BjXwOyy7uzlUmTd/M0UMHuAreCBXMJrfrVBTnFYKyPtDYAP +mFacA+lsX0a5QjOMIP0JW5dYAKw8SFU9rzGcqdB/a2mZwxvmrY5CFVI8SZho1JK8 +y4O3HQbzrqQ3b+t5UyZt1VnCDalAZyAP+Fp0TPhlIjQpm0hc7UVyhVuDAJJeV6Sk +TyAf8othu6wREsaOkfSNwrSGVX7CMxjXxEAIQfqaLfB7xAMc7mwUn/Lac6I6L2+w +a3Ds9xwpSoxHEAYVAJmpAtT8FFh5i0Fk6wqhUIO8IP5az7ATn1Q8MnYS/Mvne5JN +/6L2CABqz0ZDzqHosTQLZ1qEBO+mhXyWsE7Pc4Ky+pmTh8xsP356nLkchvBTUlYp +BzsBG+bDCNy8mQ0z+0oEngdZgTKYK+CqejDe0iOPw/ICkh3eImyQEa3m8qep+X78 +kwIDAQABo1MwUTAdBgNVHQ4EFgQUvNYYG2Stq3PcKD3IT3GlG64ma6gwHwYDVR0j +BBgwFoAUvNYYG2Stq3PcKD3IT3GlG64ma6gwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQsFAAOCAgEAaai3vJuEsDOIX74/byY50cMmqRo+lBZuPBZANJjaKSn3 +LORSW4PqwYfyzUkdw68dj2FPNmmg9p0xmSS1eMala2PW7UGwImjcmhV+YfdP15VE +t5FcaLvi32SfSyu9PWpRRyP2ahSzaM75HWMMKfbdzgGDGOkU6UIwKyWsO5UApjQ8 +b+w5IMAK9YvmuQGaaXePDM8sFM3+NQBvsdqnsCefxx0j8FmjF3PjpTmdcm4Rlk8E +yVigb/txwmKdJutcEeFWOnQVNxWugLmYW8P/s5W5IgpIm/8wdEz1bXXV0qGD/LgL +Rhr68OtmFoVp+C6Yf0fDS1yCtmkYlO+RyYtAMOv0G29Xe+MzLQW42fAHXvBGYh/0 +F258TLHjZDOs9nHIc4lQfT7k/MusY4g9RfYSXx8Ts7kXyfyGfj6D5E/kutfXQlH3 +DYjQ/B69dhU7bkEX8nc1xwzHU18pa+APbXqjaU3JewdxY6n+PIGN4ZLZrJ3zgNRj +tGykxlnPg8oAX3HX+ssh1OpU5VMPR+4hOdJkajk6U5Oyv77h4gsbUGCIGXC+0reA +k/jHoSCloifgQ4F3WdDGjPlWO6Hgvy2/KM+JqBX/9nF/Dc0bGfa3mmYXK56xQCPb +pNd6h2elVtlmt6iZgs4WA1uCwira5p0VCCutHgeGyWK4cAE60MFdRnzRZ2r1GuU= +-----END CERTIFICATE----- diff --git a/src/test/docker/directory/certs/ldap.key b/src/test/docker/directory/certs/ldap.key new file mode 100644 index 0000000..3756f05 --- /dev/null +++ b/src/test/docker/directory/certs/ldap.key @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +Fq6aGlx2+ZhVYPYkzyQGiiPhkx0V1T2d +-----END PRIVATE KEY----- diff --git a/src/test/docker/docker-compose.yml b/src/test/docker/docker-compose.yml new file mode 100644 index 0000000..c0de9bc --- /dev/null +++ b/src/test/docker/docker-compose.yml @@ -0,0 +1,128 @@ +services: + reverse-proxy: + image: library/traefik:v2.2 + command: + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.web-secure.address=:443" + - "--providers.file.directory=/configuration/" + - "--providers.file.watch=true" + - "--log.level=DEBUG" + - "--serversTransport.insecureSkipVerify=true" + networks: + reverse-proxy: + aliases: + - idp.unicon.local + - cas.unicon.local + ports: + - "80:80" + - "8080:8080" + - "443:443" + - "8443:8443" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./reverse-proxy/:/configuration/ + - ./reverse-proxy/certs/:/certs/ + directory: + build: ./directory + networks: + - idp + - grouper + ports: + - 389:389 + volumes: + - directory_data:/var/lib/ldap + - directory_config:/etc/ldap/slapd.d + - ./directory/certs:/tmp/certs:ro + environment: + LDAP_BASE_DN: "dc=unicon,dc=local" + LDAP_DOMAIN: "unicon.local" + HOSTNAME: "directory" + LDAP_TLS_VERIFY_CLIENT: "try" + LDAP_SEED_INTERNAL_LDAP_TLS_CRT_FILE: /tmp/certs/ldap.crt + LDAP_SEED_INTERNAL_LDAP_TLS_KEY_FILE: /tmp/certs/ldap.key + LDAP_SEED_INTERNAL_LDAP_TLS_CA_CRT_FILE: /tmp/certs/ca.crt + LDAP_SEED_INTERNAL_LDAP_TLS_DH_PARAM_FILE: /tmp/certs/dhparam.pem + database: + image: postgres + networks: + - grouper + ports: + - 5432:5432 + environment: + POSTGRES_USER: grouper + POSTGRES_PASSWORD: grouper + POSTGRES_DB: grouper + shibboleth-idp: + build: ./shibboleth-idp + labels: + - "traefik.http.routers.idp.rule=Host(`idp.unicon.local`)" + - "traefik.http.services.idp.loadbalancer.server.port=8080" + - "traefik.http.routers.idp.tls=true" + - "traefik.docker.network=grouper-ext-auth_reverse-proxy" + - "traefik.enable=true" + depends_on: + - directory + - reverse-proxy + networks: + - idp + - reverse-proxy + #ports: + # - 8443:443 + volumes: + - ./directory/certs/ca.crt:/opt/shibboleth-idp/credentials/ldap-server.crt:ro + - ./grouper/config/sp-metadata.xml:/opt/shibboleth-idp/metadata/sp-metadata.xml:ro + healthcheck: + disable: true + grouper-ui: + build: + context: grouper + command: + - ui + labels: + - "traefik.http.routers.grouperui.rule=Host(`grouper-ui.unicon.local`)" + - "traefik.http.services.grouperui.loadbalancer.server.port=8080" + - "traefik.http.routers.grouperui.tls=true" + - "traefik.docker.network=grouper-ext-auth_reverse-proxy" + - "traefik.enable=true" + networks: + - reverse-proxy + - grouper + ports: + - 15005:15005 + volumes: + - ../../../target/grouper-authentication-plugin-0.0.1-SNAPSHOT.jar:/opt/grouper/plugins/grouper-authentication-plugin.jar + - ./grouper/config/grouper.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper.properties + ## Uncomment one of the grouper-ui.properties below depending on the authentication method + ## -- OIDC -- + - ./grouper/config/grouper-ui.properties.oidc:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper-ui.properties + ## -- SAML -- + #- ./grouper/config/grouper-ui.properties.saml:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper-ui.properties + ## -- CAS -- + #- ./grouper/config/grouper-ui.properties.cas:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper-ui.properties + - ./grouper/config/grouper-loader.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper-loader.properties + - ./grouper/config/subject.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/subject.properties + - ./shibboleth-idp/opt-shibboleth-idp/metadata/idp-metadata.xml:/opt/grouper/idp-metadata.xml + - ./grouper/certs/unicon.local.pem:/opt/grouper/certs/client/unicon.local.pem + environment: + GROUPER_DATABASE_URL: "jdbc:postgresql://database/grouper" + GROUPER_DATABASE_USERNAME: "grouper" + GROUPER_DATABASE_PASSWORD: "grouper" + GROUPER_MORPHSTRING_ENCRYPT_KEY: "THISISSUPERSECRET!" + GROUPER_AUTO_DDL_UPTOVERSION: "4.*.*" + GROUPER_RUN_TOMCAT_NOT_SUPERVISOR: "true" + GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES: "0.0.0.0/0" + RUN_SHIB_SP: "false" + GROUPER_EXTRA_CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:15005" +# GROUPER_UI_GROUPER_AUTH: "true" +# GROUPERSYSTEM_QUICKSTART_PASS: "letmein7" +networks: + reverse-proxy: + idp: + grouper: +volumes: + directory_data: + driver: local + directory_config: + driver: local \ No newline at end of file diff --git a/src/test/docker/grouper/Dockerfile b/src/test/docker/grouper/Dockerfile new file mode 100644 index 0000000..d22a412 --- /dev/null +++ b/src/test/docker/grouper/Dockerfile @@ -0,0 +1,5 @@ +ARG GROUPER_VERSION=4.7.2 + +FROM i2incommon/grouper:${GROUPER_VERSION} + +COPY config/server.xml /opt/tomcat/conf \ No newline at end of file diff --git a/src/test/docker/grouper/certs/unicon.local.pem b/src/test/docker/grouper/certs/unicon.local.pem new file mode 100644 index 0000000..8d45927 --- /dev/null +++ b/src/test/docker/grouper/certs/unicon.local.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCDCCAfCgAwIBAgIJANdpvkovSXs6MA0GCSqGSIb3DQEBCwUAMBkxFzAVBgNV +BAMMDioudW5pY29uLmxvY2FsMB4XDTIwMDUyNzE3MzE1OVoXDTMwMDUyNzE3MzE1 +OVowGTEXMBUGA1UEAwwOKi51bmljb24ubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQCh9zduMpOqWDPfx5vHSBoWDwk44cc8XdFCD7nqi9EPHewO +jAKCVihWKGa3OX6kQ4g6VIE7PCqdvtjq6eJ54FKuJ7FiFQweuaUXlXx5tdiWYfVe ++BV7jaLJGy0iniPgx8Pu9ajQOOINcmLwixYkTe+OBfeMgeivk0+o58/Lmkl2FyAv +IvGA2Glxf8QtxQwHgtQLU3aHRlgi6YHSIxolvX+CuDvj4xsgLBdCphYkJtUXmaKO +frQRxnHVxUUptWptqbwJPxrOMnIIdteRnduo+/i0RZ33+tC5W61Cr2uyoDGUzmKE +HKgfTMxLeqJLtm+sB74xmI3Fsnq3qfWajZLqUyz5AgMBAAGjUzBRMB0GA1UdDgQW +BBROeSN15J2wAW9OMZAdPIz84DEOsjAfBgNVHSMEGDAWgBROeSN15J2wAW9OMZAd +PIz84DEOsjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQASo38W +sqw8vijAs3DSYUCjFjlAvlwjsXU0y4IpelmgYSWD0Lqfb9/5jEu06F8hzLMSzmAL +4UKIX6TwtLQb3HLvYObbjhaSSYG0Tl702dANW499QlHF/gYsCb9C6oA+5jzfHd7Y +LS8bUv6gZkC3rP1E0kCGLJGrtvdMniAPuZ8W25SFedpR0iR7+d+lg9oOBsgjkWGc +eKNtSJvic5dyZQCDlEzXVa3lyBOrawW9J/Sqhm0v3Tar1CVKoeXU3QV/bx7s8TWH +YvaxQ82dOsGwZDMmPHhnJQDIQqjt2H9RJjrJy440RwyLiDr1A3/AJxrqpz98QONG +FOhuJQXDH3YGDP7B +-----END CERTIFICATE----- diff --git a/src/test/docker/grouper/config/grouper-loader.properties b/src/test/docker/grouper/config/grouper-loader.properties new file mode 100644 index 0000000..d374e5f --- /dev/null +++ b/src/test/docker/grouper/config/grouper-loader.properties @@ -0,0 +1,9 @@ +ldap.ldap.pass = admin +ldap.ldap.searchResultHandlers = org.ldaptive.handler.DnAttributeEntryHandler,edu.internet2.middleware.grouper.ldap.ldaptive.GrouperRangeEntryHandler +ldap.ldap.uiTestAttributeName = uid +ldap.ldap.uiTestExpectedValue = GrouperSystem +ldap.ldap.uiTestFilter = uid=GrouperSystem +ldap.ldap.uiTestSearchDn = ou=People,dc=unicon,dc=local +ldap.ldap.uiTestSearchScope = SUBTREE_SCOPE +ldap.ldap.url = ldap://directory +ldap.ldap.user = cn=admin,dc=unicon,dc=local \ No newline at end of file diff --git a/src/test/docker/grouper/config/grouper-ui.properties.cas b/src/test/docker/grouper/config/grouper-ui.properties.cas new file mode 100644 index 0000000..214520d --- /dev/null +++ b/src/test/docker/grouper/config/grouper-ui.properties.cas @@ -0,0 +1,7 @@ +grouper.is.extAuth.enabled = true +external.authentication.grouperContextUrl = https://grouper-ui.unicon.local/grouper + +# Note for CAS: you'll need to make sure that the CAS server SSL certificate is available in the trust store +external.authentication.provider = cas +external.authentication.cas.prefixUrl = https://idp.unicon.local/idp/profile/cas +external.authentication.cas.protocol = CAS20 diff --git a/src/test/docker/grouper/config/grouper-ui.properties.oidc b/src/test/docker/grouper/config/grouper-ui.properties.oidc new file mode 100644 index 0000000..d491c90 --- /dev/null +++ b/src/test/docker/grouper/config/grouper-ui.properties.oidc @@ -0,0 +1,8 @@ +grouper.is.extAuth.enabled = true +external.authentication.grouperContextUrl = https://grouper-ui.unicon.local/grouper + +external.authentication.provider = oidc +external.authentication.oidc.clientId = grouper +external.authentication.oidc.discoveryURI = https://idp.unicon.local/idp/profile/oidc/configuration +external.authentication.oidc.secret = thisisverysecret +external.authentication.oidc.claimAsUsername = preferred_username diff --git a/src/test/docker/grouper/config/grouper-ui.properties.saml b/src/test/docker/grouper/config/grouper-ui.properties.saml new file mode 100644 index 0000000..5416ec1 --- /dev/null +++ b/src/test/docker/grouper/config/grouper-ui.properties.saml @@ -0,0 +1,12 @@ +grouper.is.extAuth.enabled = true +external.authentication.grouperContextUrl = https://grouper-ui.unicon.local/grouper + +external.authentication.provider = saml +external.authentication.saml.identityProviderEntityId = https://idp.unicon.local/idp/shibboleth +external.authentication.saml.serviceProviderEntityId = http://localhost:8080/grouper +external.authentication.saml.serviceProviderMetadataPath = file:/opt/grouper/sp-metadata.xml +external.authentication.saml.identityProviderMetadataPath = file:/opt/grouper/idp-metadata.xml +external.authentication.saml.keystorePath = file:/opt/grouper/here.key +external.authentication.saml.keystorePassword = testme +external.authentication.saml.privateKeyPassword = testme +external.authentication.saml.attributeAsId = urn:oid:0.9.2342.19200300.100.1.1 diff --git a/src/test/docker/grouper/config/grouper.properties b/src/test/docker/grouper/config/grouper.properties new file mode 100644 index 0000000..c79c59d --- /dev/null +++ b/src/test/docker/grouper/config/grouper.properties @@ -0,0 +1,6 @@ +grouper.osgi.enable = true +grouper.osgi.jar.dir = /opt/grouper/plugins +grouper.osgi.framework.boot.delegation=org.osgi.*,javax.*,org.apache.commons.logging,edu.internet2.middleware.grouperClient.*,edu.internet2.middleware.grouper.*,org.w3c.*,org.xml.*,sun.* + +grouperOsgiPlugin.0.jarName = grouper-authentication-plugin.jar + diff --git a/src/test/docker/grouper/config/here.key b/src/test/docker/grouper/config/here.key new file mode 100644 index 0000000..623e461 Binary files /dev/null and b/src/test/docker/grouper/config/here.key differ diff --git a/src/test/docker/grouper/config/idp-metadata.xml b/src/test/docker/grouper/config/idp-metadata.xml new file mode 100644 index 0000000..0c0924b --- /dev/null +++ b/src/test/docker/grouper/config/idp-metadata.xml @@ -0,0 +1,82 @@ + + + + + + + unicon.net + + Unicon, Inc. + Login service for Unicon Employees + https://idp.unicon.net/logo_135_0.png + + + + + + + + MIIDIzCCAgugAwIBAgIUIEHTfbStY0ckKZzxIgqd5p1O2K0wDQYJKoZIhvcNAQEF + BQAwGTEXMBUGA1UEAxMOaWRwLnVuaWNvbi5uZXQwHhcNMTEwOTEzMDMyMzE2WhcN + MzEwOTEzMDMyMzE2WjAZMRcwFQYDVQQDEw5pZHAudW5pY29uLm5ldDCCASIwDQYJ + KoZIhvcNAQEBBQADggEPADCCAQoCggEBANtUsFXxlhvD3bWT5Y7TqKkf5rxa+dPA + z7vpbJ6bWhDPSMXb/9MiJe/ciY5ZKKrB1rdRC04s7blrzem3YtjGihfGd4ld+NRt + Pi0xoAT2YIp83CvEe5BHAKwqD7KTonN1unbN84mVo65itbme9d8lZKc0PfLM+BQp + fhXKUBfYeBCkYU4YWxmgL4Vs7XBaKjEjpTN4ncar4YSrarWTTPyO5RzmVPLAcv88 + 1OBqewTyN41+JRXt0Jopi4ZQ8JjKkm73vhoYDBPHr/VMqk1lFfrDcDwJa2ygyWCm + qTlq6zyLE9Fr6sYz6CbgA2lAqu/b1rYCqVCnRpoHZKahAQ9uGQSfHD8CAwEAAaNj + MGEwQAYDVR0RBDkwN4IOaWRwLnVuaWNvbi5uZXSGJWh0dHBzOi8vaWRwLnVuaWNv + bi5uZXQvaWRwL3NoaWJib2xldGgwHQYDVR0OBBYEFK6yUrpGjvY3B09ke0kVl4wA + CMAnMA0GCSqGSIb3DQEBBQUAA4IBAQDG/gMpr3N+nAMuo7RhtDBsckiJV2+BwT/r + JmpxlHAV1Zgc3eeuOdyxm5/jA78tspLldL0+6W/LzZWov/je36IqVT1wSGy1n0Sc + Pjw8DHgyEJLCij2vVScV+j/Y4Eg0bVy6pZTeQW+e3ygb6WgiVT/ARM8QBp6GjAUC + qIlJCads9Rcx3vAih72I4exUUD4qMuBMeLIdY5XReHy5YHqxbkPjQhDIEORAFlzJ + jLqO/Ldzn4waEa5snDZyeYjsl6pi+8CVGfXLSDVsDuk5s47B9OD+gOSJ1wEc7O/N + nU9d/WCcM1V4IGZGL8TXUdfJoVXYZUFF08jUGSL2mj30WS1orIWo + + + + + + + + + + + MIIDIzCCAgugAwIBAgIUIEHTfbStY0ckKZzxIgqd5p1O2K0wDQYJKoZIhvcNAQEF + BQAwGTEXMBUGA1UEAxMOaWRwLnVuaWNvbi5uZXQwHhcNMTEwOTEzMDMyMzE2WhcN + MzEwOTEzMDMyMzE2WjAZMRcwFQYDVQQDEw5pZHAudW5pY29uLm5ldDCCASIwDQYJ + KoZIhvcNAQEBBQADggEPADCCAQoCggEBANtUsFXxlhvD3bWT5Y7TqKkf5rxa+dPA + z7vpbJ6bWhDPSMXb/9MiJe/ciY5ZKKrB1rdRC04s7blrzem3YtjGihfGd4ld+NRt + Pi0xoAT2YIp83CvEe5BHAKwqD7KTonN1unbN84mVo65itbme9d8lZKc0PfLM+BQp + fhXKUBfYeBCkYU4YWxmgL4Vs7XBaKjEjpTN4ncar4YSrarWTTPyO5RzmVPLAcv88 + 1OBqewTyN41+JRXt0Jopi4ZQ8JjKkm73vhoYDBPHr/VMqk1lFfrDcDwJa2ygyWCm + qTlq6zyLE9Fr6sYz6CbgA2lAqu/b1rYCqVCnRpoHZKahAQ9uGQSfHD8CAwEAAaNj + MGEwQAYDVR0RBDkwN4IOaWRwLnVuaWNvbi5uZXSGJWh0dHBzOi8vaWRwLnVuaWNv + bi5uZXQvaWRwL3NoaWJib2xldGgwHQYDVR0OBBYEFK6yUrpGjvY3B09ke0kVl4wA + CMAnMA0GCSqGSIb3DQEBBQUAA4IBAQDG/gMpr3N+nAMuo7RhtDBsckiJV2+BwT/r + JmpxlHAV1Zgc3eeuOdyxm5/jA78tspLldL0+6W/LzZWov/je36IqVT1wSGy1n0Sc + Pjw8DHgyEJLCij2vVScV+j/Y4Eg0bVy6pZTeQW+e3ygb6WgiVT/ARM8QBp6GjAUC + qIlJCads9Rcx3vAih72I4exUUD4qMuBMeLIdY5XReHy5YHqxbkPjQhDIEORAFlzJ + jLqO/Ldzn4waEa5snDZyeYjsl6pi+8CVGfXLSDVsDuk5s47B9OD+gOSJ1wEc7O/N + nU9d/WCcM1V4IGZGL8TXUdfJoVXYZUFF08jUGSL2mj30WS1orIWo + + + + + + + urn:mace:shibboleth:1.0:nameIdentifier + urn:oasis:names:tc:SAML:2.0:nameid-format:transient + + + + + + + + diff --git a/src/test/docker/grouper/config/server.xml b/src/test/docker/grouper/config/server.xml new file mode 100644 index 0000000..020454a --- /dev/null +++ b/src/test/docker/grouper/config/server.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/grouper/config/sp-metadata.xml b/src/test/docker/grouper/config/sp-metadata.xml new file mode 100644 index 0000000..0eafaf1 --- /dev/null +++ b/src/test/docker/grouper/config/sp-metadata.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + MIICpzCCAY+gAwIBAgIBATANBgkqhkiG9w0BAQUFADAXMRUwEwYDVQQDDAw3ZjQ2MDUyOGJmNDMw +HhcNMjIxMDExMjEyNTI1WhcNNDIxMDA2MjEyNTI2WjAXMRUwEwYDVQQDDAw3ZjQ2MDUyOGJmNDMw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCEDAR6ciBbe1LyWi0jsP6VdispOJ0pVgLn +fVjjHracpI/zrfGcbagYXv/ysYOaPGQXYekyPcblHyoxVZO0MrfkWuLs/NPTdg95UWIielbImlA4 +LvFoqtJ07K9XeKBZaX5HW5xArSD/qqQtRtCcyLCTUdM/SXWDn7yyvhpNqHsKzX7FxuXc4BjviWq8 +wjMAZ+S56/w1NxZsADce1ijbVi6MewdEM3zRxg4O3IDPLdFwVxDH75xxD5IY6WPjEZ1CuxpaLD0Z +1NvWYfBBzYVmG8YgBKjPdyNSnaw2gSKMsIjfkgwLTHYmy9Z+H42PdvZV81c6GH2HXzZzNkSYQl2R +c0BLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBABWWxmja8ueZ0VnMqBYqoWFZRnjT/imasJS/Hnmb +XKtATfn3aYe/Q4eIKcbodFLeEWG2SJqOiOjErRgg3tf0JabIPJqEgVT2M0LrIwsPekj2jK9LKJns +kCQJtjglAXlJYDuuXvmwSIPjfrWLrPDtM9zpjmNlMQ30r47sp7zS4r4Vhl7Tc5EUxntvowuhdqRm +dIBeKQ7bL7vZTRV26C8+Mv+kjejZuv0HDbrh1sLtuhfGtd1NnzROJrUAjpTJve+8ZOPF6W0KB9WZ +m4MfW8ZoAwN+fq7pXVEVzwYZGFZBb1IE0Llhs1k9BfAoLhE4+HT17VOEnyG/TCPBPFyXQKh9TYo= + + + + + + + + + urn:oasis:names:tc:SAML:2.0:nameid-format:transient + urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + + + diff --git a/src/test/docker/grouper/config/subject.properties b/src/test/docker/grouper/config/subject.properties new file mode 100644 index 0000000..2e0dbe8 --- /dev/null +++ b/src/test/docker/grouper/config/subject.properties @@ -0,0 +1,26 @@ +subjectApi.source.ldap.adapterClass = edu.internet2.middleware.grouper.subj.GrouperLdapSourceAdapter2_5 +subjectApi.source.ldap.attribute.0.name = uid +subjectApi.source.ldap.attribute.0.subjectIdentifier = true +subjectApi.source.ldap.attribute.0.translationType = sourceAttributeSameAsSubjectAttribute +subjectApi.source.ldap.attribute.1.name = cn +subjectApi.source.ldap.attribute.1.translationType = sourceAttributeSameAsSubjectAttribute +subjectApi.source.ldap.id = ldap +subjectApi.source.ldap.name = ldap +subjectApi.source.ldap.numberOfAttributes = 2 +subjectApi.source.ldap.param.Description_AttributeType.value = cn +subjectApi.source.ldap.param.Name_AttributeType.value = cn +subjectApi.source.ldap.param.SubjectID_AttributeType.value = uid +subjectApi.source.ldap.param.ldapServerId.value = ldap +subjectApi.source.ldap.param.subjectIdentifierAttribute0.value = uid +subjectApi.source.ldap.search.search.param.filter.value = (&(!(uid=GrouperSystem))(|(uid=%TERM%)(cn=*%TERM%*))) +subjectApi.source.ldap.search.searchSubject.param.base.value = ou=People,dc=unicon,dc=local +subjectApi.source.ldap.search.searchSubject.param.filter.value = (&(!(uid=GrouperSystem))(uid=%TERM%)) +subjectApi.source.ldap.search.searchSubject.param.scope.value = SUBTREE_SCOPE +subjectApi.source.ldap.search.searchSubjectByIdentifier.param.filter.value = (&(!(uid=GrouperSystem))(uid=%TERM%)) +subjectApi.source.ldap.searchAttribute.0.attributeName = uid +subjectApi.source.ldap.searchAttribute.1.attributeName = cn +subjectApi.source.ldap.searchAttributeCount = 2 +subjectApi.source.ldap.sortAttribute.0.attributeName = uid +subjectApi.source.ldap.sortAttribute.1.attributeName = cn +subjectApi.source.ldap.sortAttributeCount = 2 +subjectApi.source.ldap.types = person diff --git a/src/test/docker/reverse-proxy/certs/star.unicon.local.crt b/src/test/docker/reverse-proxy/certs/star.unicon.local.crt new file mode 100644 index 0000000..8d45927 --- /dev/null +++ b/src/test/docker/reverse-proxy/certs/star.unicon.local.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCDCCAfCgAwIBAgIJANdpvkovSXs6MA0GCSqGSIb3DQEBCwUAMBkxFzAVBgNV +BAMMDioudW5pY29uLmxvY2FsMB4XDTIwMDUyNzE3MzE1OVoXDTMwMDUyNzE3MzE1 +OVowGTEXMBUGA1UEAwwOKi51bmljb24ubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQCh9zduMpOqWDPfx5vHSBoWDwk44cc8XdFCD7nqi9EPHewO +jAKCVihWKGa3OX6kQ4g6VIE7PCqdvtjq6eJ54FKuJ7FiFQweuaUXlXx5tdiWYfVe ++BV7jaLJGy0iniPgx8Pu9ajQOOINcmLwixYkTe+OBfeMgeivk0+o58/Lmkl2FyAv +IvGA2Glxf8QtxQwHgtQLU3aHRlgi6YHSIxolvX+CuDvj4xsgLBdCphYkJtUXmaKO +frQRxnHVxUUptWptqbwJPxrOMnIIdteRnduo+/i0RZ33+tC5W61Cr2uyoDGUzmKE +HKgfTMxLeqJLtm+sB74xmI3Fsnq3qfWajZLqUyz5AgMBAAGjUzBRMB0GA1UdDgQW +BBROeSN15J2wAW9OMZAdPIz84DEOsjAfBgNVHSMEGDAWgBROeSN15J2wAW9OMZAd +PIz84DEOsjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQASo38W +sqw8vijAs3DSYUCjFjlAvlwjsXU0y4IpelmgYSWD0Lqfb9/5jEu06F8hzLMSzmAL +4UKIX6TwtLQb3HLvYObbjhaSSYG0Tl702dANW499QlHF/gYsCb9C6oA+5jzfHd7Y +LS8bUv6gZkC3rP1E0kCGLJGrtvdMniAPuZ8W25SFedpR0iR7+d+lg9oOBsgjkWGc +eKNtSJvic5dyZQCDlEzXVa3lyBOrawW9J/Sqhm0v3Tar1CVKoeXU3QV/bx7s8TWH +YvaxQ82dOsGwZDMmPHhnJQDIQqjt2H9RJjrJy440RwyLiDr1A3/AJxrqpz98QONG +FOhuJQXDH3YGDP7B +-----END CERTIFICATE----- diff --git a/src/test/docker/reverse-proxy/certs/star.unicon.local.key b/src/test/docker/reverse-proxy/certs/star.unicon.local.key new file mode 100644 index 0000000..2042008 --- /dev/null +++ b/src/test/docker/reverse-proxy/certs/star.unicon.local.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCh9zduMpOqWDPf +x5vHSBoWDwk44cc8XdFCD7nqi9EPHewOjAKCVihWKGa3OX6kQ4g6VIE7PCqdvtjq +6eJ54FKuJ7FiFQweuaUXlXx5tdiWYfVe+BV7jaLJGy0iniPgx8Pu9ajQOOINcmLw +ixYkTe+OBfeMgeivk0+o58/Lmkl2FyAvIvGA2Glxf8QtxQwHgtQLU3aHRlgi6YHS +IxolvX+CuDvj4xsgLBdCphYkJtUXmaKOfrQRxnHVxUUptWptqbwJPxrOMnIIdteR +nduo+/i0RZ33+tC5W61Cr2uyoDGUzmKEHKgfTMxLeqJLtm+sB74xmI3Fsnq3qfWa +jZLqUyz5AgMBAAECggEAD5EuT7YmwTmnCrwpudaxQyuAzGnO93tg8IOIcAWuO1C5 +7pAAcbyMNfO+I6AwDuO6xTh4D1RyGCVOvg1qyiIIcFq6Tt4NAyr+tiyVATG8NoAF +0HHxxqVPXxrwlKI0epdYuq/74L+G4pn67nm/0A95leH28BdQYQe8oVRegYg7xVC+ +hFNQATLro1NXPfOtujn47/HjIHBBd2Or6dgj/Jh0niFg6Ts3LCgoxZVJeOVTqFht +26tpyMygeE2UpDIDlJjpO+YWTBIMV2i5MuoDAjQDlunaWyrz+Uo4LHaqGrBKkqri +3qhcWI0mGDIw4JPupNStpKXsOBdDCobi80taaKIIgQKBgQDVgVLOAKJu2xMH3/k/ +Fkj1GOugJ+cFvNiXZbwsxc3T5v5InoBeit4MoHSbATFt5EM4oxRD0LOAnkkdJAS3 +2k3nwQkBxR+AWc/9Tugxtyg84oaMrQ3kgwVMWEyFfDjtnAXzJ/vhUvkLaQXKRuW4 +Bpmd0BfZTVmnD6o7KAjCVoBVsQKBgQDCM9CIG6rJ7gxkd0tOOfIXcReG8jGve1tG +8WDg6JhdL/ITBx4y6m9ez/P9BNn9BJixCbkkcwvRro/pCYZG7rNWQsr/9AxiUk/a +91oaGyiPhe6ly5/HlaIyUBPejr3clPL29UFe7CEWiuc/DdhuIrblWziSaX5K8n9d +C85ECkZ1yQKBgDPgfHI5jT5KVNFxBmrhy1Bigb4kc+nc/POscJCgb2axlc+nU6Gl +NFb1FeAj5hLBh+PXHDFuIG98Bl/iRJM3o/5P1RRtBT52lCcEaT7LNie1EuRTmDCR +9VObkNxOVrbFVlzCtl0FgCXZmuKPX3nbgK/rxB+0v7fsAnzlOVufEQfBAoGAUSkQ +ZGGTrdJzkWUdrrKez1cvKvF6/EiEbBCimTv7uS45b+RQpZy+MJSd9kcZxxktqwdS +Pb5q2RWoBQ8689f8UPeXGQLoTgryXqNzH2fsOpcRlm6T9vg9EePPefqTtGT3aWg0 +CrSKW35viDWEFvshDpdh/CZkZnQT8FHnwR2+NqkCgYEAh9ZygpT21hZGMPUjk8j8 +Qo8+K33p08+Sf4LsSQMy9uq5+rcZ3/0S/bZeSHSQgVxba1S61WvE3MGz779f3A8U +GKUnCR9HfZpbw2ziVzKsJUqfq9q1bsy3LSJUNfJfEJWshSh8DNCyDv/y4HON53Il +yOQugjsEbN6Be3D0FBCFYlc= +-----END PRIVATE KEY----- diff --git a/src/test/docker/reverse-proxy/configuration/certificates.yml b/src/test/docker/reverse-proxy/configuration/certificates.yml new file mode 100644 index 0000000..88abe44 --- /dev/null +++ b/src/test/docker/reverse-proxy/configuration/certificates.yml @@ -0,0 +1,9 @@ +tls: + certificates: + - certFile: /certs/star.unicon.local.crt + keyFile: /certs/star.unicon.local.key + stores: + default: + defaultCertificate: + certFile: /certs/star.unicon.local.crt + keyFile: /certs/star.unicon.local.key \ No newline at end of file diff --git a/src/test/docker/shibboleth-idp/Dockerfile b/src/test/docker/shibboleth-idp/Dockerfile new file mode 100644 index 0000000..36d46a0 --- /dev/null +++ b/src/test/docker/shibboleth-idp/Dockerfile @@ -0,0 +1,61 @@ +FROM tier/shib-idp:4.3.1_20231218 + +WORKDIR /opt/shibboleth-idp + +COPY plugin-truststore/net.shibboleth.oidc.common/truststore.asc /opt/shibboleth-idp/credentials/net.shibboleth.oidc.common/ +COPY plugin-truststore/net.shibboleth.idp.plugin.oidc.config/truststore.asc /opt/shibboleth-idp/credentials/net.shibboleth.idp.plugin.oidc.config/ +COPY plugin-truststore/net.shibboleth.idp.plugin.oidc.op/truststore.asc /opt/shibboleth-idp/credentials/net.shibboleth.idp.plugin.oidc.op/ + +RUN bin/plugin.sh --noPrompt -I net.shibboleth.oidc.common \ + && bin/plugin.sh --noPrompt -I net.shibboleth.idp.plugin.oidc.config \ + && bin/plugin.sh --noPrompt -I net.shibboleth.idp.plugin.oidc.op + +COPY tomcat/server.xml /usr/local/tomcat/conf/ + +COPY opt-shibboleth-idp/ /opt/shibboleth-idp/ + +EXPOSE 8080 + + +#FROM amazoncorretto:17 as install +# +#ARG TOMCAT_VERSION=10.1.15 +# +#COPY keys/* /tmp/keys/ +# +#RUN yum install -y tar gzip +# +#RUN gpg --import /tmp/keys/TOMCAT_PGP_KEYS +# +#RUN curl -L https://archive.apache.org/dist/tomcat/tomcat-10/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz -o apache-tomcat-$TOMCAT_VERSION.tar.gz \ +# && curl https://archive.apache.org/dist/tomcat/tomcat-10/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.asc -o apache-tomcat-$TOMCAT_VERSION.tar.gz.asc \ +# && gpg --verify apache-tomcat-$TOMCAT_VERSION.tar.gz.asc apache-tomcat-$TOMCAT_VERSION.tar.gz \ +# && tar -zxvf apache-tomcat-$TOMCAT_VERSION.tar.gz -C /opt \ +# && rm apache-tomcat-$TOMCAT_VERSION.tar.gz \ +# && mv /opt/apache-tomcat-$TOMCAT_VERSION/ /opt/tomcat \ +# && rm -rf /opt/tomcat/webapps/* +# +#FROM amazoncorretto:17 as shib-setup +# +#RUN yum install -y dos2unix +# +#COPY opt-shibboleth-idp /opt/shibboleth-idp/ +# +#RUN dos2unix /opt/shibboleth-idp/bin/*.sh \ +# && chmod +x /opt/shibboleth-idp/bin/*.sh +# +#FROM amazoncorretto:17 as prod +# +#COPY --from=install /opt/tomcat /opt/tomcat/ +# +#COPY --from=shib-setup /opt/shibboleth-idp /opt/shibboleth-idp/ +# +#COPY tomcat/idp.xml /opt/tomcat/conf/Catalina/localhost/ +#COPY tomcat/server.xml /opt/tomcat/conf/ +#COPY tomcat/setenv.sh /opt/tomcat/bin/ +# +#ENTRYPOINT /opt/shibboleth-idp/bin/build.sh && /opt/tomcat/bin/catalina.sh run +# +#FROM prod as dev +# +#FROM prod \ No newline at end of file diff --git a/src/test/docker/shibboleth-idp/keys/SHIB_PGP_KEYS b/src/test/docker/shibboleth-idp/keys/SHIB_PGP_KEYS new file mode 100644 index 0000000..b24752c --- /dev/null +++ b/src/test/docker/shibboleth-idp/keys/SHIB_PGP_KEYS @@ -0,0 +1,1273 @@ +This file contains the PGP keys of Shibboleth Project developers. + +To import these keys into your keyring: + + pgp < PGP_KEYS +or gpg --import PGP_KEYS + +pub rsa4096 2020-02-05 [SC] [expires: 2024-02-05] + 6D18FD63708FCCA079B68CCE026691839355EBCA +uid Henri Mikkonen +sub rsa4096 2020-02-05 [E] [expires: 2024-02-05] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +A+i1fd0Gifis1HhBeA== +=ObHY +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096/9A804E97D7079C77 2011-09-28 [SC] + 5E6D6EAE16C3DA75450B219C9A804E97D7079C77 +uid [ultimate] Ian A. Young +uid [ultimate] [jpeg image of size 6036] +sub rsa4096/8DEB9861925A5C31 2016-04-21 [E] [expires: 2020-04-21] +sub rsa4096/8F903CADB1E5A937 2020-02-26 [S] [expires: 2022-02-25] +sub rsa4096/5762741A3B7BA448 2020-02-26 [E] [expires: 2025-02-24] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +Y5TOjSYpNFq8k/b5t2hVcRI6OcPe +=Eh7Q +-----END PGP PUBLIC KEY BLOCK----- + +OBS security:shibboleth RPM repository key + +pub dsa1024 2008-06-30 [SC] [expires: 2021-04-07] + 6519B5DB7C1C8340A954ED0073C937457D0A1B3D +uid security:shibboleth OBS Project + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQGiBEholYgRBACW/kTYZi5mAEMP8j1qui2bRnWmYblFbiZvb5JMJYUWL/jyMjHj +LLJvVrnOre/AxexH9KmaJwBuNoa/X9l/tQGIb49QRhR346QQUbQcwlYpckg5ccqN +qlAURHEdjCxRxMhzPs+C/F6Nqa/fHpAectW0JNRqAVVd9CWjCG3l6I2CywCgk9UI +SUAvaB5bVMxEVrFAKrVh4MUEAISeUwOaTIZftIamjo0VrnYemHS4SmGqMALEtHeG +/o7ecMhLb/MvreEVISrE1hbfmnObYoiVXWJrorOEZDh1hOVdGRkHJOYHvQSRp9uC +/uy4Mmog4R7ba5Ct5wpw0RCav2HMqwOJEyCX6jnip5P5LMmaFdGg/RQZM/e9mbyF +VeL0A/0WK//+VWrQya1rQIG+v4IZ+rWvrkqXKtrzELkWd/3vWNMXi4BfeBM/itLQ +yYOdhnx55FHxBzv+dK+UErrdTM8Ingljy7oztV/G6+K15CcGvEy9ITb62v2bDdS2 +uYWEFOQJK+I6aU4paNysvtKsOlTt9FhyfJJW9G3kJDUBPM9HbLRIc2VjdXJpdHk6 +c2hpYmJvbGV0aCBPQlMgUHJvamVjdCA8c2VjdXJpdHk6c2hpYmJvbGV0aEBidWls +ZC5vcGVuc3VzZS5vcmc+iGYEExECACYFAlxPWy4CGwMFCRgFdaYGCwkIBwMCBBUC +CAMEFgIDAQIeAQIXgAAKCRBzyTdFfQobPTnPAJ9GIje/01bOgXnoE8nr64WpM/tG +CQCfZNUmLRrK292z7hyP2lr1WdvVFpuIRgQTEQIABgUCSGiViAAKCRA7MBG3a51l +Iy3vAKCUPurlZup+vzQtpij3FMo0JAVW9ACgjdkt/hWt0WsjfHb+/cPwXtgx9X8= +=IAAZ +-----END PGP PUBLIC KEY BLOCK----- + + +pub rsa4096 2021-02-25 [SC] + B5B5DD332142AD657E8D87AC7D27E610B8A3DC52 +uid [ultimate] Philip David Smart +uid [ultimate] [jpeg image of size 9378] +sub rsa4096 2021-02-25 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +YnBsaXN0MDBPEQIARwJMAlECVQJSAksCQwI7AiwCGgJzAc4AkACIAIgAfwBLAlIC +VgJWAk4CRgI+AjECIALKAY8AfwB5AIAAgQCAAE4CVwJaAlYCTgJEAjgCJQIPAjMB +cAB3AIwAigCWAI8ATAJWAlcCUAJGAjoCKwISAuMBogBlAJIAiQCOAI0AkgBKAlIC +UAJHAjoCKgIWAvQBagF4AHQAkQCFAIUAjACLAEkCSgL2AfoAvADiAI4BiQGxAHEA +awCDAHkAegB+AIEARQKBAU0A0ACxAOEA4gC9AK4AmQCJAGMAaAB5AHUAbgBBAgQB +eQAYAbQAxwDVALkApADdAMkAkACDAHwAagBlADsC9gByACIBBAG9AKwAmACGALsA +0ACvAF4AZgBvAHgAMQIJAVAA7wCLAKsAvwCdAG0AeQBfAGQAbwB8AHQAdQAmAuYB +twB1AHYArgDcAAwBxgBiAGEAagBxAHcAbwBwAB0CGgL/AbQBowGdAYcBeAExAXMA +bQB2AHUAdABrAGcAGAIZAg0C+QHoAdoBxQGoAXIBrQBfAHYAcwByAGoAaAAVAhkC +FAIJAvwB6AHNAbABjwEWAWYAZgB5AGoAcwBmABMCEwIPAgQC+AHlAcoBswGbAX4B +zQBhAHIAaQBrAGEAEAINAgkC/wH0AeIByQGzAaABjAF8AVMBAwHgAHAAcgAACAAA +AAAAAAIBAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAIMYnBsaXN0MDDUAQIDBAUGBwhV +ZmxhZ3NVdmFsdWVZdGltZXNjYWxlVWVwb2NoEAETAAAFOs53irESO5rKABAACBEX +HSctLzg9AAAAAAAAAQEAAAAAAAAACQAAAAAAAAAAAAAAAAAAAD///8bBAAocvP// +tgwAAEoR///7/QAK1g8AAAA7AAABAAAAAGUAAAEANDJEQ0FBN0QtMDE1NC00QTU5 +LUI2NjUtN0E2QUI2QUZDODhEAABxODI1cwAAP9XfAA//tQA/1d8AD/+1AAAACQAA +AAUAAAAJAAAABUFwcGxlAGlQaG9uZSA3IGJhY2sgY2FtZXJhIDMuOTltbSBmLzEu +OAAADQABAAIAAAACTgAAAAACAAUAAAADAAAHhgADAAIAAAACVwAAAAAEAAUAAAAD +AAAHngAFAAEAAAABAAAAAAAGAAUAAAABAAAHtgAMAAIAAAACSwAAAAANAAUAAAAB +AAAHvgAQAAIAAAACVAAAAAARAAUAAAABAAAHxgAXAAIAAAACVAAAAAAYAAUAAAAB +AAAHzgAfAAUAAAABAAAH1gAAAAAAAAAzAAAAAQAAACAAAAABAAAOUAAAAGQAAAAD +AAAAAQAAAAsAAAABAAAVgwAAAGQAAFm9AAAA2QAAAK0AAASeAADdhQAAAVgAAN2F +AAABWAAAAAgAAAAB/+ENV2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94 +cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi +Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0i +WE1QIENvcmUgNi4wLjAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cu +dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0 +aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20v +eGFwLzEuMC8iIHhtbG5zOm13Zy1ycz0iaHR0cDovL3d3dy5tZXRhZGF0YXdvcmtp +bmdncm91cC5jb20vc2NoZW1hcy9yZWdpb25zLyIgeG1sbnM6c3RBcmVhPSJodHRw +Oi8vbnMuYWRvYmUuY29tL3htcC9zVHlwZS9BcmVhIyIgeG1sbnM6YXBwbGUtZmk9 +Imh0dHA6Ly9ucy5hcHBsZS5jb20vZmFjZWluZm8vMS4wLyIgeG1sbnM6c3REaW09 +Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9EaW1lbnNpb25zIyIg +eG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8x +LjAvIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wNy0xNlQxMDowNzozOC43MTAiIHht +cDpDcmVhdG9yVG9vbD0iMTEuNCIgeG1wOk1vZGlmeURhdGU9IjIwMTgtMDctMTZU +MTA6MDc6MzgiIHBob3Rvc2hvcDpEYXRlQ3JlYXRlZD0iMjAxOC0wNy0xNlQxMDow +NzozOC43MTAiPiA8bXdnLXJzOlJlZ2lvbnMgcmRmOnBhcnNlVHlwZT0iUmVzb3Vy +Y2UiPiA8bXdnLXJzOlJlZ2lvbkxpc3Q+IDxyZGY6U2VxPiA8cmRmOmxpPiA8cmRm +OkRlc2NyaXB0aW9uIG13Zy1yczpUeXBlPSJGYWNlIj4gPG13Zy1yczpBcmVhIHN0 +QXJlYTp5PSIwLjUxMjk5OTk5OTk5OTk5OTkiIHN0QXJlYTp3PSIwLjIzNzk5OTk5 +OTk5OTk5OTk5IiBzdEFyZWE6eD0iMC4zNzEiIHN0QXJlYTpoPSIwLjMxNzk5OTk5 +OTk5OTk5OTk1IiBzdEFyZWE6dW5pdD0ibm9ybWFsaXplZCIvPiA8bXdnLXJzOkV4 +dGVuc2lvbnMgYXBwbGUtZmk6QW5nbGVJbmZvWWF3PSIwIiBhcHBsZS1maTpBbmds +ZUluZm9Sb2xsPSIyNzAiIGFwcGxlLWZpOkNvbmZpZGVuY2VMZXZlbD0iMTAwMCIg +YXBwbGUtZmk6VGltZXN0YW1wPSIxMzc5OTk5MjE0NTAiIGFwcGxlLWZpOkZhY2VJ +RD0iOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6bGk+IDwvcmRmOlNlcT4g +PC9td2ctcnM6UmVnaW9uTGlzdD4gPG13Zy1yczpBcHBsaWVkVG9EaW1lbnNpb25z +IHN0RGltOmg9IjMwMjQiIHN0RGltOnc9IjQwMzIiIHN0RGltOnVuaXQ9InBpeGVs +Ii8+IDwvbXdnLXJzOlJlZ2lvbnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS +REY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IDw/eHBhY2tldCBlbmQ9InciPz4A/+0AeFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAA +AAA/HAFaAAMbJUccAgAAAgACHAI/AAYxMDA3MzgcAj4ACDIwMTgwNzE2HAI3AAgy +MDE4MDcxNhwCPAAGMTAwNzM4ADhCSU0EJQAAAAAAEDhosdEEN5jDgBMX/jOR6uL/ +4gJASUNDX1BST0ZJTEUAAQEAAAIwQURCRQIQAABtbnRyUkdCIFhZWiAH0AAIAAsA +EwAzADthY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADT +LUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAApjcHJ0AAAA/AAAADJkZXNjAAABMAAAAGt3dHB0AAABnAAAABRia3B0AAAB +sAAAABRyVFJDAAABxAAAAA5nVFJDAAAB1AAAAA5iVFJDAAAB5AAAAA5yWFlaAAAB +9AAAABRnWFlaAAACCAAAABRiWFlaAAACHAAAABR0ZXh0AAAAAENvcHlyaWdodCAy +MDAwIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkAAAAZGVzYwAAAAAAAAARQWRv +YmUgUkdCICgxOTk4KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFla +IAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAGN1cnYAAAAAAAAA +AQIzAABjdXJ2AAAAAAAAAAECMwAAY3VydgAAAAAAAAABAjMAAFhZWiAAAAAAAACc +GAAAT6UAAAT8WFlaIAAAAAAAADSNAACgLAAAD5VYWVogAAAAAAAAJjEAABAvAAC+ +nP/AABEIAOoAlgMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUG +BwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGR +oQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZX +WFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0 +tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAf +AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAAB +AncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZ +GiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SF +hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY +2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDABgYGBgYGCkYGCk6KSkpOk46Ojo6TmNO +Tk5OTmN3Y2NjY2Njd3d3d3d3d3ePj4+Pj4+np6enp7u7u7u7u7u7u7v/2wBDAR0f +HzAsMFIsLFLEhW2FxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE +xMTExMTExMTExMTExMT/3QAEAAr/2gAMAwEAAhEDEQA/AOiooorIsKWkpCeKAGSt +sXd7gfnxT9wqi8iS25EhxvB4rBTVZSoB7Dcfc+1OwHWFgOppEkSTlCDiufTVmlh2 +qm6U/ePRf8+1VLG4Ed7tfKq2QQTjB7fhRYLnS3cxgt3kHUf1OKZZ3X2qJXA+v/1q +r6oQdPkwecA/kar2d0FgDHaoAwq5xnFAG5nFZ0uoJHP9nAJY7cY/2j/SoG1SPB4z +jrgg/p1rnPOK3ImB4DA59s/4UJCO79qRTuUN61Ue6jEYlB4HWnCeOJUjY84GPekM +t0UwNlQTTgQRkd6AFooooAKKKKAP/9DoqKSjNZGg2Rwi5Nc9PfSNumU/KDtUfpml +1e43MIkPQfzrJnYIn2fqUb/P86aQmxUb92ZZSSOijPXsapFuc0Fj07U0+tWSA+Xk +U8nNRZ7GnAdqBEvnSsuwu2PTJx+VOE8mzys8Diq3qKePWgY7dTs5ph9aTPFAEyzO +FxkkccH26VZ+1O8quxyRWeOuacDzSsB2KXQOU9CfyqS0nEm1QehK/lXLQyupJzkd +639JBbLntuP5n/6xqWijcooopAFFFFAH/9HoapidRvLnGDVusfUYiFMy9+DWJoYu +oPmdZBwSM/nVAsScnrUs8hkbmq+01oiBevSjZ3pMEc07LUwGEUmakwTQUNADCc0A +4p2w04RMe1AWGGm1Y8lvSk8lvSlcLEGaUU8xkdaZimBNGecnvXWaRg25I45x+Vce +DitXTLsQzjeflKkH+Y/LmkxnZUUxHV1DqQQehHSn1AwooopiP//S3jVO8YJbuxPA +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 +pD0= +=h3zk +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096 2020-02-25 [SC] + 8740208C0E93FEC80EEBF913B77C52EEC21771DD +uid [ full ] philsmart (gpg key) +sub rsa4096 2020-02-25 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=Xrom +-----END PGP PUBLIC KEY BLOCK----- + +pub dsa1024 2007-01-30 [SCA] [expires: 2021-03-20] + F4FCEFBF07F9E397A9345B9D4D37705B61CB0B3F +uid [ full ] Brent Putman +sig 3 4D37705B61CB0B3F 2021-03-19 Brent Putman +sig EF40FC29EA2882BB 2012-04-25 Ian A. Young +sig 57C5CCD598A1618C 2012-04-25 Rod Widdowson (RDW4096) +sig 9A804E97D7079C77 2012-04-25 Ian A. Young +sig 378B845402277962 2012-04-27 Scott Cantor +sig A0B3CB09D2B37353 2012-05-06 Chad La Joie +sig 49A1796B9B494CB8 2021-03-19 Brent Putman +sub elg2048 2007-01-30 [E] [expires: 2021-03-20] +sig 4D37705B61CB0B3F 2021-03-19 Brent Putman + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=UXmh +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096 2021-03-19 [SC] + 0E0CA56D354132B5E646C25F49A1796B9B494CB8 +uid [ultimate] Brent Putman +sig 3 49A1796B9B494CB8 2021-03-19 Brent Putman +sig 4D37705B61CB0B3F 2021-03-19 Brent Putman +sub rsa4096 2021-03-19 [E] +sig 49A1796B9B494CB8 2021-03-19 Brent Putman + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGBVBOABEADBLsUa6QnLsmeR3omq+V75BlCyfBnklK3ooRyUul34kgmoMIu4 +3GZFV5yWiicTpBDT8uF464EXq83H6gYYSYck8XgzuRDNNN/MwMFNf8Qdf3LVVN7A +XE9NrsSCfHBr0Klf/wkCLY6ruHmdQLCv43BXziayJHPWyMBphUOHOihFiCI+3K6c +wQ4PXTjkSbhedPmgNlC3AR3PjUd3+KDN5BYBlqYeW16qdF6ZFv5PSPKUhU3+yvd2 +LhTVez1bWuJJJDxbz4TD7C9yboPFQ1rG/wZvzv5hTRP9VuBjjPyF8NCXYhWOQduG +K2e76OZRNHgjBYUhdmkP2aSOefxUjHI02J2leyOakX/CkA/UWzSsdx6fkREB12uT +75mlnT820Qmuni40xO5LBv5Y2aZw9Q3xaWk48VYGixMPQIdMSCJjcJ2KqQVfciiE +2gncL75h5D3XLERKWQJqGdkYxrSziLuPAL20QckcFKcaSWuegU2MbrqqcfgA4VuY +CAcDHVey2MHnFvkrozuCXaD9cpGMGfX7cgJU2X1gGrpI08+rI9tOccgpoxATiCAC +BAjA8ipL9wliH42pTp4wKzng45ctS2d7ZTmilEJvZoTfOnADA2dZT3xLiWEhJcwd +6q29jGOUQmEKZQCp8a8mTQflBBLbqvE/wsOfdMzigrwbttVHX/DXcI+F9wARAQAB +tCVCcmVudCBQdXRtYW4gPHB1dG1hbmJAZ2VvcmdldG93bi5lZHU+iQJOBBMBCgA4 +FiEEDgylbTVBMrXmRsJfSaF5a5tJTLgFAmBVBOACGwMFCwkIBwMFFQoJCAsFFgID +AQACHgECF4AACgkQSaF5a5tJTLiiCg//Ty8xCZAcoY/C4IpKHyt7AMzhQb2P4aJu +F7xk2R/EdhcHXrATzf7/JQdohml8vuay8rBniH/SyUEHbIak6OtHH7HoX4Eb5MSd +7CaE77hd8Kw3GvD/aRGne77BAwCNKNWSEo1RJpnf3R3UtfNDCbVuOatkrsym4CDC +2kHScP0yvxrLU0gQxRIEQaoPcBXLmZZzyeqo1wvxuqT5J/ixGiB4PomHrf3f8ZFh +ynZEPmTyg1fIybDuHdjgKjkzlRobzbDkcLrHH3/wLMM8rxCAaGhhCt2zRMIbOmCf +OQxdF3CT5jJRJtfkGwkZ6ig9s/e64Tolli+lVHcx0z2szgO+EQQj1ELAV9irWq5J +Klmf+1WDqbqICzEwm1Rtj0qEM3jXSRhifspxfzj674u6TK4nJ5lJE7cBqGKT6rXH +FFKKGtT9r/8dPwd0foG0dGwyLNMFv81dhxqvPTPbxKTuyB1G65WQj/D1YvqB6h9S +rxebqAw80dMyDmo64hVSv8zzqYL3lR/gWRacf87yUVsnp39xyM2k1wuYusexJViY +unqLUyL3kH7YodgCDfoXlM0dc7cDbsJWFqHuzqLxDj9HzGnTcUt8BHadJT46RgYb +h7j7GIy9AkYy2b6nRkN/A8x/nlq2Xs5b5NEyyzkwEiK7aj9KmXEtFR9WVg7KqjXs +VYXm7OTDuGSIXQQQEQoAHRYhBPT8778H+eOXqTRbnU03cFthyws/BQJgVQ6NAAoJ +EE03cFthyws/U9AAn1WVOCIcl610MlmJ3lCm+eD+dxgLAKCKL0BGICM5MaZXWQxG +Ptb3/aTOhrkCDQRgVQTgARAA4KS4RhDN4WZmrGimC/N5m+h/qIDOaovLPYOEZGm5 +kJEQSLj59C+sHoRjlEIPcZTUFU3B9NlcHMCiNui8RkWn+TvqO1gLQ4tUV0zPBAMC +QO8HUk51yKVwzYYMhz8OSUplpkWnxc0q8cAUFEqMrs4uWcbgDmlx1My/l4tqXpbU +O+bhN0MvZdsj/vzQUl0pcFSzm3rfIL3DN1iedCM2ui1UNh2Jv/rnKgl0rG9qUfhN +HgbW13T6BkTb3svDPhXYoOvOvU0BCHZXHEHc+kn5mOlsLLZAcvehIc8RzwKfW91U +S2KwcvZed7LiegNJm8EZdVpit7Twj1aPBOiWOsbWzseYEwgvkRXnfdbhy+LHygrb +p8qXhqFssMTwjFDm3SS235Gt+xX9vlc2y5Yqc4mcCI+so8FsW1ZLtYuiTCk/mG+Q +zMQ8t4HcnKB5GLyE30rVsuIq/1AsgxWAOpmtOXZOyqPVqG7eBtMWY8Ezl8utYmtH +HI3g9jQqFFbhnp5cr5MIoC6RsaSXhVbm92xta1ZR+c1B910x1zP8vYGX2nxgs9ff +olqLK2Bg0UJNpcJYbh1FMn3YzkEfrh61JiyPXV6UByYSLMML0Kb3vzCKQBSmHswN +51i34a8IralF4i2AT4sxphmyjbrlpumH4YVaCo9MCkK2aVKSYsV0ZAvp+1zXxz3Y +/V0AEQEAAYkCNgQYAQoAIBYhBA4MpW01QTK15kbCX0mheWubSUy4BQJgVQTgAhsM +AAoJEEmheWubSUy4YhIP/0/SG759CDN67R8MpeQzF1HNm5g5CouMXkd627K+lWwG +/VQwUD5AFYnXz8gGHeH1z49myLX/NF2azMbpTRmxce3APZzzC9v/Pk2J9/iR2vl0 +Qz3l3FWJZdh3xhwmamPxYiUHk07Njd6aIEp4ycjt9Yi8kIcmcF6cm/ioTPbeKmDD +4onO4CyZpb/n5augGW12eznx9iktoIbR7e4hGUTQBzYoydq/bqr2UrC7a3tvdjbm +F8IFrWeu+XG34JqhK3hqzbenYLLfZ43RjXl2MyweQGEry8XenecHWRw6BL8IJxtX +zFHfhbdrfZWtGPeHtU3SzOTBehvElY7P/JVezustiPlGDDzWGkxrR6fR3edccNzG +uSICThyx3zsm+cQhxS/S0LZCfADaEmcvEmBiNAXlm4ZcuAq0FiiIVIQbe5+LW57a +DZSefZa5f93YIIJEbaApumXetxRvA4I1BX/4qBbbB+cnHSZKV7MAFlxeNYWPdftS +MnH7K8PjMv6COveVsyHmsX9Ikoet+NW9YxWZlfWcboMkTDbbjbKKWqWoGYNC06DV +nG6/MXUvpJWdqv2UOTozdpb3lcg9f5yr6gJdmjCuhQuhuuyxDaJvl1luvx9jfasF +9me8O9a70d57htKwjrwyqHpf8UCwqz3qUf/fFYq9Xqb5IMr8YtnLXdrYoG+PrZ/q +=FpHm +-----END PGP PUBLIC KEY BLOCK----- + +pub 4096R/2A4B3FF0 2019-09-18 +uid Rod Widdowson +sub 4096R/441D628D 2019-09-18 + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +HEdQFQ== +=/gwj +-----END PGP PUBLIC KEY BLOCK----- + +pub 4096R/02277962 2011-09-22 +uid Scott Cantor +sig 3 02277962 2011-09-22 Scott Cantor +sig 3 30A2362E 2011-09-23 Brian Swaney +sig 47905D15 2011-09-26 Scott Cantor (Internet2) +sig EA2882BB 2011-09-28 Ian A. Young +sig A9D7AF55 2011-09-24 Michael Craft +sig D7079C77 2011-09-28 Ian A. Young +sig D2B37353 2011-10-11 Chad La Joie +sub 4096R/5B94AC0C 2011-09-22 +sig 02277962 2011-09-22 Scott Cantor + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.11 (Darwin) + +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 +=ShRP +-----END PGP PUBLIC KEY BLOCK----- + +pub 4096R/07CEEB8B 2012-10-29 +uid Tom Zeller +sig 3 07CEEB8B 2012-10-29 Tom Zeller +sig 3C9895A6 2012-10-29 Tom Zeller +sub 4096R/86D072E7 2012-10-29 +sig 07CEEB8B 2012-10-29 Tom Zeller + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (Darwin) + +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 +KA== +=aCf0 +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/src/test/docker/shibboleth-idp/keys/TOMCAT_PGP_KEYS b/src/test/docker/shibboleth-idp/keys/TOMCAT_PGP_KEYS new file mode 100644 index 0000000..6b7231f --- /dev/null +++ b/src/test/docker/shibboleth-idp/keys/TOMCAT_PGP_KEYS @@ -0,0 +1,562 @@ +This file contains the PGP&GPG keys of various Apache developers. +Please don't use them for email unless you have to. Their main +purpose is code signing. + +Apache users: pgp < KEYS +Apache developers: + (pgpk -ll && pgpk -xa ) >> this file. + or + (gpg --fingerprint --list-sigs + && gpg --armor --export ) >> this file. + +Apache developers: please ensure that your key is also available via the +PGP keyservers (such as pgpkeys.mit.edu). + + +pub 4096R/2F6059E7 2009-09-18 + Key fingerprint = A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7 +uid Mark E D Thomas +sub 4096R/5E763BEC 2009-09-18 + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: GPGTools - http://gpgtools.org + +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 +c3EtcnwlXI07qk8nmCl1XudlS5KHeJ5axWLEDNJCvEuJGy4moaFllwmTUtxDzRK/ +zG6QSJEPfH8VZiEl6HBpgzlBB5aToxc+Wy7UpGzwaNrA6KvwSaB+jSxrZYtHbwBq +2U3ttmamynBF1izPuOeJAn4EEAECAGgFAksM3mcgHFNhbmRlciBUZW1tZSA8c2Fu +ZGVyQHRlbW1lLm5ldD4iHFNhbmRlciBUZW1tZSA8c2N0ZW1tZUBhcGFjaGUub3Jn +Ph0cU2FuZGVyIFRlbW1lIDxzYW5kZXJAbWUuY29tPgAKCRCbuGOw9Ru4igbUD/9+ ++F4uqkO+F6g1QNiyFM47K1NaFLga/lNp72mOOIlZMORXpBJGeL9DhbDvN5KIQqR4 +I5wCONGtzeU8P7M+uLapFZmofROABlACUeVhOPx8fOCeNz9xU4f33dKJJnAsIfis +SMMyJR9Xz/IbNWvM6Kb7hU+L86G2cZPD8uvZ7oHyY4wZWtjTHM0ne/usodJffxIj +oQFhn0vAC8hBNWStI8UUih+n+iqvvXA2cB9v3Ni3VjQOGLKSZ5Ke2jpKdYTl5zST +frHfjgjGvIdkWz0hbVMzL+urU9oIChBK6Nr3DxY/XvO8PmFGh7V+M9C/gahLCrNz +fD3vKGi7OYkp6dODPnREpOSZ7elGO5mGQnSosqzrLb7kw/vEobBbxsYDwxxl+ONZ +8yxUaBpvRIrwqNEwb1YxlMCLnpRs7TJxxitq+zF7F0MxB5sqdLHSNqxcfbxpTflz +Tn/H9h34aF7f4Qkn276XKIomhge4su7jxHNH/G9gTk6oicdalBFRMFwBRpaOivno +FmSGa1Yt7C1mBBQkRXjw52ZRx8MHKnccNNgpk5Xc7+VT9nqmoulq1JfzLsrtu4D1 +TaleWOVN4X4FYk3S2VWxLV5dhmuCy7hP0ZsXOTBjLXC5wMxJcp7I3IlIx39a6U7O +vhWbguPxyXR3AjBUsMRfO0pGZKXxDI3N+yHOWAtDcokCkwQQAQIAfQUCTNK0KDUc +SmltIEphZ2llbHNraSAoUmVsZWFzZSBTaWduaW5nIEtleSkgPGppbUBhcGFjaGUu +b3JnPiAcSmltIEphZ2llbHNraSA8amltQGphZ3VORVQuY29tPh8cSmltIEphZ2ll +bHNraSA8amltQGppbWphZy5jb20+AAoJEDTqduZ5FIWo/wEP/immECQXMIMQ9zj7 +4RU2R6YV7Slzc3YATfjwOgOwzQ3qF+UTSHui7eiYoHOwRK0OTKW6fe7bh9/XeWLB +sglUl+RNuvCNHAQNg9/p7x9mJL05e3OnGpVLVnq/yQezCWo1GWIPxodwmoyI2C3S +iUapfKN1q0Ml6nwZOyHsgNCFYDVhmtEnIcK7/PXLpeYTpTBuXETZZQY++XyZDiVI +le2W3uxrY0k8zVPvGSXGIh2iHtAuCrJoNKY+webEe5QVNoAYnNyu5de+50gpQOr+ +wYsvuf7S1MAPAX2L48U/JvpBfDikZR8qujvCDAAe0bnom/Ov/eWtnONi4hpsD4T3 +kcElxWOph3mEm1YUksGmoWE0FvE6o7r04XF+VrIA/YwcgC5wGgGmYFU4DR384hMZ +1EMAsd8cKdYBja/PA4BTcA6Vc0uJVFaB8o117m7r7sHKRsD7CHbbKcK8ZtRNDQa3 +SzTMqLhsRDRl5wp9Bwq6l++BKPpvEnpbs8SdW+TxrxpM/0aIhQ6ZS5RKJvhZK3Ap +3cgYBVW23CwPtVc+40/t8XqBRRlzbLdfWhEC+FU4f9RHS+DQRFSxl/xXeLtDBH75 +1WbhkRIRTktQxapEDuRFfd02Oeo356/r0TYUQHL4bwYEbTBm+HO1KJn64BCaUMOU +pW881K8SHQaHMr1iiQUpvMkTcofRiQKpBBABAgCTBQJM0uOxIBxTYW5kZXIgVGVt +bWUgPHNhbmRlckB0ZW1tZS5uZXQ+IhxTYW5kZXIgVGVtbWUgPHNjdGVtbWVAYXBh +Y2hlLm9yZz4dHFNhbmRlciBUZW1tZSA8c2FuZGVyQG1lLmNvbT4qHFNhbmRlciBU +ZW1tZSA8c2N0ZW1tZUBrZXlzaW50aGVjbG91ZC5jb20+AAoJEJu4Y7D1G7iKG0YP +/3AweZFnchITlhDdEkozl8M89VZGTBqfU6Rg7mNxL/HDnJRtBBGXmSQ5NLygX+kS +PKci3KRbjbeVEmEcWs/ZfzxN4gR+6y8ohUOaA0UDrZYctYkzG1d7HbkcM1lmvtde +Gelj1j/+eu4LRu5h9oczkqRnWV5xnqz7xsEH9Rrcgm39RpNzFf43Joo25iqdVGk4 +yBVjoHQsnD1qZwdZQ0EHxYozNkGfa6j7VXAzCYVstfRMPGKrYH/xRg2jNy750z/p +apgT3GXbpvcB9Z3gj2LRn+FKLxoH2WLf2DabdzyZz9KXfnG4ZeOd2BrFXexKT2MQ +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 +yZUcTCEB33B2jQ9z0XUEp+6B2F5iZQ== +=4AB7 +-----END PGP PUBLIC KEY BLOCK----- +pub rsa4096 2012-05-08 [SCEA] + 5C3C 5F3E 314C 8662 92F3 59A8 F3AD 5C94 A67F 707E +uid [ultimate] Christopher Schultz +uid [ultimate] Christopher Schultz +uid [ultimate] Christopher Schultz +uid [ultimate] Christopher Schultz +sub rsa4096 2012-05-08 [SEA] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +NwUqv9cUGhf+Di0nAX1diWxfd7DdEi8= +=6zfV +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/access-control.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/access-control.xml new file mode 100644 index 0000000..4b1a63e --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/access-control.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attribute-filter.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attribute-filter.xml new file mode 100644 index 0000000..4c53130 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attribute-filter.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attribute-resolver.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attribute-resolver.xml new file mode 100644 index 0000000..25ba1ce --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attribute-resolver.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attributes/default-rules.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attributes/default-rules.xml new file mode 100644 index 0000000..298b976 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attributes/default-rules.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attributes/oidc-claim-rules.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attributes/oidc-claim-rules.xml new file mode 100644 index 0000000..9de853b --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/attributes/oidc-claim-rules.xml @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + displayName + OIDCStringTranscoder + name + Display name + Anzeigename + Nom + Nome + 表示名 + The name that should appear in white-pages-like applications for this person. + Anzeigename + Nom complet d'affichage + Nome + アプリケーションでの表示に用いられる英字氏名 + + + + + + + + givenName + OIDCStringTranscoder + given_name + Given name + Vorname + Prénom + Nome + + Given name of a person + Vorname + Prénom de l'utilisateur + Nome + 氏名(名)の英語表記 + + + + + + + + homePhone + OIDCStringTranscoder + phone_number + Private phone number + Telefon Privat + Teléphone personnel + Numero di telefono privato + 自宅電話番号 + Private phone number + Private Telefonnummer + Numéro de téléphone de domicile de la personne + Numero di telefono privato + 自宅の電話番号 + + + + + + + + mail + OIDCStringTranscoder + email + E-mail + E-Mail + Email + E-mail + メールアドレス + E-Mail: Preferred address for e-mail to be sent to this person + E-Mail-Adresse + E-Mail Adresse + Adresse de courrier électronique + E-Mail: l'indirizzo e-mail preferito dall'utente + メールアドレス + + + + + + + + preferredLanguage + OIDCStringTranscoder + locale + Preferred Language + Bevorzugte Sprache + Langue préférée + Lingua preferita + 希望言語 + Preferred language: Users preferred language (see RFC1766) + Bevorzugte Sprache (siehe RFC1766) + Exemple: fr, de, it, en, ... (voir RFC1766) + Lingua preferita: la lingua preferita dall'utente (cfr. RFC1766) + 利用者が希望する言語(RFC1766 を参照) + + + + + + + + sn + OIDCStringTranscoder + family_name + Surname + Nachname + Nom de famille + Cognome + + Surname or family name + Familienname + Nom de famille de l'utilisateur. + Cognome dell'utilizzatore + 氏名(姓)の英語表記 + + + + + + + + telephoneNumber + OIDCStringTranscoder + phone_number + Business phone number + Telefon Geschäft + Teléphone professionnel + Numero di telefono dell'ufficio + 所属機関内電話番号 + Business phone number: Office or campus phone number + Telefonnummer am Arbeitsplatz + Teléphone de l'institut, de l'université + Numero di telefono dell'ufficio + 所属機関での利用者の電話番号 + + + + + + + + uid + OIDCStringTranscoder + preferred_username + User ID + Benutzer-ID + ID utilisateur + ID dell'utente + ユーザID + A unique identifier for a person, mainly used for user identification within the user's home organization. + Eine eindeutige Nummer für eine Person, welche hauptsächlich zur Identifikation innerhalb der Organisation benutzt wird. + Identifiant de connexion d'une personnes sur les systèmes informatiques. + Identificativo unico della persona, usato per l'identificazione dell'utente all'interno della organizzazione di appartenenza. + 所属機関内で一意の利用者識別子 + + + + + + + + + + eduPersonNickname + OIDCStringTranscoder + nickname + Nickname + Kurzname + Übername + Surnom + Diminutivo + ニックネーム + Person's nickname, or the informal name by which they are accustomed to be hailed. + Kurzname einer Person, oder üblicher Rufname zur Begrüßung. + Übername einer Person, oder üblicher Rufname zur Begrüssung. + Nom personnalisable pour un usage informel. + Diminutivo della persona, o soprannome. + 利用者のニックネームもしくは通称 + + + + + + + + + + eduPersonAssurance + OIDCStringTranscoder + eduPersonAssurance + Assurance level + Vertrauensgrad + Niveau de confiance + Livello di sicurezza + 保証レベル + Set of URIs that assert compliance with specific standards for identity assurance. + URIs die eine gewisse Zusicherung für spezifische Standards des Vertrauens beinhalten + Un ensemble d'URI qui attestent la conformité selon un standard pour les niveaux d'assurance d'identités + Un insieme di URI che asseriscono l'osservanza dei livelli di sicurezza richiesti + IDの保証レベルに関して特定の基準に準拠していることを示すURI + + + + + + + + eduPersonEntitlement + OIDCStringTranscoder + eduPersonEntitlement + Entitlement + Berechtigung + Entitlement + Prerogativa + 資格情報 + Member of: URI (either URL or URN) that indicates a set of rights to specific resources based on an agreement across the releavant community + Zeichenkette, die Rechte für spezifische Ressourcen beschreibt + Membre de: URI (soit une URL ou une URN) décrivant un droit spécific d'accès. + Membro delle seguenti URI (sia URL o URN) che rappresentano diritti specifici d'accesso validi in tutta la communità + 特定のアプリケーションもしくはコミュニティ内の複数リソースへのアクセス権限を持つことを示すURI(URLもしくはURN) + + + + + + + + eduPersonPrincipalName + OIDCScopedStringTranscoder + eduPersonPrincipalName + Principal name + Persönliche ID + Principal Name + Principal Name + プリンシパルID + A unique identifier for a person, mainly for inter-institutional user identification. + Eindeutige Benutzeridentifikation + Eindeutige Benützeridentifikation + L'identifiant unique de l'utilisateur + Un ID personale che identifica chiaramente l'utente in seno alla sua organizzazione + フェデレーション内で一意かつ永続的な利用者識別子 + + + + + + + + eduPersonScopedAffiliation + OIDCScopedStringTranscoder + eduPersonScopedAffiliation + Scoped affiliation + Zugehörigkeit + Affiliation + Tipo di membro + スコープ付き職位 + Specifies the person's affiliation within a particular security domain + Art der Zugehörigkeit zur Heimatorganisation + Art der Zugehörigkeit zur Heimorganisation + Type d'affiliation dans l'organisation + Tipo di membro: Tipo di lavoro svolto per l'organizzazione + セキュリティドメインのスコープが付いた所属機関における職位 + + + + + + + + + + address + OIDCStringTranscoder + true + address + Postal address + + + + + + + + birthdate + OIDCStringTranscoder + birthdate + Date of birth + + + + + + + + email_verified + OIDCStringTranscoder + email_verified + true + E-mail verification status + Indicates whether e-mail address has been verified by the issuer + + + + + + + + gender + OIDCStringTranscoder + gender + Gender + + + + + + + + middle_name + OIDCStringTranscoder + middle_name + Middle name + + + + + + + + phone_number_verified + OIDCStringTranscoder + phone_number_verified + true + Phone number verification status + Indicates whether phone number has been verified by the issuer + + + + + + + + picture + OIDCStringTranscoder + picture + Picture + URL of personal photo + + + + + + + + profile + OIDCStringTranscoder + profile + Profile page + URL of personal profile page + + + + + + + + website + OIDCStringTranscoder + website + Web site + URL to personal web site + + + + + + + + updated_at + OIDCStringTranscoder + updated_at + true + Last update of information + + + + + + + + zoneinfo + OIDCStringTranscoder + zoneinfo + Time zone + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/authn/oauth2client-authn-config.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/authn/oauth2client-authn-config.xml new file mode 100644 index 0000000..e00b9c8 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/authn/oauth2client-authn-config.xml @@ -0,0 +1,30 @@ + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/cas-protocol.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/cas-protocol.xml new file mode 100644 index 0000000..bb0e9d0 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/cas-protocol.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/credentials.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/credentials.xml new file mode 100644 index 0000000..68dc9b8 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/credentials.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/idp.properties b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/idp.properties new file mode 100644 index 0000000..3b47302 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/idp.properties @@ -0,0 +1,259 @@ +# Set false if you do not want the IdP to check (asynchronously) whether +# it can be updated or not when the container starts +#idp.updateCheck.enable=true + +# Auto-load all files matching conf/**/*.properties +# Disable if you want to manually maintain a list of sources. +idp.searchForProperties=true + +# Load any "outside-tree" property sources from a comma-delimited list +idp.additionalProperties=/credentials/secrets.properties + +# In most cases (and unless noted in the surrounding comments) the +# commented settings in the distributed files document default behavior. +# Uncomment them and change the value to change functionality. +# +# Uncommented properties are either required or ship non-defaulted. + +# Set the entityID of the IdP +idp.entityID=https://idp.unicon.local/idp/shibboleth + +# Set the file path which backs the IdP's own metadata publishing endpoint at /shibboleth. +# Set to empty value to disable and return a 404. +#idp.entityID.metadataFile=%{idp.home}/metadata/idp-metadata.xml + +# Set the scope used in the attribute resolver for scoped attributes +idp.scope=unicon.local + +# General cookie properties (maxAge only applies to persistent cookies) +#idp.cookie.secure = true +#idp.cookie.httpOnly = true +#idp.cookie.domain = +# Note the path is now / to allow defaulting to __Host- prefixed names. +#idp.cookie.path = / +#idp.cookie.maxAge = 31536000 +# These control operation of the SameSite filter, which is off by default. +#idp.cookie.sameSite = None +#idp.cookie.sameSiteCondition = shibboleth.Conditions.FALSE + +# Enable cross-site request forgery mitigation for views. +idp.csrf.enabled=true +# Name of the HTTP parameter that stores the CSRF token. +#idp.csrf.token.parameter = csrf_token + +# HSTS/CSP response headers +#idp.hsts = max-age=31536000 +# X-Frame-Options value, set to DENY or SAMEORIGIN to block framing +#idp.frameoptions = DENY +# Content-Security-Policy value, set to match X-Frame-Options default +#idp.csp = frame-ancestors 'none'; + +# Set to false to disable filter that forcibly applies UTF-8 encoding +#idp.encoding.forceUTF8 = true + +# Enable and control MDC filter +#idp.logging.MDC.enabled = true +#idp.logging.MDC.createSession = true + +# Set the location of user-supplied web flow definitions +#idp.webflows = %{idp.home}/flows + +# Set the location of Velocity view templates +#idp.views = %{idp.home}/views + +# Do we fail on velocity "syntax errors" +#idp.velocity.runtime.strictmode=false + +# Settings for internal AES encryption key +#idp.sealer.keyStrategy = shibboleth.DataSealerKeyStrategy +#idp.sealer.storeType = JCEKS +#idp.sealer.updateInterval = PT15M +#idp.sealer.aliasBase = secret +idp.sealer.storeResource=%{idp.home}/credentials/sealer.jks +idp.sealer.versionResource=%{idp.home}/credentials/sealer.kver + +# Settings for public/private signing and encryption key(s): +# During decryption key rollover, point the ".2" properties at a second +# keypair, uncomment in credentials.xml, then publish it in your metadata. +idp.signing.key=%{idp.home}/credentials/idp-signing.key +idp.signing.cert=%{idp.home}/credentials/idp-signing.crt +idp.encryption.key=%{idp.home}/credentials/idp-encryption.key +idp.encryption.cert=%{idp.home}/credentials/idp-encryption.crt +#idp.encryption.key.2 = %{idp.home}/credentials/idp-encryption-old.key +#idp.encryption.cert.2 = %{idp.home}/credentials/idp-encryption-old.crt + +# Sets the bean ID to use as a default security configuration set +#idp.security.config = shibboleth.DefaultSecurityConfiguration + +# To downgrade to SHA-1, set to shibboleth.SigningConfiguration.SHA1 +#idp.signing.config = shibboleth.SigningConfiguration.SHA256 + +# The new install default for encryption is now AES-GCM. +idp.encryption.config=shibboleth.EncryptionConfiguration.GCM + +# Sets the default strategy for key agreement key wrap usage for credentials from metadata, +# if not otherwise configured on the security configuration +#idp.encryption.keyagreement.metadata.defaultUseKeyWrap = Default + +# Configures trust evaluation of keys used by services at runtime +# Internal default is Chaining, overriden for new installs +idp.trust.signatures=shibboleth.ExplicitKeySignatureTrustEngine +# Other options: +# shibboleth.ChainingSignatureTrustEngine, shibboleth.PKIXSignatureTrustEngine +idp.trust.certificates=shibboleth.ExplicitKeyX509TrustEngine +# Other options: +# shibboleth.ChainingX509TrustEngine, shibboleth.PKIXX509TrustEngine + +# If true, encryption will happen whenever a key to use can be located, but +# failure to encrypt won't result in request failure. +idp.encryption.optional = true + +# Configuration of client- and server-side storage plugins +#idp.storage.cleanupInterval = PT10M +idp.storage.htmlLocalStorage=true +#idp.storage.clientSessionStorageName = shib_idp_session_ss +#idp.storage.clientPersistentStorageName = shib_idp_persistent_ss + +# Set to true to expose more detailed errors in responses to SPs +#idp.errors.detailed = false +# Set to false to skip signing of SAML response messages that signal errors +#idp.errors.signed = true +# Name of bean containing a list of Java exception classes to ignore +#idp.errors.excludedExceptions = ExceptionClassListBean +# Name of bean containing a property set mapping exception names to views +#idp.errors.exceptionMappings = ExceptionToViewPropertyBean +# Set if a different default view name for events and exceptions is needed +#idp.errors.defaultView = error + +# Set to false to disable the IdP session layer +#idp.session.enabled = true + +# Set to true to rely on persistent cookies for session management +#idp.session.persistent = false + +# Set to "shibboleth.StorageService" for server-side storage of user sessions +#idp.session.StorageService = shibboleth.ClientSessionStorageService + +# Name of cookie used for session +#idp.session.cookieName = __Host-shib_idp_session +# Size of session IDs +#idp.session.idSize = 32 +# Bind sessions to IP addresses +#idp.session.consistentAddress = true +# Inactivity timeout +#idp.session.timeout = PT60M +# Extra time to store sessions for logout +#idp.session.slop = PT0S +# Tolerate storage-related errors +#idp.session.maskStorageFailure = false +# Track information about SPs logged into +idp.session.trackSPSessions=true +# Support lookup by SP for SAML logout +idp.session.secondaryServiceIndex=true +# Length of time to track SP sessions +#idp.session.defaultSPlifetime = PT2H + +# Set to "shibboleth.StorageService" or custom bean for alternate storage of consent +#idp.consent.StorageService = shibboleth.ClientPersistentStorageService + +# Default consent auditing formats +#idp.consent.terms-of-use.auditFormat = %T|%SP|%e|%u|%CCI|%CCV|%CCA +#idp.consent.attribute-release.auditFormat = %T|%SP|%e|%u|%CCI|%CCV|%CCA + +# Set to "shibboleth.consent.AttributeConsentStorageKey" to use an attribute +# to key user consent storage records (and set the attribute name) +#idp.consent.attribute-release.userStorageKey = shibboleth.consent.PrincipalConsentStorageKey +#idp.consent.attribute-release.userStorageKeyAttribute = uid +#idp.consent.terms-of-use.userStorageKey = shibboleth.consent.PrincipalConsentStorageKey +#idp.consent.terms-of-use.userStorageKeyAttribute = uid + +# Suffix of message property used as value of consent storage records when idp.consent.compareValues is true. +# Defaults to text displayed to the user. +#idp.consent.terms-of-use.consentValueMessageCodeSuffix = .text + +# Flags controlling how built-in attribute consent feature operates +#idp.consent.allowDoNotRemember = true +#idp.consent.allowGlobal = true +#idp.consent.allowPerAttribute = false + +# Whether attribute values and terms of use text are compared +#idp.consent.compareValues = false +# Maximum number of consent records for space-limited storage (e.g. cookies) +#idp.consent.maxStoredRecords = 10 +# Maximum number of consent records for larger/server-side storage (0 = no limit) +#idp.consent.expandedMaxStoredRecords = 0 + +# Time in milliseconds to expire consent storage records. +# Leave commented out for the default of infinite +#idp.consent.storageRecordLifetime = + +# Path to use with External interceptor flow +#idp.intercept.External.externalPath = contextRelative:intercept.jsp + +# Policies to use with Impersonate interceptor flow +#idp.impersonate.generalPolicy = GeneralImpersonationPolicy +#idp.impersonate.specificPolicy = SpecificImpersonationPolicy + +# Picks outbound bindings more sensibly than based on metadata order +idp.bindings.inMetadataOrder=false + +# Whether to lookup metadata, etc. for every SP involved in a logout +# for use by user interface logic; adds overhead so off by default. +#idp.logout.elaboration = false + +# Whether to require logout requests/responses be signed/authenticated. +#idp.logout.authenticated = true + +# Whether to handle logout lacking response endpoonts as asynchronous. +#idp.logout.assumeAsync = false + +# Whether to hide logout propagation status reporting. +#idp.logout.propagationHidden = false + +# Bean to determine whether user should be allowed to cancel logout +#idp.logout.promptUser=shibboleth.Conditions.FALSE + +# Message freshness and replay cache tuning +#idp.policy.messageLifetime = PT3M +#idp.policy.assertionLifetime = PT3M +#idp.policy.clockSkew = PT3M + +# Set to custom bean for alternate storage of replay cache +#idp.replayCache.StorageService = shibboleth.StorageService +#idp.replayCache.strict = true + +# Toggles whether to allow outbound messages via SAML artifact +#idp.artifact.enabled = true +# Suppresses typical signing/encryption when artifact binding used +#idp.artifact.secureChannel = true +# May differ to direct SAML 2 artifact lookups to specific server nodes +#idp.artifact.endpointIndex = 2 +# Set to custom bean for alternate storage of artifact map state +#idp.artifact.StorageService = shibboleth.StorageService + +# Comma-delimited languages to use if not match can be found with the +# browser-supported languages, defaults to an empty list. +idp.ui.fallbackLanguages=en,fr,de + +# Storage service used by CAS protocol for chained proxy-granting tickets +# and when using server-managed "simple" TicketService. +# Defaults to shibboleth.StorageService (in-memory) +# MUST be server-side storage (e.g. in-memory, memcached, database) +#idp.cas.StorageService=shibboleth.StorageService + +# CAS service registry implementation class +#idp.cas.serviceRegistryClass=net.shibboleth.idp.cas.service.PatternServiceRegistry + +# If true, CAS services provisioned with SAML metadata are identified via entityID +#idp.cas.relyingPartyIdFromMetadata=false + +# F-TICKS auditing - set a salt to include hashed username +#idp.fticks.federation = MyFederation +#idp.fticks.condition = MyFTICKSCondition +#idp.fticks.algorithm = SHA-256 +#idp.fticks.salt = somethingsecret +#idp.fticks.loghost = localhost +#idp.fticks.logport = 514 + +# Set false if you want SAML bindings "spelled out" in audit log +idp.audit.shortenBindings=true diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/ldap.properties b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/ldap.properties new file mode 100644 index 0000000..97e20b5 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/ldap.properties @@ -0,0 +1,70 @@ +# LDAP authentication (and possibly attribute resolver) configuration +# Note, this doesn't apply to the use of JAAS authentication via LDAP + +## Authenticator strategy, either anonSearchAuthenticator, bindSearchAuthenticator, directAuthenticator, adAuthenticator +idp.authn.LDAP.authenticator = bindSearchAuthenticator + +## Connection properties ## +idp.authn.LDAP.ldapURL = ldap://directory +idp.authn.LDAP.useStartTLS = false +# Time to wait for startTLS responses +#idp.authn.LDAP.startTLSTimeout = PT3S +# Time to wait for connections to open +#idp.authn.LDAP.connectTimeout = PT3S +# Time to wait for operation responses (e.g. search, bind) +#idp.authn.LDAP.responseTimeout = PT3S +# Connection strategy to use when multiple URLs are supplied, either ACTIVE_PASSIVE, ROUND_ROBIN, RANDOM +#idp.authn.LDAP.connectionStrategy = ACTIVE_PASSIVE + +## SSL configuration, either jvmTrust, certificateTrust, or keyStoreTrust +#idp.authn.LDAP.sslConfig = certificateTrust +## If using certificateTrust above, set to the trusted certificate's path +#idp.authn.LDAP.trustCertificates = %{idp.home}/credentials/ldap-server.crt +## If using keyStoreTrust above, set to the truststore path +#idp.authn.LDAP.trustStore = %{idp.home}/credentials/ldap-server.truststore + +## Return attributes during authentication +idp.authn.LDAP.returnAttributes = passwordExpirationTime,loginGraceRemaining + +## DN resolution properties ## + +# Search DN resolution, used by anonSearchAuthenticator, bindSearchAuthenticator +# for AD: CN=Users,DC=example,DC=org +idp.authn.LDAP.baseDN = dc=unicon,dc=local +idp.authn.LDAP.subtreeSearch = true +idp.authn.LDAP.userFilter = (uid={user}) +# bind search configuration +# for AD: idp.authn.LDAP.bindDN=adminuser@domain.com +idp.authn.LDAP.bindDN = cn=admin,dc=unicon,dc=local + +# Format DN resolution, used by directAuthenticator, adAuthenticator +# for AD use idp.authn.LDAP.dnFormat=%s@domain.com +idp.authn.LDAP.dnFormat = uid=%s,dc=unicon,dc=local + +# pool passivator, either none, bind or anonymousBind +#idp.authn.LDAP.bindPoolPassivator = none + +# LDAP attribute configuration, see attribute-resolver.xml +# Note, this likely won't apply to the use of legacy V2 resolver configurations +idp.attribute.resolver.LDAP.ldapURL = %{idp.authn.LDAP.ldapURL} +idp.attribute.resolver.LDAP.connectTimeout = %{idp.authn.LDAP.connectTimeout:PT3S} +idp.attribute.resolver.LDAP.responseTimeout = %{idp.authn.LDAP.responseTimeout:PT3S} +idp.attribute.resolver.LDAP.connectionStrategy = %{idp.authn.LDAP.connectionStrategy:ACTIVE_PASSIVE} +idp.attribute.resolver.LDAP.baseDN = %{idp.authn.LDAP.baseDN:undefined} +idp.attribute.resolver.LDAP.bindDN = %{idp.authn.LDAP.bindDN:undefined} +idp.attribute.resolver.LDAP.useStartTLS = %{idp.authn.LDAP.useStartTLS:true} +idp.attribute.resolver.LDAP.startTLSTimeout = %{idp.authn.LDAP.startTLSTimeout:PT3S} +idp.attribute.resolver.LDAP.trustCertificates = %{idp.authn.LDAP.trustCertificates:undefined} +idp.attribute.resolver.LDAP.searchFilter = (uid=$resolutionContext.principal) + +# LDAP pool configuration, used for both authn and DN resolution +#idp.pool.LDAP.minSize = 3 +#idp.pool.LDAP.maxSize = 10 +#idp.pool.LDAP.validateOnCheckout = false +#idp.pool.LDAP.validatePeriodically = true +#idp.pool.LDAP.validatePeriod = PT5M +#idp.pool.LDAP.validateDN = +#idp.pool.LDAP.validateFilter = (objectClass=*) +#idp.pool.LDAP.prunePeriod = PT5M +#idp.pool.LDAP.idleTime = PT10M +#idp.pool.LDAP.blockWaitTime = PT3S diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/metadata-providers.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/metadata-providers.xml new file mode 100644 index 0000000..433a2b0 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/metadata-providers.xml @@ -0,0 +1,23 @@ + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-clientinfo-resolvers.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-clientinfo-resolvers.xml new file mode 100644 index 0000000..8f8fce6 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-clientinfo-resolvers.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-credentials.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-credentials.xml new file mode 100644 index 0000000..b08896c --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-credentials.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-unregistered-client-policy.json b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-unregistered-client-policy.json new file mode 100644 index 0000000..9e04402 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc-unregistered-client-policy.json @@ -0,0 +1,14 @@ +{ + "client_id": { + "one_of": ["policyAcceptedClientID1", "policyAcceptedClientID2"] + }, + "scope": { + "value": "openid" + }, + "redirect_uri": { + "regexp": "^https:\/\/(?:([^.]+).)?example.org\/(.*)" + }, + "response_type": { + "one_of": ["code"] + } +} diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc.properties b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc.properties new file mode 100644 index 0000000..2bbb40a --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/oidc.properties @@ -0,0 +1,181 @@ +# Set the Open ID Connect Issuer value +idp.oidc.issuer = https://idp.unicon.local + +#Dynamic registration properties +# The validity of registration before a new one is required. +#idp.oidc.dynreg.defaultRegistrationValidity = PT24H +# The validity of client secret registered +#idp.oidc.dynreg.defaultSecretExpiration = P12M +# The default scopes accepted in dynamic registration +#idp.oidc.dynreg.defaultScope = openid profile email address phone offline_access +# The default subject type if not set by client in request. Maybe set to pairwise or public. +#idp.oidc.dynreg.defaultSubjectType = public +# The acceptable client authentication methods when using dynamic registration +#idp.oidc.dynreg.tokenEndpointAuthMethods = client_secret_basic,client_secret_post,client_secret_jwt,private_key_jwt +# Regardless of what signing algorithms are configured, allow none for request object signing +#idp.oidc.dynreg.allowNoneForRequestSigning = true +# Bean to determine whether dynamic registration should validate the remote JWK set if it's defined in the request +#idp.oidc.dynreg.validateRemoteJwks = shibboleth.Conditions.TRUE +# Full path to the file containing default metadata policy used for dynamic client registration +#idp.oidc.dynreg.defaultMetadataPolicyFile = +# Bean to determine the default metadata policy used for dynamic client registration +#idp.oidc.dynreg.defaultMetadataPolicy = shibboleth.oidc.dynreg.DefaultMetadataPolicy + +# Storage for storing remote jwk sets. +#idp.oidc.jwk.StorageService = shibboleth.StorageService + +#Authorization/Token endpoint properties +# The acceptable client authentication methods +#idp.oidc.tokenEndpointAuthMethods = client_secret_basic,client_secret_post,client_secret_jwt,private_key_jwt + +# Set to true to enforce use of request objects +#idp.oidc.requestobject.used = false + +# Set to false to allow unsigned request objects +#idp.oidc.requestobject.signed = true + +# Set to true to enforce encryption of request objects +#idp.oidc.requestobject.encrypted = false + +# Default lifetime of OIDC tokens (issued to the client or against the OP itself) +#idp.oidc.authorizeCode.defaultLifetime = PT5M +#idp.oidc.accessToken.defaultLifetime = PT10M +#idp.oidc.refreshToken.defaultTimeout = PT2H +#idp.oidc.refreshToken.defaultChainLifetime = PT2H + +#idp.oidc.idToken.defaultLifetime = PT1H + +# Lifetime of entries in revocation cache for authorize code +#idp.oidc.revocationCache.authorizeCode.lifetime = PT6H +# Storage for revocation cache. Requires server-side storage +#idp.oidc.revocationCache.StorageService = shibboleth.StorageService + +# Signing keys for id tokens / userinfo response +idp.signing.oidc.rs.key = %{idp.home}/credentials/idp-signing-rs.jwk +idp.signing.oidc.es.key = %{idp.home}/credentials/idp-signing-es.jwk +# Request object decryption key +idp.signing.oidc.rsa.enc.key = %{idp.home}/credentials/idp-encryption-rsa.jwk + +# Set false to preclude issuing unencrypted ID/UserInfo tokens without specific overrides +#idp.oidc.encryptionOptional = true + +#PKCE/AppAuth related properties +#idp.oidc.forcePKCE = false +#idp.oidc.allowPKCEPlain = false + +# Store user consent to authorization code & access/refresh tokens instead of exploiting consent storage +#idp.oidc.encodeConsentInTokens = false + +# The location for the policy JSON file for unregistered clients (when no client metadata is registered +# and shibboleth.UnverifiedRelyingParty is enabled +# Related to OIDC.SSO, OAUTH2.Token, OIDC.UserInfo, OAUTH2.Introspection, OAUTH2.Revocation configurations +#idp.oidc.DefaultUnregisteredClientPolicyFile = %{idp.home}/conf/oidc-unregistered-client-policy.json + +# shibboleth.ClientInformationResolverService properties +#idp.service.clientinfo.failFast = false +#idp.service.clientinfo.checkInterval = PT0S +#idp.service.clientinfo.resources = shibboleth.ClientInformationResolverResources + +# Special claim handling rules +# "Encoded" attributes are encrypted and embedded into the access token +#idp.oidc.encodedAttributes = +# "Always included" attributes are forced into ID tokens for all response_types +#idp.oidc.alwaysIncludedAttributes = +# "Denied" attributes are omitted from the UserInfo token +#idp.oidc.deniedUserInfoAttributes = + +# The source attribute used in generating the sub claim +idp.oidc.subject.sourceAttribute = uid + +# The digest algorithm used in generating the sub claim +#idp.oidc.subject.algorithm = SHA + +# The salt used in generating the subject +# Do *NOT* share the salt with other people, it's like divulging your private key. +# It is suggested you move this property into credentials/secrets.properties +idp.oidc.subject.salt = this_too_should_be_ch4ng3d + +# Bean to determine whether SAML metadata should be exploited for trusted OIDC RP resolution +#idp.oidc.metadata.saml = shibboleth.Conditions.TRUE + +# Upgrade interval to the remote JWKs +#idp.oidc.jwksuri.fetchInterval = PT30M + +# Bounds on the next file refresh of the OP configuration resource +#idp.oidc.config.minRefreshDelay = PT5M +#idp.oidc.config.maxRefreshDelay = PT4H + +# Bean used for extracting login_hint from the authentication request. The default function parses login_hint as is. +#idp.oidc.LoginHintLookupStrategy = DefaultRequestLoginHintLookupFunction + +# Bean used for generating session identifiers, stored as sid claim in the id_token and claims sets. +#idp.oidc.SessionIdentifierGenerationStrategy = shibboleth.DefaultIdentifierGenerationStrategy + +# Bean used for creating SPSessions needed for SLO. By default builds protocol-independent BasicSPSession, as SLO is not yet supported. +#idp.oidc.SPSessionCreationStrategy = DefaultSPSessionCreationStrategy + +# Set to true to hide protocol-scheme, IP-address and port for endpointURI in PROTOCOL_MESSAGE.OAUTH2 logging. Defaults to false. +#idp.oidc.logging.removeIpAddressFromProtocolMessage = true + +# Settings for issue-registration-access-token flow +#idp.oidc.admin.registration.logging = IssueRegistrationAccessToken +#idp.oidc.admin.registration.nonBrowserSupported = true +#idp.oidc.admin.registration.authenticated = false +#idp.oidc.admin.registration.resolveAttributes = false +#idp.oidc.admin.registration.lookup.policy = shibboleth.oidc.admin.DefaultMetadataPolicyLookupStrategy +#idp.oidc.admin.registration.defaultTokenLifetime = P1D +#idp.oidc.admin.registration.accessPolicy = AccessByIPAddress +#idp.oidc.admin.registration.policyLocationPolicy = AccessByAdmin +#idp.oidc.admin.registration.policyIdPolicy = AccessByAdmin +#idp.oidc.admin.registration.clientIdPolicy = AccessByAdmin + +# Settings for the configuration flow +# Flow is available at /oidc/configuration, usually it should be wired from /.well-known/openid-configuration +#idp.oidc.discovery.template = %{idp.home}/static/openid-configuration.json +#idp.oidc.discovery.resolver = shibboleth.oidc.DefaultOpenIdConfigurationResolver +#idp.oidc.discovery.resolver.values = shibboleth.oidc.discovery.DefaultDynamicValueResolvers + +# +# OAuth2 Settings - these typically involve generic OAuth 2.0 use cases +# +# Defaults to always requiring OIDC authentication request as inbound message in the authorization endpoint. +# Set to 'shibboleth.Conditions.FALSE' to always allow plain OAuth2 authorization requests +#idp.oauth2.requireAuthenticationRequestPredicate = +# Default predicate exploits the configuration property above to control whether or not to require OIDC authentication request. +#idp.oauth2.authorizationRequestTypeValidationStrategy = + +# Supported grant_type values for token requests +#idp.oauth2.grantTypes = authorization_code,refresh_token + +# Default handling of generic OAuth tokens (for use against arbitrary resource servers) +#idp.oauth2.accessToken.defaultLifetime = PT10M +# Set to JWT if desired as a default. +#idp.oauth2.accessToken.type = + +# Set false to preclude issuing unencrypted JWT access tokens without specific overrides +#idp.oauth2.encryptionOptional = true + +# Default scope/audience values if you allow unverified clients without metadata. +#idp.oauth2.defaultAllowedScope = +#idp.oauth2.defaultAllowedAudience = + +# Regular expression matching OAuth login flows to enable. +# For most deployments, the default is sufficient to accomodate a variety of methods +#idp.oauth2.authn.flows = OAuth2Client + +# Set true to enforce refresh token rotation (defaults to false) +#idp.oauth2.enforceRefreshTokenRotation = true + +# Set to false to disable id_token issuance via refresh_tokens (defaults to true) +#idp.oidc.issueIdTokenViaRefreshToken = false + +# Revocation method: set to TOKEN to revoke single tokens (defaults to full chain (value = CHAIN)) +#idp.oauth2.revocationMethod = TOKEN + +# Bean used to validate audience claim in the JWT authentication. +#idp.oauth2.jwtAuth.audienceValidator = DefaultAuthenticationAudienceClaimsValidator +# The default pattern also accepts token endpoint URL as the audience in introspection and revocation endpoints. +#idp.oauth2.jwtAuth.audienceValidator.endpointTargets = /profile/oauth2/introspection,/profile/oauth2/revocation + +# Bean to determine whether refresh token is issuance is activated +#idp.oauth2.refreshToken.activation = DefaultRefreshTokenActivationCondition \ No newline at end of file diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/relying-party.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/relying-party.xml new file mode 100644 index 0000000..517228c --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/conf/relying-party.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption-rsa.jwk b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption-rsa.jwk new file mode 100644 index 0000000..1c9c7bc --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption-rsa.jwk @@ -0,0 +1,13 @@ +{ + "p": "753E_KQTGxFLmi5sC_SBaBbCDSxv0NS0PfE-D_Bt0VlI0TsDGMKUG86zorZ9SUZvPSkhHAD-s1dVEess0vlvWpnnuoHhoOmgxnt-bXFDJnY73jbKzuhsse01dayxBTGyvIw0bmB3r9m8vOSIsnqw574QzUxib6IOVKJPTO5ZYIk", + "kty": "RSA", + "q": "09spyNixYMB5XEYVcQR_8hE46pirVX18Srg3EjSalClI0hO-OH8_wPhiCKvWEQYq_RIU-XrtgWGA4H5LdFHjO6W4OiqZTMc1n4VJPMf7eUG2q4Z3I7BOaUFOfYql7adnrSUSiSfPRnUNhuBKuYZR2bVXPIFZTmWQrxEydbOdIcU", + "d": "BA6HYzQ7OMBfgXsG6CPVOFiPAj7OG7kXa4W2ZaDDVAsHpZcm2BVhZLsUrkKqZ1PGnjhza1zfJ76m3-xNKEs09ZEtzYiVyjyWkAzBhxODGnFXcR-D_nG44y4tiYpwQNh3EInWmXOW3eO2QxUjhi20lKtQscEgZpIq6Un3va9xUMNoNtVjz_5nYhnD9quwGHzuaQX61pJ9k4BO-fXl426OcYvnog5z_yKV-H-qKPZc849Wr0o14ghfFIFDQNzDl5xt-qAZChgENdVsFf1TWyyu5NsceswvKBBeP5FLncVUKjOKzbgyWYfygJyy6jk7TYMg7khouYjoNhLRM8n-gEt7mQ", + "e": "AQAB", + "use": "enc", + "kid": "defaultRSAEnc", + "qi": "TEWxxitP_JUOWJzrSD-r90ZmzqJm5cWETK1ecHCLFhpUsCIm36Ns8DbOQMTFzpYY20wgBLscZI0ZYx4Bx0PqlbJRXasKb4mj5JxQgCKpx541BAw4oDDbzbNJgagaS8JIxrjn7atLTcYH7DFWallJ94Kfu7pisTRlaWVziAwq8TQ", + "dp": "OCUDjx7yyxjWWh4eev6jg7wxY9zRpmDwisMIA7wWP0NoaH4nT5noEkvwk2OnH5A9aFtGwsUI6QTBjh1It3ZyvQvq3CyqrYWQgnFVQleToGN7y6mTA8A6F8a5DAWWxNzMQJmpf2NjJ_Ug4DG8RfWxldtXHIOVXQrfyLzvT9tZXeE", + "dq": "KazHP3dBDWNPfFNdDGpyMNAqfhuiOKMCvEAYtUAb2GF2rbysgrildfRmdIY5CghIlJfmAF2qMvVXQNIXTb5-ENG8t9SBa5UUe1jg21ALrAK9SGifLyoTgqkSI6gOk_2Ga40LZGesYpPMIWglyvEdUNJXYtOfGcjo-UdMwdKfanE", + "n": "xkwscAH9nChWRqc9d1WPqsyoXqtvLdDFKkUzF9mc9i_2MI4kCWYZgu5GCzxqWd7coMhqgf0jrg0Br1zDcXBeFtftCtB4cqKLmhmZuIBYNGbkvKN3FwBlwFWtXZpJR2edSSiNilKkM9rLyXfhs5K80Esbpsw82ff6KwiM2I8DPNC8Z-lPUoQdNeWgF1tmMG4en2QZuBbt_iempJCNRqzRaNvaAQMbDDCVPWWDBmS2LGOqesYJT3uS-Ve9EZgPnKqUKKGobj6-4eLXf7Bjh2S6pfPX3PwOPAkFTpnxajbPoDIK2KiAbjkgIm96mdhX9EzgXagZcyiTfqDtw3zZ7z3ybQ" +} diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption.crt b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption.crt new file mode 100644 index 0000000..5587059 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIJAJ2AOdYo1M8xMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV +BAMMEGlkcC51bmljb24ubG9jYWwwHhcNMjAwNTI3MTgxMDE0WhcNMjUwNTI2MTgx +MDE0WjAbMRkwFwYDVQQDDBBpZHAudW5pY29uLmxvY2FsMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAp3MXVm6QP7qEhSQ16mIDjFAoUuBeqD7hzFlh4neY +9N1rlU3Ut+qUWQWPeuJtjl3c3RMR9Uctbaw9H7wrI0pn8YBRAOhJg3Xu4mwpQfMl +R4/QnE+Wno/S0khksfWtBU8B5DqR7UzhwjjRjJPfHCcKP+GXxVkfKNzNjf8VodVG +e0Nn81cJP3PbYYgMkax4jEKUcZ/6YZzc1UY53Vnjbi4nqQU7pDUhfAtusi7rRXFm +tB5z6qiwTM79aeW0SExYF1up6/06ImIU5RQY3f1ouonSUVSgmXc2/lGXQJdFJe7C +9ELkOUmzgLacGQ8OUA6Xy5lbz0xiTHqc8h+1v4/PTYRJVQIDAQABo2cwZTBEBgNV +HREEPTA7ghBpZHAudW5pY29uLmxvY2FshidodHRwczovL2lkcC51bmljb24ubG9j +YWwvaWRwL3NoaWJib2xldGgwHQYDVR0OBBYEFCMykG71ww3BiwZl9Mv9QyqjyJTL +MA0GCSqGSIb3DQEBCwUAA4IBAQA83eXZlUb9mPl9a9cgUdTaVvGLQ+mZj1AB5gS4 +GxOsDiUi648LDEjiCjhbvB9SM4j3n2mQ0G+hPk15Mv18EKOJkV8ft0N7JmZz6D+f +JVUO39ynWVKGnMM1H/93IltgzYwOHnfIoWcrErqCRjXxjHQgweZ6yCoYSLxHjVI/ +KsYkds46PY5Hrs7cnnFMehylmVnCqopUUwFBn6/XgQtj/ESkz8L/zJc0zuxJbCLB +rs3HcGkhBFOn77YBwQMsAKooiA07QLeqQYtYo+JcTD+t57eE40qNaMkioY06QlFr +gduIdTOHEVXbEPawoSgdYlg8qOG1dPyuKrhZu+Cbyq7bs8cG +-----END CERTIFICATE----- diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption.key b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption.key new file mode 100644 index 0000000..e188b6b --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-encryption.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCncxdWbpA/uoSF +JDXqYgOMUChS4F6oPuHMWWHid5j03WuVTdS36pRZBY964m2OXdzdExH1Ry1trD0f +vCsjSmfxgFEA6EmDde7ibClB8yVHj9CcT5aej9LSSGSx9a0FTwHkOpHtTOHCONGM +k98cJwo/4ZfFWR8o3M2N/xWh1UZ7Q2fzVwk/c9thiAyRrHiMQpRxn/phnNzVRjnd +WeNuLiepBTukNSF8C26yLutFcWa0HnPqqLBMzv1p5bRITFgXW6nr/ToiYhTlFBjd +/Wi6idJRVKCZdzb+UZdAl0Ul7sL0QuQ5SbOAtpwZDw5QDpfLmVvPTGJMepzyH7W/ +j89NhElVAgMBAAECggEAHPLWvAiNQ5c5RdNGxuh++Ij7D6jedHO6kZt6Qq6ucNa+ +vKch+VHCp8lATtxKWGx9vHKJjj/p6KX4Qz5Cru00Hxox5thBrUp8LATK9S3V6hNA +22UfAvaWWehOED4K1XodN5mwlLfP58Xu5EDEN5fAO98CYAnSSzwxBTVuRfYbIz/y +ZtbBnsrq+PSG1acPjlftbzRlSlVxSWmITCnNAH3zO5ugAnrbbvA2HPXQe042Xe25 +x0NS83zP/KK198THlzV+UeW1S08gyzWdF2sE+6UYL4Dp6weuPv4EafRRYWUgV0z8 +z8IE3PwPb8LdNgdP8v0Zhoz5lSC5Y3WL6YwbgRro2QKBgQDRdl7FLszcvr/yuHA4 +DFRnK6DrR1fqRnK7xlLTWgOIh27lC8wY/qRPP+7mVwOvECKasBE1sxRoURG/DDAa +QNVqJWszBOwHlIRvwMhbze9JXO5D6M3hWLZu+ZbWn+dGdVeBlyTX2y95V32ZzaUv +CNVjQ3FNF7U/6ZvqaCGeroZ/2wKBgQDMpyaexWYypvNOoExyoO46IH4fFVO7raCG +aWgDgmhyifTLIysgCdDAs7tPPkNhxt5BgSc5Awa9MVmpK2scttJnjnGwsHQyaGmD +fi6UTDkzN1ijL/hXtd5SnuynVWTDkdLvYfSr8t8zevmYddZRKjnzIaYG7IFueO0C +oQtKfMX6jwKBgDYMlFHPTL+dXQx1uUdNLy5cHK75ft8OBKcdetvcu1Ksl9n0nFrK +wn1Mowm+5E11HWjLC/XOWvK8EJc6vuLXXfqA41OL7pfaI/5uQYUm85r7puPRG+cN +LC4gq2KAan5M4yKmbLRic7Kc9+ULIpercNynV4IsHvH6BuiKrDo1ELHHAoGAE/EN +sFbn2HOwLa8tA9ZuoDdeUsUPPbBzfeVzfzQL3W1X7xtkLmEGeGCLFfOpOTPZoGRn +YATNeU3/wJ48d7XQ1spohaEMEYVfErMO8uBiin0QJAaeml1cZoyZ3sxRX0UsWqse +3kpyOV/4RkTlN094ChrzRKVzD0K1RZZPtVhnKj0CgYAPqNvfgj1YB9Ejc0wM6zGx +iElOKPAwmmUqr2odFs5YVmICp2sIi/OSIjL4WTzQ2PBtBaU8NVVFjchmrpYWQQNe +D7k8ZaGBjRivTnswS+xTdIKbsY9VchFXhGkFFUBswHWCLG7myvgNd/0JTvZtkK3C +4Bohg2T1ArE7WMcY4QgXNw== +-----END PRIVATE KEY----- diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing-es.jwk b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing-es.jwk new file mode 100644 index 0000000..0b24ded --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing-es.jwk @@ -0,0 +1,9 @@ +{ + "kty": "EC", + "d": "DUmUBbXdZBOeN31oNyWv6m4GVVzlyCySUq3cdGGfV_4", + "use": "sig", + "crv": "P-256", + "kid": "defaultECSign", + "x": "oI7eupWZ_1HXInWYJKAmaVzVxwu0peweRwWW17FaVfQ", + "y": "CumVJjt53vqWjNs2iDIQOYL7-_cWIY8Yc9kQel_9GWw" +} diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing-rs.jwk b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing-rs.jwk new file mode 100644 index 0000000..fe432c8 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing-rs.jwk @@ -0,0 +1,13 @@ +{ + "p": "4-Acy7bcgdF_kMHgLSPkB2Ku5eHOm8ikFh3kjYUID7sWzAL7NWoDsL0Fnz72ij4I46Si4-wKSKEESubK-urfE6-tPiB12Vcy08oi-E_3g-0u-Mv9RQDDgRGkDnr5AEaq5c7_YbGjvPLIL17R6UiJxzQNrI6Bkp3PG24PNSNYmd0", + "kty": "RSA", + "q": "yvTcAisAtjhnrIZfjfEFZu4V7G2BccACGP3JUDFFWWbcksrA406XW3R12C99341Ph-ZLGmsMn-y_mVTNmY2sKIUNv4muCHWEMvHg_sZj9TgmPXAqp4wkZEu_I5-tioiOGUXbkTadvfCMxWUDyMkSi3IUzffe2_Hl4gant91oEIc", + "d": "FlqsqLxzc9eTvbMxBdJczf07BTrwd-d17wgnA3QejDcSDbaWZfU0toVhIKTs7Mx9YBivETKFEG8W9cMotb_RKeO7eZjgLbME-o6P1-4vxhnT4xD_IzIj-pH-i8NyCQGDslXRg6vgKY-aE6Sj20ZdI-etqGnDIEYVe2t3otGXUhvH8JKe49bAzvYFsa4xB7uNshjxwbxxKT2cj5xE2N0nXv4ZC2YlYrPW5fjSWTXfjzOSfj1mbr-1gv_ha7ewwGYzpTH3SKoh5UpbCTQ6rGVLIb6K-b3EUwtAvaDtHfFwKRrTEiEybW3-sq3YU_f7IIWH6tSgax2WW04f4TZw3PG1wQ", + "e": "AQAB", + "use": "sig", + "kid": "defaultRSASign", + "qi": "P7pq4fxk2McYCLwXxcJbRz2ZcwJiec3KlskvmVKEinBFSwhncaoNarGCuuLz5nM60J_kJyJFitzjhfDvX98WpyiVTojGskTiK1ouIB6XF0fHmdz7pQwNY3oHpCNIfDSikMC4S142q7Vz9ErO3qY0DIM97DSm0MN-XmWQ5RDQVCM", + "dp": "FXQSAfPTSr2Ifv5htp48Z52Yzbe2leAL4rEpxVES8zgv60EUmXDDrC3_i4CIAXfZqmTjmQWt6iyOlOapkXnvSpEthD3WGoIlHN9Y73vH17nKxE2gKJDr1wjsIxjcvHPqvvv_-xiYS7-nrR4GMSpNHl3-M5KvDDijOPfhoqUTQFk", + "dq": "rii8eqfILpXscSHF8Zm31wHLklzNzXzE0AlHrSb6qaMY-GZAa05Pl80yKtdmHmW2r5mxLPRbmwifycX5wCDQcNzsVUaiLuQZE1Z4imhX8l_CgMo18BzURbSySrGFS_GuboWByvShHBLF2cW7H5tb7IlyzOQ9O2Qyrmijl6XI3RU", + "n": "tKjMKrc62mG5HcRbtQQKHPBftZomeiWlSZl832-a_bxuQx0sQVsAdFKSf_sKaK8VshHSAumNb6xjJvWY55qGfm3GgMTKlUXfQrNNEFp8udeSIKYT_986EQZu4ddauKQNbCN6culOttZxv8_qck5jJ6JFCGZk1MSqGMecGuSfujuUyds9NSF4MrHuJBa8MdjZkw_drMhxDIZgsDQxuGLM750VhxRt21PhJhvYTk3MMiW2GgmAHNxIhgWxlYnSGHVOlLUnwUA_j6XyjwnlbbzxKQFuObzzZRLy3KPvT7lsamG0UKz15Pxpe8MT-EpYLWln9Wj1QV40lmoq-lgIeB7ziw" +} diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing.crt b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing.crt new file mode 100644 index 0000000..1e8cc50 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIJAN45D3DbemrtMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV +BAMMEGlkcC51bmljb24ubG9jYWwwHhcNMjAwNTI3MTgxMDE0WhcNMjUwNTI2MTgx +MDE0WjAbMRkwFwYDVQQDDBBpZHAudW5pY29uLmxvY2FsMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAoDNLPFL/47cSWKbfb89lVz3EsIlb4z8lZbZUNyzF +m3my5mioe9b6xrS8QF16l1ALb8SEwQzECPKuyRp1LQ5Rj79Ba38TDl+4BezjC7Ui +f9OwzXIYfcetEFZ85tjufIl3ryVbY2kQ1TRypqk72pF1uDLEnqXrnystRxi4x22f +wTu+KkTy0tL/5oV2tjJY0vtO3YAsjNpqqI6WqcbjewtJVIrG4OuOF3r9CPCU7hOY +fc4BtvSQhOgryJM+dF9PmpvALJO8LrMBsNdAO3gz37+mA1F/tD7WYP2XLvrHh+Wd +c0QJ/f8AzCJm5QV4lA/UH/0tKMQS178ti7+4Jyw38iHkYQIDAQABo2cwZTBEBgNV +HREEPTA7ghBpZHAudW5pY29uLmxvY2FshidodHRwczovL2lkcC51bmljb24ubG9j +YWwvaWRwL3NoaWJib2xldGgwHQYDVR0OBBYEFGFkPVcsjWlZDfUk1+SifxhP1l7I +MA0GCSqGSIb3DQEBCwUAA4IBAQBZUq9P9A9DsypasD6WcHNP/EyP5spKRRu2CTWm +Y645kOjg7qMIasHVwA5jSPU7ozgPRV6MpdjCJVWYjUpeSCwXx6YAEKFLZ9WXV26i +e1GFTP1lJqlpnJZqs1RBgvF7q/JxFvxSl8UpjoxNufBANC14T6T3EMQ9EvWLTdCM +cEuXxkwzpeEkh5MtCoicgQ1yvay2QGQBbfCauPAASd957+S7brRON4R2gPonCf18 +5rzh7Do7kFBc6pqAHCYGTUz7uY11EPktIC6AIlZmXV1J0wBCP6SoiZDFjwZsj6m6 +S1N5qGtWDOT5vZiT1nF+mNd990c8qjVcyQST42VyXCBnJ7DR +-----END CERTIFICATE----- diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing.key b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing.key new file mode 100644 index 0000000..3e93b9f --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/idp-signing.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCgM0s8Uv/jtxJY +pt9vz2VXPcSwiVvjPyVltlQ3LMWbebLmaKh71vrGtLxAXXqXUAtvxITBDMQI8q7J +GnUtDlGPv0FrfxMOX7gF7OMLtSJ/07DNchh9x60QVnzm2O58iXevJVtjaRDVNHKm +qTvakXW4MsSepeufKy1HGLjHbZ/BO74qRPLS0v/mhXa2MljS+07dgCyM2mqojpap +xuN7C0lUisbg644Xev0I8JTuE5h9zgG29JCE6CvIkz50X0+am8Ask7wuswGw10A7 +eDPfv6YDUX+0PtZg/Zcu+seH5Z1zRAn9/wDMImblBXiUD9Qf/S0oxBLXvy2Lv7gn +LDfyIeRhAgMBAAECggEASJM0UF3ho036t8LRkpvIc19+TePMhwTCcnPJbz2PQEI/ +8/YR7hiUf5S9fANdWFNg+v9yjOq1nMAkwuKDlyfXd2HTx1lITsi6W6TXryQePv6u +KES6J7FgC/jCmOpKEI1OdUBdSIn+oDgkgLBGd1xSkmIdhSnxtqge2QiwHVjieO1a +O4zR2lI4eywWJJWWYxgftDNTWwtL94vmfi33up95kAXk8hxIZtMJ0MnNxTrCr1sh +i3yF/JETK0VzbI/eJecIXKtGZO0X01boWoeMSAZXJGkK/d0SGSSeISfADgFn4VxA +aktuq6byui0dSVuT8arA0lC2n4W8p8BVceKrEvH36QKBgQDR7h7m9WckQ9HqTIdH +ITdBNkevrId0GOdC8MRVvEMJQDBtVomdmmSVS4taQFdZ9yUqMw5PY2o6D7qI3KoK +DyzyPJalNzMoOvSR5Xieg9IjBEdYrz8PZr4aFUc0+fTR0C1mPiLMVyO0IftJOQzR +aCHJc+JIO6cYMirTKMjxdNVC5wKBgQDDW1pNrcGBmviEQAqdUfdZlFz26jv3jdgT +81QAgTUq0ieSkbxMTtd0ugk0r48HaRGl+4+agGYHIx8LjuKEHGrezjWF4k9VSsjD +vd1y6FSBVZKiKEOrrVRpuBi4bSDXM6anR6ovvWRjUoS24PrKdGgEYo8cib4QTTVh +088rDmN9dwKBgBANJ/m629cPBHbowRM0O/hVgSeyhmzfFpestyZjDbEgYlOJ4V3W +l0g/DXmqH8O2PPY8DyUM0et8lmOuk6XPQT2IWnBphxTVZSveotlj9OZOhnIGfEje +LzzpUZeAYTLFuyLtL1X2d7lnO8J+hTdhweuYW73wKbeU5mdc3/huWXwTAoGAL4t2 +KN2W8MIUpasoai1es7CGB5nuSkt9QS3BTfYkSG2pL+TEHRY7Ha+BOg9YEgeiQfE9 +e+6v5iDIF3oI6vo3kE5DfHgdsrZmsiztTl/44RlAfLKr9YZTuv8RFSGKEpYBg0jP +xJqlaf7VSeTrZIZ8IkUSa3GijjkcOtjf3Ky9zfUCgYB6Hk6Ixb2ksM2tdLFFm+/x +w+pzI6kaK5KW0kaNax2WwyzrvF0W3pQwVeFwPVgeWjdL0F4pXtHc4HGKwTNMEJfO +4B5Gi5unIrff9gCNpkwMlfLSTmvvhthzs8dNGTGjWzAuGqug2xQlPCWLK/c0mZSq +55MS3HX0pv+LFsKGr9+nZQ== +-----END PRIVATE KEY----- diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/inc-md-cert-mdq.pem b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/inc-md-cert-mdq.pem new file mode 100644 index 0000000..178dcf8 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/inc-md-cert-mdq.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEvjCCAyagAwIBAgIJANpi9/mkU/zoMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNV +BAYTAlVTMQswCQYDVQQIDAJNSTESMBAGA1UEBwwJQW5uIEFyYm9yMRYwFAYDVQQK +DA1JbnRlcm5ldDIuZWR1MREwDwYDVQQLDAhJbkNvbW1vbjEZMBcGA1UEAwwQbWRx +LmluY29tbW9uLm9yZzAeFw0xODExMTMxNDI5NDNaFw0zODExMTAxNDI5NDNaMHQx +CzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNSTESMBAGA1UEBwwJQW5uIEFyYm9yMRYw +FAYDVQQKDA1JbnRlcm5ldDIuZWR1MREwDwYDVQQLDAhJbkNvbW1vbjEZMBcGA1UE +AwwQbWRxLmluY29tbW9uLm9yZzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC +ggGBAJ0+fUTzYVSP6ZOutOEhNdp3WPCPOYqnB4sQFz7IeGbFL1o0lZjx5Izm4Yho +4wNDd0h486iSkHxNf5dDhCqgz7ZRSmbusOl98SYn70PrUQj/Nzs3w47dPg9Tpb/x +y44PvNLS/rE56hPgCz/fbHoTTiJt5eosysa1ZebQ3LEyW3jGm+LGtLbdIfkynKVQ +vpp1FVeCamzdeB3ZRICAvqTYQKE1JQDGlWrEsSW0VVEGNjfbzMzr/g4l8JRdMabQ +Jig8tj3UIXnu7A2CKSMJSy3WZ3HX+85oHEbL+EV4PtpQz765c69tUIdNTJax9jQ2 +1c3wL0K27HE8jSRlrXImD50R3dXQBKH+iiynBWxRPdyMBa1YfK+zZEWPbLHshSTc +9hkylQv3awmPR/+Plz5AtTpe5yss/Ifyp01wz1jt42R+6jDE+WbUjp5XDBCAjGEE +0FPaYtxjZLkmNl367bdTN12OIn/ixPNH+Z/S/4skdBB9Gc4lb2fEBywJQY0OYNOd +WOxmPwIDAQABo1MwUTAdBgNVHQ4EFgQUMHZuwMaYSJM5mlu3Wc4Ts5xq4/swHwYD +VR0jBBgwFoAUMHZuwMaYSJM5mlu3Wc4Ts5xq4/swDwYDVR0TAQH/BAUwAwEB/zAN +BgkqhkiG9w0BAQsFAAOCAYEAMr4wfLrSoPTzfpXtvL+2vrKBJNnRfuJpOYTbPKUc +DOP2QfzRlczi7suYJvd5rLiRonq8rjyPUyM8gvTfbTps+JhJ6S9mS6dTBxOV1qPZ +3Ab+XKmq8LUtguGRabKgJgmJH0+inR/wVoal7EVHcWXfij9AT8DZOXW88shc6grh +jUaFZBu/2+q8c8ee0e4ip8B+CVEnCwDKI0d+nTcSmPvAE34CNa33F+QGpXawv5yv +VvIpSaLAeFQhc/jKcnNHfy+Zi7JmSnKZiMvQCbWANQmDjHg7pGmBW9nyQcm6P2/B +0AVcEj1YTpAR8Mbh1pUdIhoB+chaNnFEIZsXeRsdbbAFpxodInlJ7WekfuvSQ6sU +EXpoyBGOeuuTmR1va8k3QeL8Wc4yNu/g5LwjmtvPrh2jBF8xujc4J6VzP8K2BjA4 +xk4LnXgjHOT93dBAJhVYJkykDHwyvHUvsBHoP6lfjrt5P8zunK2mdP/AZKik+Rdt +1GGlErV2AyWShTOaDLW6NxdP +-----END CERTIFICATE----- diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/sealer.jks b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/sealer.jks new file mode 100644 index 0000000..fe7529f Binary files /dev/null and b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/sealer.jks differ diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/sealer.kver b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/sealer.kver new file mode 100644 index 0000000..81a9ede --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/sealer.kver @@ -0,0 +1,2 @@ +#Thu Feb 06 17:19:55 UTC 2020 +CurrentVersion=1 diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/secrets.properties b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/secrets.properties new file mode 100644 index 0000000..e196330 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/credentials/secrets.properties @@ -0,0 +1,14 @@ +# This is a reserved spot for most properties containing passwords or other secrets. +# Created by install at Wed May 27 18:10:14 UTC 2020 + +# Access to internal AES encryption key +idp.sealer.storePassword = e1ef1671-661c-43d6-be51-ae9888fa3879 +idp.sealer.keyPassword = e1ef1671-661c-43d6-be51-ae9888fa3879 + +# Default access to LDAP authn and attribute stores. +idp.authn.LDAP.bindDNCredential = admin +idp.attribute.resolver.LDAP.bindDNCredential = %{idp.authn.LDAP.bindDNCredential:undefined} + +# Salt used to generate persistent/pairwise IDs, must be kept secret +#idp.persistentId.salt = changethistosomethingrandom + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/edit-webapp/index.jsp b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/edit-webapp/index.jsp new file mode 100644 index 0000000..087cee2 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/edit-webapp/index.jsp @@ -0,0 +1,31 @@ +<%@ page pageEncoding="UTF-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> + + + + + <spring:message code="root.title" text="Shibboleth IdP" /> + "> + + + +
+
+
+ " alt=""> +
+ +
+

+
+
+ +
+ +
+
+ + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/metadata/idp-metadata.xml b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/metadata/idp-metadata.xml new file mode 100644 index 0000000..d9f0a40 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/metadata/idp-metadata.xml @@ -0,0 +1,36 @@ + + + + unicon.local + + + + + +MIIDIDCCAgigAwIBAgIJAN45D3DbemrtMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV +BAMMEGlkcC51bmljb24ubG9jYWwwHhcNMjAwNTI3MTgxMDE0WhcNMjUwNTI2MTgx +MDE0WjAbMRkwFwYDVQQDDBBpZHAudW5pY29uLmxvY2FsMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAoDNLPFL/47cSWKbfb89lVz3EsIlb4z8lZbZUNyzF +m3my5mioe9b6xrS8QF16l1ALb8SEwQzECPKuyRp1LQ5Rj79Ba38TDl+4BezjC7Ui +f9OwzXIYfcetEFZ85tjufIl3ryVbY2kQ1TRypqk72pF1uDLEnqXrnystRxi4x22f +wTu+KkTy0tL/5oV2tjJY0vtO3YAsjNpqqI6WqcbjewtJVIrG4OuOF3r9CPCU7hOY +fc4BtvSQhOgryJM+dF9PmpvALJO8LrMBsNdAO3gz37+mA1F/tD7WYP2XLvrHh+Wd +c0QJ/f8AzCJm5QV4lA/UH/0tKMQS178ti7+4Jyw38iHkYQIDAQABo2cwZTBEBgNV +HREEPTA7ghBpZHAudW5pY29uLmxvY2FshidodHRwczovL2lkcC51bmljb24ubG9j +YWwvaWRwL3NoaWJib2xldGgwHQYDVR0OBBYEFGFkPVcsjWlZDfUk1+SifxhP1l7I +MA0GCSqGSIb3DQEBCwUAA4IBAQBZUq9P9A9DsypasD6WcHNP/EyP5spKRRu2CTWm +Y645kOjg7qMIasHVwA5jSPU7ozgPRV6MpdjCJVWYjUpeSCwXx6YAEKFLZ9WXV26i +e1GFTP1lJqlpnJZqs1RBgvF7q/JxFvxSl8UpjoxNufBANC14T6T3EMQ9EvWLTdCM +cEuXxkwzpeEkh5MtCoicgQ1yvay2QGQBbfCauPAASd957+S7brRON4R2gPonCf18 +5rzh7Do7kFBc6pqAHCYGTUz7uY11EPktIC6AIlZmXV1J0wBCP6SoiZDFjwZsj6m6 +S1N5qGtWDOT5vZiT1nF+mNd990c8qjVcyQST42VyXCBnJ7DR + + + + + + + + + + diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/metadata/oidc-grouper.json b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/metadata/oidc-grouper.json new file mode 100644 index 0000000..bddd6ea --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/metadata/oidc-grouper.json @@ -0,0 +1,7 @@ +{ + "client_id": "grouper", + "client_secret": "thisisverysecret", + "response_types": ["code"], + "scope": "openid info profile email address phone", + "redirect_uris": ["https://grouper-ui.unicon.local/grouper/callback?client_name=client"] +} \ No newline at end of file diff --git a/src/test/docker/shibboleth-idp/opt-shibboleth-idp/static/openid-configuration.json b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/static/openid-configuration.json new file mode 100644 index 0000000..d33b4e7 --- /dev/null +++ b/src/test/docker/shibboleth-idp/opt-shibboleth-idp/static/openid-configuration.json @@ -0,0 +1,139 @@ +{ + "issuer":"https://idp.unicon.local", + "authorization_endpoint":"https://idp.unicon.local/idp/profile/oidc/authorize", + "registration_endpoint":"https://idp.unicon.local/idp/profile/oidc/register", + "token_endpoint":"https://idp.unicon.local/idp/profile/oidc/token", + "userinfo_endpoint":"https://idp.unicon.local/idp/profile/oidc/userinfo", + "introspection_endpoint":"https://idp.unicon.local/idp/profile/oauth2/introspection", + "revocation_endpoint":"https://idp.unicon.local/idp/profile/oauth2/revocation", + "jwks_uri":"https://idp.unicon.local/idp/profile/oidc/keyset", + "response_types_supported":[ + "code", + "id_token", + "token id_token", + "code id_token", + "code token", + "code token id_token" + ], + "subject_types_supported":[ + "public", + "pairwise" + ], + "grant_types_supported":[ + "authorization_code", + "implicit", + "refresh_token" + ], + "id_token_encryption_alg_values_supported":[ + "RSA1_5", + "RSA-OAEP", + "RSA-OAEP-256", + "A128KW", + "A192KW", + "A256KW", + "A128GCMKW", + "A192GCMKW", + "A256GCMKW" + ], + "id_token_encryption_enc_values_supported":[ + "A128CBC-HS256" + ], + "id_token_signing_alg_values_supported":[ + "RS256", + "RS384", + "RS512", + "HS256", + "HS384", + "HS512", + "ES256" + ], + "userinfo_encryption_alg_values_supported":[ + "RSA1_5", + "RSA-OAEP", + "RSA-OAEP-256", + "A128KW", + "A192KW", + "A256KW", + "A128GCMKW", + "A192GCMKW", + "A256GCMKW" + ], + "userinfo_encryption_enc_values_supported":[ + "A128CBC-HS256" + ], + "userinfo_signing_alg_values_supported":[ + "RS256", + "RS384", + "RS512", + "HS256", + "HS384", + "HS512", + "ES256" + ], + "request_object_signing_alg_values_supported":[ + "none", + "RS256", + "RS384", + "RS512", + "HS256", + "HS384", + "HS512", + "ES256", + "ES384", + "ES512" + ], + "token_endpoint_auth_methods_supported":[ + "client_secret_basic", + "client_secret_post", + "client_secret_jwt", + "private_key_jwt" + ], + "claims_parameter_supported":true, + "request_parameter_supported":true, + "request_uri_parameter_supported":true, + "require_request_uri_registration":true, + "display_values_supported":[ + "page" + ], + "scopes_supported":[ + "openid", + "profile", + "email", + "address", + "phone", + "offline_access" + ], + "response_modes_supported":[ + "query", + "fragment", + "form_post" + ], + "claims_supported":[ + "aud", + "iss", + "sub", + "iat", + "exp", + "acr", + "auth_time", + "email", + "email_verified", + "address", + "phone", + "phone_number_verified", + "name", + "family_name", + "given_name", + "middle_name", + "nickname", + "preferred_username", + "profile", + "picture", + "website", + "gender", + "birthdate", + "zoneinfo", + "locale", + "updated_at" + ] +} \ No newline at end of file diff --git a/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.idp.plugin.oidc.config/truststore.asc b/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.idp.plugin.oidc.config/truststore.asc new file mode 100644 index 0000000..9e09694 --- /dev/null +++ b/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.idp.plugin.oidc.config/truststore.asc @@ -0,0 +1,287 @@ + + Philip David Smart id B8A3DC52 + -----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.76.0 + +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 +AAEAEAAAkgoABQAAAAEAAAKqkhQAAwAAAAQAAAKyknwABwAAA+IAAAK6kpEAAgAA +AAQ3MTAAkpIAAgAAAAQ3MTAAoAAABwAAAAQwMTAwoAIABAAAAAEAAACWoAMABAAA +AAEAAADqohcAAwAAAAEAAgAAowEABwAAAAEBAAAApAIAAwAAAAEAAAAApAMAAwAA +AAEAAAAApAUAAwAAAAEAHAAApAYAAwAAAAEAAAAApDIABQAAAAQAAAacpDMAAgAA +AAYAAAa8pDQAAgAAACIAAAbCAAAAAAAAAAEAAAARAAAACQAAAAUyMDE4OjA3OjE2 +IDEwOjA3OjM4ADIwMTg6MDc6MTYgMTA6MDc6MzgAAAAKdAAAApMAAAhvAAAE+QAA +KOIAAA/BAAAAAAAAAAEAAAGPAAAAZAXXBg4DvwPBQXBwbGUgaU9TAAABTU0AEwAB +AAkAAAABAAAACQACAAcAAAIuAAAA+AADAAcAAABoAAADJgAEAAkAAAABAAAAAQAF +AAkAAAABAAAA6AAGAAkAAAABAAAA8QAHAAkAAAABAAAAAQAIAAoAAAADAAADjgAM +AAoAAAACAAADpgANAAkAAAABAAAAKAAOAAkAAAABAAAABAAPAAkAAAABAAAAAgAQ +AAkAAAABAAAAAQARAAIAAAAlAAADtgAUAAkAAAABAAAABQAXAAkAAAABAAAAAAAZ +AAkAAAABAAAAAAAaAAIAAAAGAAAD3AAfAAkAAAABAAAAAAAAAABicGxpc3QwME8R +AgBHAkwCUQJVAlICSwJDAjsCLAIaAnMBzgCQAIgAiAB/AEsCUgJWAlYCTgJGAj4C +MQIgAsoBjwB/AHkAgACBAIAATgJXAloCVgJOAkQCOAIlAg8CMwFwAHcAjACKAJYA +jwBMAlYCVwJQAkYCOgIrAhIC4wGiAGUAkgCJAI4AjQCSAEoCUgJQAkcCOgIqAhYC +9AFqAXgAdACRAIUAhQCMAIsASQJKAvYB+gC8AOIAjgGJAbEAcQBrAIMAeQB6AH4A +gQBFAoEBTQDQALEA4QDiAL0ArgCZAIkAYwBoAHkAdQBuAEECBAF5ABgBtADHANUA +uQCkAN0AyQCQAIMAfABqAGUAOwL2AHIAIgEEAb0ArACYAIYAuwDQAK8AXgBmAG8A +eAAxAgkBUADvAIsAqwC/AJ0AbQB5AF8AZABvAHwAdAB1ACYC5gG3AHUAdgCuANwA +DAHGAGIAYQBqAHEAdwBvAHAAHQIaAv8BtAGjAZ0BhwF4ATEBcwBtAHYAdQB0AGsA +ZwAYAhkCDQL5AegB2gHFAagBcgGtAF8AdgBzAHIAagBoABUCGQIUAgkC/AHoAc0B +sAGPARYBZgBmAHkAagBzAGYAEwITAg8CBAL4AeUBygGzAZsBfgHNAGEAcgBpAGsA +YQAQAg0CCQL/AfQB4gHJAbMBoAGMAXwBUwEDAeAAcAByAAAIAAAAAAAAAgEAAAAA +AAAAAQAAAAAAAAAAAAAAAAAAAgxicGxpc3QwMNQBAgMEBQYHCFVmbGFnc1V2YWx1 +ZVl0aW1lc2NhbGVVZXBvY2gQARMAAAU6zneKsRI7msoAEAAIERcdJy0vOD0AAAAA +AAABAQAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAP///xsEAChy8//+2DAAAShH///v9 +AArWDwAAADsAAAEAAAAAZQAAAQA0MkRDQUE3RC0wMTU0LTRBNTktQjY2NS03QTZB +QjZBRkM4OEQAAHE4MjVzAAA/1d8AD/+1AD/V3wAP/7UAAAAJAAAABQAAAAkAAAAF +QXBwbGUAaVBob25lIDcgYmFjayBjYW1lcmEgMy45OW1tIGYvMS44AAANAAEAAgAA +AAJOAAAAAAIABQAAAAMAAAeGAAMAAgAAAAJXAAAAAAQABQAAAAMAAAeeAAUAAQAA +AAEAAAAAAAYABQAAAAEAAAe2AAwAAgAAAAJLAAAAAA0ABQAAAAEAAAe+ABAAAgAA +AAJUAAAAABEABQAAAAEAAAfGABcAAgAAAAJUAAAAABgABQAAAAEAAAfOAB8ABQAA +AAEAAAfWAAAAAAAAADMAAAABAAAAIAAAAAEAAA5QAAAAZAAAAAMAAAABAAAACwAA +AAEAABWDAAAAZAAAWb0AAADZAAAArQAABJ4AAN2FAAABWAAA3YUAAAFYAAAACAAA +AAH/4Q1XaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVn +aW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBt +ZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2 +LjAuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 +OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi +b3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIg +eG1sbnM6bXdnLXJzPSJodHRwOi8vd3d3Lm1ldGFkYXRhd29ya2luZ2dyb3VwLmNv +bS9zY2hlbWFzL3JlZ2lvbnMvIiB4bWxuczpzdEFyZWE9Imh0dHA6Ly9ucy5hZG9i +ZS5jb20veG1wL3NUeXBlL0FyZWEjIiB4bWxuczphcHBsZS1maT0iaHR0cDovL25z +LmFwcGxlLmNvbS9mYWNlaW5mby8xLjAvIiB4bWxuczpzdERpbT0iaHR0cDovL25z +LmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL0RpbWVuc2lvbnMjIiB4bWxuczpwaG90 +b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpD +cmVhdGVEYXRlPSIyMDE4LTA3LTE2VDEwOjA3OjM4LjcxMCIgeG1wOkNyZWF0b3JU +b29sPSIxMS40IiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wNy0xNlQxMDowNzozOCIg +cGhvdG9zaG9wOkRhdGVDcmVhdGVkPSIyMDE4LTA3LTE2VDEwOjA3OjM4LjcxMCI+ +IDxtd2ctcnM6UmVnaW9ucyByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+IDxtd2ct +cnM6UmVnaW9uTGlzdD4gPHJkZjpTZXE+IDxyZGY6bGk+IDxyZGY6RGVzY3JpcHRp +b24gbXdnLXJzOlR5cGU9IkZhY2UiPiA8bXdnLXJzOkFyZWEgc3RBcmVhOnk9IjAu +NTEyOTk5OTk5OTk5OTk5OSIgc3RBcmVhOnc9IjAuMjM3OTk5OTk5OTk5OTk5OTki +IHN0QXJlYTp4PSIwLjM3MSIgc3RBcmVhOmg9IjAuMzE3OTk5OTk5OTk5OTk5OTUi +IHN0QXJlYTp1bml0PSJub3JtYWxpemVkIi8+IDxtd2ctcnM6RXh0ZW5zaW9ucyBh +cHBsZS1maTpBbmdsZUluZm9ZYXc9IjAiIGFwcGxlLWZpOkFuZ2xlSW5mb1JvbGw9 +IjI3MCIgYXBwbGUtZmk6Q29uZmlkZW5jZUxldmVsPSIxMDAwIiBhcHBsZS1maTpU +aW1lc3RhbXA9IjEzNzk5OTkyMTQ1MCIgYXBwbGUtZmk6RmFjZUlEPSI5Ii8+IDwv +cmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpsaT4gPC9yZGY6U2VxPiA8L213Zy1yczpS +ZWdpb25MaXN0PiA8bXdnLXJzOkFwcGxpZWRUb0RpbWVuc2lvbnMgc3REaW06aD0i +MzAyNCIgc3REaW06dz0iNDAzMiIgc3REaW06dW5pdD0icGl4ZWwiLz4gPC9td2ct +cnM6UmVnaW9ucz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94Onht +cG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0 +IGVuZD0idyI/PgD/7QB4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAD8cAVoAAxsl +RxwCAAACAAIcAj8ABjEwMDczOBwCPgAIMjAxODA3MTYcAjcACDIwMTgwNzE2HAI8 +AAYxMDA3MzgAOEJJTQQlAAAAAAAQOGix0QQ3mMOAExf+M5Hq4v/iAkBJQ0NfUFJP +RklMRQABAQAAAjBBREJFAhAAAG1udHJSR0IgWFlaIAfQAAgACwATADMAO2Fjc3BB +UFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtQURCRQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmNwcnQA +AAD8AAAAMmRlc2MAAAEwAAAAa3d0cHQAAAGcAAAAFGJrcHQAAAGwAAAAFHJUUkMA +AAHEAAAADmdUUkMAAAHUAAAADmJUUkMAAAHkAAAADnJYWVoAAAH0AAAAFGdYWVoA +AAIIAAAAFGJYWVoAAAIcAAAAFHRleHQAAAAAQ29weXJpZ2h0IDIwMDAgQWRvYmUg +U3lzdGVtcyBJbmNvcnBvcmF0ZWQAAABkZXNjAAAAAAAAABFBZG9iZSBSR0IgKDE5 +OTgpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EA +AQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAY3VydgAAAAAAAAABAjMAAGN1cnYA +AAAAAAAAAQIzAABjdXJ2AAAAAAAAAAECMwAAWFlaIAAAAAAAAJwYAABPpQAABPxY +WVogAAAAAAAANI0AAKAsAAAPlVhZWiAAAAAAAAAmMQAAEC8AAL6c/8AAEQgA6gCW +AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQ +AAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHw +JDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp +anN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TF +xsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEB +AQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUh +MQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4 +OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWW +l5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp +6vLz9PX29/j5+v/bAEMAGBgYGBgYKRgYKTopKSk6Tjo6OjpOY05OTk5OY3djY2Nj +Y2N3d3d3d3d3d4+Pj4+Pj6enp6enu7u7u7u7u7u7u//bAEMBHR8fMCwwUiwsUsSF +bYXExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE +xMTExP/dAAQACv/aAAwDAQACEQMRAD8A6KiiisiwpaSkJ4oAZK2xd3uB+fFP3CqL +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 +=+Re0 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.idp.plugin.oidc.op/truststore.asc b/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.idp.plugin.oidc.op/truststore.asc new file mode 100644 index 0000000..504aea2 --- /dev/null +++ b/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.idp.plugin.oidc.op/truststore.asc @@ -0,0 +1,32 @@ + + Henri Mikkonen id 9355EBCA + -----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.76.0 + +mQINBF46zL0BEACUeQllAAViSlyL8uFBCjlCXdH12GpDL9y8fubm+N50ofonIloA +YLbJtETVrqpxfeh+SDiERbEG5W02fbM1y3wdSjef0jzAEP3PoXydv/SdNKvomvBP +U7I9eALgHJI4Nkqzf8ggTrOBHcWbRIRGbVXFRhOE1Z86akmVz3fe3aQzddvzAS7I +YYX0RxbKiNt8iaxUXUo+P1LopD9Zo2I1NTY8u27RuhtxBr5tnHnsuf38mzjG/l6U +RzJ8qhHJr6D4E+MLqRo9ndTREOT/d1TeJUvQddXC59VEL75TrYCEc2v/NZ5m9fD6 +yg0+oqgyrQHmZhPVOqoJiz0lkd3rl7lUqCH9yjREr1H5PUchiuhBKBOogwtirqw3 +NMKH6bs0Bu6qUy5fIJRqjxKVv+6fOEty/xnp0xN7xoBEUPEt1M/V3ewwH1zhOwTo +g4cr4zhTT9RNno3eM0eenEQYapQZ8dFmrNVmhvx9VJlshYGyakrxPwrF3coyC3hh +HjWE9SzmoyGmmbRgvJVt//SqoGpDyaM+d1hPys9tX2N/E1TlwZiD2brWAtjr2K49 +NC9Skizw4qHAbphq4EMGCKzrp9ksnBvwZAY9JjL0JvdjAabqkyRFVh2Mpm5xSxbw +d+Twryh5hXaT/EQXsKMC1WlQnIDREjHpm1UOXTzcsFPa9tEW8XUftPWbQQARAQAB +tCZIZW5yaSBNaWtrb25lbiA8aGVucmkubWlra29uZW5AaWtpLmZpPokCVAQTAQgA +PhYhBG0Y/WNwj8ygebaMzgJmkYOTVevKBQJeOsy9AhsDBQkHhh+ABQsJCAcCBhUK +CQgLAgQWAgMBAh4BAheAAAoJEAJmkYOTVevKwWcP+gLrjnrNxqwEx7/Ly/KdjkGD +0W7aMiQc8acvC9oo74/XXpAD0W1jkK/BXyLH1q/o5Lyjymmm6w7VvEWLSY1Q0+gC +l+hUOqccH572767UrGEeZeJV8+tNhziTU2S7NagK2A0BelHoA3hIhfGmWLJ+ooJe +HZXFCov4ThZOpGzu5d04dEYoOv2jVaWwnrjOBzoKcgws9J6RLX+6gOFhZ3Dh5Rxs +UGhl0ZJuEBQCDT7X9jI4mHsA0Ngo27inb3gxfeCm/ziZhHDV2gZtl777dKVc/sQN +fqGaRGVi1p37La6KKpfIA3KHRjGf4jfg17AQ1Ix+ZgRIpbPXb7fXQHtBElhIbbn/ +VR2CG0Jdchdc4UozelKU6WNsNlcMn3kfTNFosW7+gTiYEGSxZQC9ylSSl1s9oIFM +dvk70u4AgTY6w+27TrTRuEpdARoNZG4NhBTJ8g0BkiX6cHVyc5ir5IOVpmewsxN5 +yLg0ed6OwpcK5V8SwGT60hgkkJp71OeBsnLzyzO3/YoI5GVAIgcwtdzptRUt0iL8 +GUccO3mO6Hm4EfJAZHFWRbxX3ITTfCzw4blbXURlIXkPefprptAYX2+rn/z4iC1F +mJUANl+4WilKuPoAimKGDNi6CvlbckQW2i2i5gsoM3iMxRMsExoZUnoMpfY70Trg +ToF/jwURMQSCsJnZvyQD +=g4uH +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.oidc.common/truststore.asc b/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.oidc.common/truststore.asc new file mode 100644 index 0000000..9e09694 --- /dev/null +++ b/src/test/docker/shibboleth-idp/plugin-truststore/net.shibboleth.oidc.common/truststore.asc @@ -0,0 +1,287 @@ + + Philip David Smart id B8A3DC52 + -----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.76.0 + +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 +AAEAEAAAkgoABQAAAAEAAAKqkhQAAwAAAAQAAAKyknwABwAAA+IAAAK6kpEAAgAA +AAQ3MTAAkpIAAgAAAAQ3MTAAoAAABwAAAAQwMTAwoAIABAAAAAEAAACWoAMABAAA +AAEAAADqohcAAwAAAAEAAgAAowEABwAAAAEBAAAApAIAAwAAAAEAAAAApAMAAwAA +AAEAAAAApAUAAwAAAAEAHAAApAYAAwAAAAEAAAAApDIABQAAAAQAAAacpDMAAgAA +AAYAAAa8pDQAAgAAACIAAAbCAAAAAAAAAAEAAAARAAAACQAAAAUyMDE4OjA3OjE2 +IDEwOjA3OjM4ADIwMTg6MDc6MTYgMTA6MDc6MzgAAAAKdAAAApMAAAhvAAAE+QAA +KOIAAA/BAAAAAAAAAAEAAAGPAAAAZAXXBg4DvwPBQXBwbGUgaU9TAAABTU0AEwAB +AAkAAAABAAAACQACAAcAAAIuAAAA+AADAAcAAABoAAADJgAEAAkAAAABAAAAAQAF +AAkAAAABAAAA6AAGAAkAAAABAAAA8QAHAAkAAAABAAAAAQAIAAoAAAADAAADjgAM +AAoAAAACAAADpgANAAkAAAABAAAAKAAOAAkAAAABAAAABAAPAAkAAAABAAAAAgAQ +AAkAAAABAAAAAQARAAIAAAAlAAADtgAUAAkAAAABAAAABQAXAAkAAAABAAAAAAAZ +AAkAAAABAAAAAAAaAAIAAAAGAAAD3AAfAAkAAAABAAAAAAAAAABicGxpc3QwME8R +AgBHAkwCUQJVAlICSwJDAjsCLAIaAnMBzgCQAIgAiAB/AEsCUgJWAlYCTgJGAj4C +MQIgAsoBjwB/AHkAgACBAIAATgJXAloCVgJOAkQCOAIlAg8CMwFwAHcAjACKAJYA +jwBMAlYCVwJQAkYCOgIrAhIC4wGiAGUAkgCJAI4AjQCSAEoCUgJQAkcCOgIqAhYC +9AFqAXgAdACRAIUAhQCMAIsASQJKAvYB+gC8AOIAjgGJAbEAcQBrAIMAeQB6AH4A +gQBFAoEBTQDQALEA4QDiAL0ArgCZAIkAYwBoAHkAdQBuAEECBAF5ABgBtADHANUA +uQCkAN0AyQCQAIMAfABqAGUAOwL2AHIAIgEEAb0ArACYAIYAuwDQAK8AXgBmAG8A +eAAxAgkBUADvAIsAqwC/AJ0AbQB5AF8AZABvAHwAdAB1ACYC5gG3AHUAdgCuANwA +DAHGAGIAYQBqAHEAdwBvAHAAHQIaAv8BtAGjAZ0BhwF4ATEBcwBtAHYAdQB0AGsA +ZwAYAhkCDQL5AegB2gHFAagBcgGtAF8AdgBzAHIAagBoABUCGQIUAgkC/AHoAc0B +sAGPARYBZgBmAHkAagBzAGYAEwITAg8CBAL4AeUBygGzAZsBfgHNAGEAcgBpAGsA +YQAQAg0CCQL/AfQB4gHJAbMBoAGMAXwBUwEDAeAAcAByAAAIAAAAAAAAAgEAAAAA +AAAAAQAAAAAAAAAAAAAAAAAAAgxicGxpc3QwMNQBAgMEBQYHCFVmbGFnc1V2YWx1 +ZVl0aW1lc2NhbGVVZXBvY2gQARMAAAU6zneKsRI7msoAEAAIERcdJy0vOD0AAAAA +AAABAQAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAP///xsEAChy8//+2DAAAShH///v9 +AArWDwAAADsAAAEAAAAAZQAAAQA0MkRDQUE3RC0wMTU0LTRBNTktQjY2NS03QTZB +QjZBRkM4OEQAAHE4MjVzAAA/1d8AD/+1AD/V3wAP/7UAAAAJAAAABQAAAAkAAAAF +QXBwbGUAaVBob25lIDcgYmFjayBjYW1lcmEgMy45OW1tIGYvMS44AAANAAEAAgAA +AAJOAAAAAAIABQAAAAMAAAeGAAMAAgAAAAJXAAAAAAQABQAAAAMAAAeeAAUAAQAA +AAEAAAAAAAYABQAAAAEAAAe2AAwAAgAAAAJLAAAAAA0ABQAAAAEAAAe+ABAAAgAA +AAJUAAAAABEABQAAAAEAAAfGABcAAgAAAAJUAAAAABgABQAAAAEAAAfOAB8ABQAA +AAEAAAfWAAAAAAAAADMAAAABAAAAIAAAAAEAAA5QAAAAZAAAAAMAAAABAAAACwAA +AAEAABWDAAAAZAAAWb0AAADZAAAArQAABJ4AAN2FAAABWAAA3YUAAAFYAAAACAAA +AAH/4Q1XaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVn +aW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBt +ZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2 +LjAuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 +OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi +b3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIg +eG1sbnM6bXdnLXJzPSJodHRwOi8vd3d3Lm1ldGFkYXRhd29ya2luZ2dyb3VwLmNv +bS9zY2hlbWFzL3JlZ2lvbnMvIiB4bWxuczpzdEFyZWE9Imh0dHA6Ly9ucy5hZG9i +ZS5jb20veG1wL3NUeXBlL0FyZWEjIiB4bWxuczphcHBsZS1maT0iaHR0cDovL25z +LmFwcGxlLmNvbS9mYWNlaW5mby8xLjAvIiB4bWxuczpzdERpbT0iaHR0cDovL25z +LmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL0RpbWVuc2lvbnMjIiB4bWxuczpwaG90 +b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpD +cmVhdGVEYXRlPSIyMDE4LTA3LTE2VDEwOjA3OjM4LjcxMCIgeG1wOkNyZWF0b3JU +b29sPSIxMS40IiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wNy0xNlQxMDowNzozOCIg +cGhvdG9zaG9wOkRhdGVDcmVhdGVkPSIyMDE4LTA3LTE2VDEwOjA3OjM4LjcxMCI+ +IDxtd2ctcnM6UmVnaW9ucyByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+IDxtd2ct +cnM6UmVnaW9uTGlzdD4gPHJkZjpTZXE+IDxyZGY6bGk+IDxyZGY6RGVzY3JpcHRp +b24gbXdnLXJzOlR5cGU9IkZhY2UiPiA8bXdnLXJzOkFyZWEgc3RBcmVhOnk9IjAu +NTEyOTk5OTk5OTk5OTk5OSIgc3RBcmVhOnc9IjAuMjM3OTk5OTk5OTk5OTk5OTki +IHN0QXJlYTp4PSIwLjM3MSIgc3RBcmVhOmg9IjAuMzE3OTk5OTk5OTk5OTk5OTUi +IHN0QXJlYTp1bml0PSJub3JtYWxpemVkIi8+IDxtd2ctcnM6RXh0ZW5zaW9ucyBh +cHBsZS1maTpBbmdsZUluZm9ZYXc9IjAiIGFwcGxlLWZpOkFuZ2xlSW5mb1JvbGw9 +IjI3MCIgYXBwbGUtZmk6Q29uZmlkZW5jZUxldmVsPSIxMDAwIiBhcHBsZS1maTpU +aW1lc3RhbXA9IjEzNzk5OTkyMTQ1MCIgYXBwbGUtZmk6RmFjZUlEPSI5Ii8+IDwv +cmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpsaT4gPC9yZGY6U2VxPiA8L213Zy1yczpS +ZWdpb25MaXN0PiA8bXdnLXJzOkFwcGxpZWRUb0RpbWVuc2lvbnMgc3REaW06aD0i +MzAyNCIgc3REaW06dz0iNDAzMiIgc3REaW06dW5pdD0icGl4ZWwiLz4gPC9td2ct +cnM6UmVnaW9ucz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94Onht +cG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0 +IGVuZD0idyI/PgD/7QB4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAD8cAVoAAxsl +RxwCAAACAAIcAj8ABjEwMDczOBwCPgAIMjAxODA3MTYcAjcACDIwMTgwNzE2HAI8 +AAYxMDA3MzgAOEJJTQQlAAAAAAAQOGix0QQ3mMOAExf+M5Hq4v/iAkBJQ0NfUFJP +RklMRQABAQAAAjBBREJFAhAAAG1udHJSR0IgWFlaIAfQAAgACwATADMAO2Fjc3BB +UFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtQURCRQAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmNwcnQA +AAD8AAAAMmRlc2MAAAEwAAAAa3d0cHQAAAGcAAAAFGJrcHQAAAGwAAAAFHJUUkMA +AAHEAAAADmdUUkMAAAHUAAAADmJUUkMAAAHkAAAADnJYWVoAAAH0AAAAFGdYWVoA +AAIIAAAAFGJYWVoAAAIcAAAAFHRleHQAAAAAQ29weXJpZ2h0IDIwMDAgQWRvYmUg +U3lzdGVtcyBJbmNvcnBvcmF0ZWQAAABkZXNjAAAAAAAAABFBZG9iZSBSR0IgKDE5 +OTgpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EA +AQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAY3VydgAAAAAAAAABAjMAAGN1cnYA +AAAAAAAAAQIzAABjdXJ2AAAAAAAAAAECMwAAWFlaIAAAAAAAAJwYAABPpQAABPxY +WVogAAAAAAAANI0AAKAsAAAPlVhZWiAAAAAAAAAmMQAAEC8AAL6c/8AAEQgA6gCW +AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQ +AAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHw +JDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp +anN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TF +xsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEB +AQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUh +MQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4 +OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWW +l5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp +6vLz9PX29/j5+v/bAEMAGBgYGBgYKRgYKTopKSk6Tjo6OjpOY05OTk5OY3djY2Nj +Y2N3d3d3d3d3d4+Pj4+Pj6enp6enu7u7u7u7u7u7u//bAEMBHR8fMCwwUiwsUsSF +bYXExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE +xMTExP/dAAQACv/aAAwDAQACEQMRAD8A6KiiisiwpaSkJ4oAZK2xd3uB+fFP3CqL +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 +=+Re0 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/test/docker/shibboleth-idp/tomcat/server.xml b/src/test/docker/shibboleth-idp/tomcat/server.xml new file mode 100644 index 0000000..90ead0d --- /dev/null +++ b/src/test/docker/shibboleth-idp/tomcat/server.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java b/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java new file mode 100644 index 0000000..94d0219 --- /dev/null +++ b/src/test/java/edu/internet2/middleware/grouper/authentication/Pac4JConfigFactoryTest.java @@ -0,0 +1,372 @@ +package edu.internet2.middleware.grouper.authentication; + +import edu.internet2.middleware.grouper.authentication.plugin.ConfigUtils; +import edu.internet2.middleware.grouper.authentication.plugin.GrouperAuthentication; +import edu.internet2.middleware.grouper.authentication.plugin.Pac4jConfigFactory; +import edu.internet2.middleware.grouper.cfg.GrouperHibernateConfig; +import edu.internet2.middleware.grouper.ui.util.GrouperUiConfigInApi; +import edu.internet2.middleware.grouperClient.config.ConfigPropertiesCascadeBase; +import org.apache.commons.logging.LogFactory; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; +import org.pac4j.cas.client.CasClient; +import org.pac4j.cas.config.CasConfiguration; +import org.pac4j.cas.config.CasProtocol; +import org.pac4j.core.config.Config; +import org.pac4j.oidc.client.OidcClient; +import org.pac4j.oidc.config.OidcConfiguration; +import org.pac4j.saml.client.SAML2Client; +import org.pac4j.saml.config.SAML2Configuration; +import org.springframework.core.io.FileSystemResource; + +import java.io.IOException; +import java.time.Period; +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class Pac4JConfigFactoryTest { + MockedStatic frameworkUtilMockedStatic; + + @SuppressWarnings("unchecked") + @Before + public void setup() throws Exception { + this.frameworkUtilMockedStatic = Mockito.mockStatic(FrameworkUtil.class); + + Bundle bundle = mock(Bundle.class); + this.frameworkUtilMockedStatic.when(() -> FrameworkUtil.getBundle(GrouperAuthentication.class)).thenReturn(bundle); + + BundleContext bundleContext = mock(BundleContext.class); + when(bundle.getBundleContext()).thenReturn(bundleContext); + + + ServiceReference logFactoryServiceReference = mock(ServiceReference.class); + when(bundleContext.getAllServiceReferences("org.apache.commons.logging.LogFactory", null)).thenReturn(new ServiceReference[]{logFactoryServiceReference}); + when(bundleContext.getService(logFactoryServiceReference)).thenReturn(LogFactory.getFactory()); + + ServiceReference UIConfigPropertiesCascadeBaseServiceReference = mock(ServiceReference.class); + when(bundleContext.getServiceReferences(ConfigPropertiesCascadeBase.class, "(type=ui)")).thenReturn(Collections.singletonList(UIConfigPropertiesCascadeBaseServiceReference)); + when(bundleContext.getService(UIConfigPropertiesCascadeBaseServiceReference)).thenReturn(GrouperUiConfigInApi.retrieveConfig()); + + ServiceReference HibernateConfigPropertiesCascadeBaseServiceReference = mock(ServiceReference.class); + when(bundleContext.getServiceReferences(ConfigPropertiesCascadeBase.class, "(type=hibernate)")).thenReturn(Collections.singletonList(HibernateConfigPropertiesCascadeBaseServiceReference)); + when(bundleContext.getService(HibernateConfigPropertiesCascadeBaseServiceReference)).thenReturn(GrouperHibernateConfig.retrieveConfig()); + } + + @After + public void tearDown() { + this.frameworkUtilMockedStatic.close(); + } + + /* + reads configuration from the `grouper-ui.properties` file in the test resources directory to verify that + elconfig still works + */ + @Test + public void testElConfig() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + grouperConfig.propertiesOverrideMap().clear(); + Map properties = grouperConfig.propertiesOverrideMap(); + + properties.put("external.authentication.provider.elConfig", "${\"cas\"}"); + properties.put("external.authentication.cas.loginUrl.elConfig", "${\"login\"}"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof CasClient); + + CasConfiguration configuration = ((CasClient) config.getClients().getClients().get(0)).getConfiguration(); + Assert.assertEquals("login", configuration.getLoginUrl()); + } + + /** + * + */ + @Test + public void testPac4JConfigFactorCAS() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + grouperConfig.propertiesOverrideMap().clear(); + Map properties = grouperConfig.propertiesOverrideMap(); + properties.put("external.authentication.provider","cas"); + properties.put("external.authentication.grouperContextUrl","localhost"); + properties.put("external.authentication.callbackUrl","http://callback"); + properties.put("external.authentication.cas.encoding","UTF-8"); + properties.put("external.authentication.cas.loginUrl","login"); + properties.put("external.authentication.cas.prefixUrl","localhost"); + properties.put("external.authentication.cas.restUrl","rest"); + properties.put("external.authentication.cas.timeTolerance","1000"); + properties.put("external.authentication.cas.renew","true"); + properties.put("external.authentication.cas.gateway","false"); + properties.put("external.authentication.cas.acceptAnyProxy","true"); + properties.put("external.authentication.cas.postLogoutUrlParameter","logout"); + properties.put("external.authentication.cas.customParams","param1=value1,param2=value2,param3=value3"); + properties.put("external.authentication.cas.method","post"); + properties.put("external.authentication.cas.privateKeyPath","file:/key"); + properties.put("external.authentication.cas.privateKeyAlgorithm","AES"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof CasClient); + + CasConfiguration configuration = ((CasClient) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertEquals(properties.get("external.authentication.cas.encoding"), configuration.getEncoding()); + Assert.assertEquals(properties.get("external.authentication.cas.loginUrl"), configuration.getLoginUrl()); + Assert.assertEquals(properties.get("external.authentication.cas.prefixUrl"), configuration.getPrefixUrl()); + Assert.assertEquals(properties.get("external.authentication.cas.restUrl"), configuration.getRestUrl()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.cas.timeTolerance")), configuration.getTimeTolerance()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.cas.renew")), configuration.isRenew()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.cas.gateway")), configuration.isGateway()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.cas.acceptAnyProxy")), configuration.isAcceptAnyProxy()); + Assert.assertEquals(properties.get("external.authentication.cas.postLogoutUrlParameter"), configuration.getPostLogoutUrlParameter()); + Assert.assertEquals(properties.get("external.authentication.cas.method"), configuration.getMethod()); + Assert.assertEquals(properties.get("external.authentication.cas.privateKeyPath"), configuration.getPrivateKeyPath()); + Assert.assertEquals(properties.get("external.authentication.cas.privateKeyAlgorithm"), configuration.getPrivateKeyAlgorithm()); + Assert.assertEquals(configuration.getCustomParams().size(), Arrays.asList(properties.get("external.authentication.cas.customParams").split(",")).size()); + } + + /** + * + */ + @Test + public void testPac4JConfigFactorSAML() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + grouperConfig.propertiesOverrideMap().clear(); + Map properties = grouperConfig.propertiesOverrideMap(); + properties.put("external.authentication.provider","saml"); + properties.put("external.authentication.grouperContextUrl","localhost"); + properties.put("external.authentication.callbackUrl","http://callback"); + properties.put("external.authentication.saml.keystorePassword","changeme"); + properties.put("external.authentication.saml.privateKeyPassword","secret"); + properties.put("external.authentication.saml.certificateNameToAppend","cert"); + properties.put("external.authentication.saml.identityProviderEntityId","idPid"); + properties.put("external.authentication.saml.serviceProviderEntityId","sPEid"); + properties.put("external.authentication.saml.maximumAuthenticationLifetime","500"); + properties.put("external.authentication.saml.acceptedSkew","10"); + properties.put("external.authentication.saml.forceAuth","true"); + properties.put("external.authentication.saml.passive","false"); + properties.put("external.authentication.saml.comparisonType","close"); + properties.put("external.authentication.saml.authnRequestBindingType","urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"); + properties.put("external.authentication.saml.responseBindingType","urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"); + properties.put("external.authentication.saml.spLogoutRequestBindingType","urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"); + properties.put("external.authentication.saml.spLogoutResponseBindingType","urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"); + properties.put("external.authentication.saml.authnContextClassRefs","type1,type2,type3,type4"); + properties.put("external.authentication.saml.nameIdPolicyFormat","####"); + properties.put("external.authentication.saml.useNameQualifier","true"); + properties.put("external.authentication.saml.signMetadata","false"); + properties.put("external.authentication.saml.forceServiceProviderMetadataGeneration","true"); + properties.put("external.authentication.saml.forceKeystoreGeneration","false"); + properties.put("external.authentication.saml.authnRequestSigned","true"); + properties.put("external.authentication.saml.spLogoutRequestSigned","false"); + properties.put("external.authentication.saml.blackListedSignatureSigningAlgorithms","col1,col2,col3,col4"); + properties.put("external.authentication.saml.signatureAlgorithms","RSA,ECDSA"); + properties.put("external.authentication.saml.signatureReferenceDigestMethods","md5,sha256"); + properties.put("external.authentication.saml.signatureCanonicalizationAlgorithm","qweafsdf"); + properties.put("external.authentication.saml.wantsAssertionsSigned","true"); + properties.put("external.authentication.saml.wantsResponsesSigned","false"); + properties.put("external.authentication.saml.allSignatureValidationDisabled","true"); + properties.put("external.authentication.saml.keystoreAlias","fred"); + properties.put("external.authentication.saml.keystoreType","text"); + properties.put("external.authentication.saml.assertionConsumerServiceIndex","5"); + properties.put("external.authentication.saml.attributeConsumingServiceIndex","2"); + properties.put("external.authentication.saml.providerName","paul"); + properties.put("external.authentication.saml.attributeAsId","george"); + properties.put("external.authentication.saml.mappedAttributes","key1=value1,key2=value2,key3=value3"); + properties.put("external.authentication.saml.postLogoutURL","logout"); + properties.put("external.authentication.saml.certificateExpirationPeriod","P2Y3M5D"); + properties.put("external.authentication.saml.certificateSignatureAlg","SHA1WithRSA"); + properties.put("external.authentication.saml.privateKeySize","15"); + properties.put("external.authentication.saml.issuerFormat","urn:oasis:names:tc:SAML:2.0:nameid-format:entity"); + properties.put("external.authentication.saml.nameIdPolicyAllowCreate","true"); + properties.put("external.authentication.saml.supportedProtocols","urn:oasis:names:tc:SAML:2.0:protocol, urn:oasis:names:tc:SAML:1.0:protocol, urn:oasis:names:tc:SAML:1.1:protocol"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof SAML2Client); + + SAML2Configuration configuration = ((SAML2Client) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertEquals(properties.get("external.authentication.saml.keystorePassword"), configuration.getKeystorePassword()); + Assert.assertEquals(properties.get("external.authentication.saml.privateKeyPassword"), configuration.getPrivateKeyPassword()); + Assert.assertEquals(properties.get("external.authentication.saml.certificateNameToAppend"), configuration.getCertificateNameToAppend()); + Assert.assertEquals(properties.get("external.authentication.saml.identityProviderEntityId"), configuration.getIdentityProviderEntityId()); + Assert.assertEquals(properties.get("external.authentication.saml.serviceProviderEntityId"), configuration.getServiceProviderEntityId()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.maximumAuthenticationLifetime")), configuration.getMaximumAuthenticationLifetime()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.acceptedSkew")), configuration.getAcceptedSkew()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.forceAuth")), configuration.isForceAuth()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.passive")), configuration.isPassive()); + Assert.assertEquals(properties.get("external.authentication.saml.comparisonType"), configuration.getComparisonType()); + Assert.assertEquals(properties.get("external.authentication.saml.authnRequestBindingType"), configuration.getAuthnRequestBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.responseBindingType"), configuration.getResponseBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.spLogoutRequestBindingType"), configuration.getSpLogoutRequestBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.spLogoutResponseBindingType"), configuration.getSpLogoutResponseBindingType()); + Assert.assertEquals(properties.get("external.authentication.saml.nameIdPolicyFormat"), configuration.getNameIdPolicyFormat()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.useNameQualifier")), configuration.isUseNameQualifier()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.signMetadata")), configuration.isSignMetadata()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.forceServiceProviderMetadataGeneration")), configuration.isForceServiceProviderMetadataGeneration()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.forceKeystoreGeneration")), configuration.isForceKeystoreGeneration()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.authnRequestSigned")), configuration.isAuthnRequestSigned()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.spLogoutRequestSigned")), configuration.isSpLogoutRequestSigned()); + Assert.assertEquals(properties.get("external.authentication.saml.signatureCanonicalizationAlgorithm"), configuration.getSignatureCanonicalizationAlgorithm()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.wantsAssertionsSigned")), configuration.isWantsAssertionsSigned()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.wantsResponsesSigned")), configuration.isWantsResponsesSigned()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.allSignatureValidationDisabled")), configuration.isAllSignatureValidationDisabled()); + Assert.assertEquals(properties.get("external.authentication.saml.keystoreAlias"), configuration.getKeyStoreAlias()); + Assert.assertEquals(properties.get("external.authentication.saml.keystoreType"), configuration.getKeyStoreType()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.assertionConsumerServiceIndex")), configuration.getAssertionConsumerServiceIndex()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.attributeConsumingServiceIndex")), configuration.getAttributeConsumingServiceIndex()); + Assert.assertEquals(properties.get("external.authentication.saml.providerName"), configuration.getProviderName()); + Assert.assertEquals(properties.get("external.authentication.saml.attributeAsId"), configuration.getAttributeAsId()); + Assert.assertEquals(properties.get("external.authentication.saml.postLogoutURL"), configuration.getPostLogoutURL()); + Assert.assertEquals(Period.parse(properties.get("external.authentication.saml.certificateExpirationPeriod")), configuration.getCertificateExpirationPeriod()); + Assert.assertEquals(properties.get("external.authentication.saml.certificateSignatureAlg"), configuration.getCertificateSignatureAlg()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.saml.privateKeySize")), configuration.getPrivateKeySize()); + Assert.assertEquals(properties.get("external.authentication.saml.issuerFormat"), configuration.getIssuerFormat()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.saml.nameIdPolicyAllowCreate")), configuration.isNameIdPolicyAllowCreate()); + Assert.assertEquals(configuration.getAuthnContextClassRefs().size(), Arrays.asList(properties.get("external.authentication.saml.authnContextClassRefs").split(",")).size()); + Assert.assertEquals(configuration.getBlackListedSignatureSigningAlgorithms().size(), Arrays.asList(properties.get("external.authentication.saml.blackListedSignatureSigningAlgorithms").split(",")).size()); + Assert.assertEquals(configuration.getSignatureReferenceDigestMethods().size(), Arrays.asList(properties.get("external.authentication.saml.signatureReferenceDigestMethods").split(",")).size()); + Assert.assertEquals(configuration.getMappedAttributes().size(), Arrays.asList(properties.get("external.authentication.saml.mappedAttributes").split(",")).size()); + Assert.assertEquals(configuration.getSupportedProtocols().size(), Arrays.asList(properties.get("external.authentication.saml.supportedProtocols").split(",")).size()); + } + + /** + * + */ + @Test + public void testPac4JConfigFactorOidc() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + grouperConfig.propertiesOverrideMap().clear(); + Map properties = grouperConfig.propertiesOverrideMap(); + properties.put("external.authentication.provider","oidc"); + properties.put("external.authentication.grouperContextUrl","localhost"); + properties.put("external.authentication.callbackUrl","http://callback"); + properties.put("external.authentication.oidc.clientId","myClientId"); + properties.put("external.authentication.oidc.secret","secret"); + properties.put("external.authentication.oidc.discoveryURI","https://localhost/oidc"); + properties.put("external.authentication.oidc.scope","PUBLIC"); + properties.put("external.authentication.oidc.customParams","key1=value1, key2=value2, key3=value3"); + properties.put("external.authentication.oidc.useNonce","true"); + properties.put("external.authentication.oidc.disablePkce","false"); + properties.put("external.authentication.oidc.maxAge","60000"); + properties.put("external.authentication.oidc.maxClockSkew","10000"); + properties.put("external.authentication.oidc.responseMode","token"); + properties.put("external.authentication.oidc.logoutUrl","logout"); + properties.put("external.authentication.oidc.connectTimeout","30000"); + properties.put("external.authentication.oidc.readTimeout","15000"); + properties.put("external.authentication.oidc.withState","false"); + properties.put("external.authentication.oidc.expireSessionWithToken","true"); + properties.put("external.authentication.oidc.tokenExpirationAdvance","5000"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof OidcClient); + + OidcConfiguration configuration = ((OidcClient) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertEquals(properties.get("external.authentication.oidc.clientId"), configuration.getClientId()); + Assert.assertEquals(properties.get("external.authentication.oidc.secret"), configuration.getSecret()); + Assert.assertEquals(properties.get("external.authentication.oidc.discoveryURI"), configuration.getDiscoveryURI()); + Assert.assertEquals(properties.get("external.authentication.oidc.scope"), configuration.getScope()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.useNonce")), configuration.isUseNonce()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.disablePkce")), configuration.isDisablePkce()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.maxAge")), configuration.getMaxAge().intValue()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.maxClockSkew")), configuration.getMaxClockSkew()); + Assert.assertEquals(properties.get("external.authentication.oidc.responseMode"), configuration.getResponseMode()); + Assert.assertEquals(properties.get("external.authentication.oidc.logoutUrl"), configuration.getLogoutUrl()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.connectTimeout")), configuration.getConnectTimeout()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.readTimeout")), configuration.getReadTimeout()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.withState")), configuration.isWithState()); + Assert.assertEquals(Boolean.parseBoolean(properties.get("external.authentication.oidc.expireSessionWithToken")), configuration.isExpireSessionWithToken()); + Assert.assertEquals(Integer.parseInt(properties.get("external.authentication.oidc.tokenExpirationAdvance")), configuration.getTokenExpirationAdvance()); + Assert.assertEquals(configuration.getCustomParams().size(), Arrays.asList(properties.get("external.authentication.oidc.customParams").split(",")).size()); + } + + @Test + public void testPac4jForManualProvider() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + grouperConfig.propertiesOverrideMap().clear(); + Map overrides = grouperConfig.propertiesOverrideMap(); + overrides.put("external.authentication.provider", "edu.internet2.middleware.grouper.authentication.plugin.config.SAML2ClientProvider"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof SAML2Client); + + Assert.assertTrue(true); + } + + @Test + public void testPac4jConfigMethodFind() throws IOException { + // external.authentication.saml.identityProviderMetadataPath = file:/opt/grouper/idp-metadata.xml + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + + grouperConfig.propertiesOverrideMap().clear(); + Map overrides = grouperConfig.propertiesOverrideMap(); + overrides.put("external.authentication.provider","saml"); + overrides.put("external.authentication.grouperContextUrl","localhost"); + overrides.put("external.authentication.callbackUrl","http://callback"); + overrides.put("external.authentication.saml.identityProviderMetadataPath", "file:/opt/grouper/idp-metadata.xml"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + SAML2Configuration configuration = ((SAML2Client) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertTrue(configuration.getIdentityProviderMetadataResource().isFile() && ((FileSystemResource)configuration.getIdentityProviderMetadataResource()).getPath().equals("/opt/grouper/idp-metadata.xml")); + } + @Test + public void testPac4jConfigEnum() throws IOException { + // external.authentication.saml.identityProviderMetadataPath = file:/opt/grouper/idp-metadata.xml + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + + grouperConfig.propertiesOverrideMap().clear(); + Map overrides = grouperConfig.propertiesOverrideMap(); + overrides.put("external.authentication.provider","cas"); + overrides.put("external.authentication.cas.protocol", "CAS20"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + CasConfiguration configuration = ((CasClient) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertTrue(CasProtocol.CAS20.equals(configuration.getProtocol())); + } + + @Test + public void testConfigTestRename() { + ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getConfigPropertiesCascadeBase("ui"); + + grouperConfig.propertiesOverrideMap().clear(); + Map overrides = grouperConfig.propertiesOverrideMap(); + overrides.put("external.authentication.provider","saml"); + overrides.put("external.authentication.saml.keyStoreAlias","fred"); + overrides.put("external.authentication.saml.keyStoreType","keystoretype"); + + Pac4jConfigFactory pac4jConfigFactory = new Pac4jConfigFactory(); + Config config = pac4jConfigFactory.build(); + + Assert.assertTrue(config.getClients().getClients().get(0) instanceof SAML2Client); + + SAML2Configuration configuration = ((SAML2Client) config.getClients().getClients().get(0)).getConfiguration(); + + Assert.assertEquals(overrides.get("external.authentication.saml.keyStoreAlias"), configuration.getKeyStoreAlias()); + Assert.assertEquals(overrides.get("external.authentication.saml.keyStoreType"), configuration.getKeyStoreType()); + } +} \ No newline at end of file diff --git a/src/test/resources/grouper-ui.properties b/src/test/resources/grouper-ui.properties new file mode 100644 index 0000000..88f1520 --- /dev/null +++ b/src/test/resources/grouper-ui.properties @@ -0,0 +1 @@ +grouperUi.config.hierarchy = classpath:grouper-ui-ng.base.properties, classpath:grouper-ui.properties \ No newline at end of file diff --git a/src/test/resources/grouper.client.properties b/src/test/resources/grouper.client.properties new file mode 100644 index 0000000..706b439 --- /dev/null +++ b/src/test/resources/grouper.client.properties @@ -0,0 +1 @@ +grouperClient.config.hierarchy = classpath:grouper.base.properties, classpath:grouper.properties \ No newline at end of file diff --git a/src/test/resources/grouper.hibernate.properties b/src/test/resources/grouper.hibernate.properties new file mode 100644 index 0000000..1662f72 --- /dev/null +++ b/src/test/resources/grouper.hibernate.properties @@ -0,0 +1 @@ +grouper.is.ui = true \ No newline at end of file diff --git a/src/test/resources/grouper.properties b/src/test/resources/grouper.properties new file mode 100644 index 0000000..6145c4f --- /dev/null +++ b/src/test/resources/grouper.properties @@ -0,0 +1,2 @@ +grouper.config.hierarchy = classpath:grouper.base.properties, classpath:grouper.properties +grouper.osgi.enable = true \ No newline at end of file diff --git a/src/test/resources/log4j2.xml b/src/test/resources/log4j2.xml new file mode 100644 index 0000000..7176ce6 --- /dev/null +++ b/src/test/resources/log4j2.xml @@ -0,0 +1,47 @@ + + + + %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file