5065N/A<?xml version="1.0" encoding="UTF-8" standalone="no"?>
5065N/A<!DOCTYPE stax SYSTEM "/shared/stax.dtd">
5065N/A<!--
5065N/A ! CDDL HEADER START
5065N/A !
5065N/A ! The contents of this file are subject to the terms of the
5065N/A ! Common Development and Distribution License, Version 1.0 only
5065N/A ! (the "License"). You may not use this file except in compliance
5065N/A ! with the License.
5065N/A !
6982N/A ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
6982N/A ! or http://forgerock.org/license/CDDLv1.0.html.
5065N/A ! See the License for the specific language governing permissions
5065N/A ! and limitations under the License.
5065N/A !
5065N/A ! When distributing Covered Code, include this CDDL HEADER in each
6982N/A ! file and include the License file at legal-notices/CDDLv1_0.txt.
6982N/A ! If applicable, add the following below this CDDL HEADER, with the
6982N/A ! fields enclosed by brackets "[]" replaced with your own identifying
6982N/A ! information:
5065N/A ! Portions Copyright [yyyy] [name of copyright owner]
5065N/A !
5065N/A ! CDDL HEADER END
5065N/A !
5065N/A ! Copyright 2010 Sun Microsystems, Inc.
6049N/A ! Portions Copyright 2013 ForgeRock AS
5065N/A ! -->
5065N/A<stax>
5065N/A
5065N/A <defaultcall function="clus_saslexternal_fingerprint"/>
5065N/A
5065N/A <function name="clus_saslexternal_fingerprint" scope="local">
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <block name="'clus_saslexternal_fingerprint'">
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <!--- Test Suite information
5065N/A #@TestSuiteName SASL external fingerprint mapper
5065N/A check behaviors
5065N/A #@TestSuitePurpose Test the results of ldap commands in the case
5065N/A of fingerprint mapper
5065N/A #@TestSuiteGroup ldapdmodify check behavior tests
5065N/A #@TestScript clus_saslexternal_fingerprint.xml
5065N/A -->
5065N/A <script>
5065N/A if not CurrentTestPath.has_key('group'):
5065N/A CurrentTestPath['group'] = 'clu_secure'
5065N/A CurrentTestPath['suite'] = STAXCurrentBlock
5065N/A </script>
5065N/A
5065N/A <call function="'testSuite_Preamble'"/>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker SASL external fingerprint blind trust
5065N/A check behaviors
5065N/A #@TestName Fingerprint to user attribute :
5065N/A server trust all client certificates
5065N/A #@TestPurpose Test fingerprint certificate mapper
5065N/A with blind trust
5065N/A #@TestPreamble none
5065N/A #@TestStep Create a client-350-cert with dname
5065N/A "uid=user.350,ou=People,dc=com"
5065N/A #@TestStep Configure fingerprint certificate mapper
5065N/A with blind trust
5065N/A #@TestStep Make a ldapsearch using client-350-cert :
5065N/A should fail
5065N/A #@TestStep Add client-350-cert fingerprint to
5065N/A user.350 attribute
5065N/A #@TestStep Make a ldapsearch using client-350-cert :
5065N/A should success
5065N/A return "Anatoly"
5065N/A #@TestStep Allow user.350 to delete user.42*
5065N/A #@TestStep Make a ldapdelete using client-350-cert :
5065N/A should success
5065N/A #@TestStep Make a ldapseach using client-350-cert :
5065N/A should success
5065N/A return "total number of matching entries: 0"
5065N/A #@TestPostamble none
5065N/A #@TestResult Success if ldapseach after delete return
5065N/A "Total number of matching entries: 0"
5065N/A -->
6049N/A <testcase name="getTestCaseName('Fingerprint to user attribute : server trust all client certificates')">
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <!-- Create user.350 Certificate -->
5065N/A <message>
5065N/A 'SASL External : Client certicate :Step 1. Generating user.350 \
5065N/A client certificate'
5065N/A </message>
5065N/A <call function="'genCertificate'">
5065N/A {
5065N/A 'certAlias' : 'client-350-cert' ,
5065N/A 'dname' : "uid=user.350,ou=People,dc=com",
5065N/A 'keystore' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'storepass' : 'clientkeystorepass',
5065N/A 'keypass' : 'clientkeystorepass',
5065N/A 'storetype' : 'JKS'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: Client certicate :Step 2. Self-Signing user.350 \
5065N/A client Certicate'
5065N/A </message>
5065N/A <call function="'SelfSignCertificate'">
5065N/A {
5065N/A 'certAlias' : 'client-350-cert' ,
5065N/A 'storepass' : 'clientkeystorepass',
5065N/A 'keypass' : 'clientkeystorepass',
5065N/A 'keystore' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'storetype' : 'JKS'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: export : export user.350 certificate'
5065N/A </message>
5065N/A <call function="'ExportCertificate'">
5065N/A {
5065N/A 'certAlias' : 'client-350-cert' ,
5065N/A 'keystore' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'storepass' : 'clientkeystorepass',
5065N/A 'outputfile' : '%s/client_cert/client-350-cert.txt'\
5065N/A %(InstanceInstallDir),
5065N/A 'storetype' : 'JKS',
5065N/A 'format' : 'rfc'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'addCertificate'">
5065N/A {
5065N/A 'userdn' : 'uid=user.350,ou=People,dc=com',
5065N/A 'user_cert_file_rfc': '%s/client_cert/client-350-cert.txt' \
5065N/A %(InstanceInstallDir),
5065N/A 'ldif_path' : '%s/client_cert/client-350-cert.ldif' \
5065N/A %(InstanceInstallDir)
5065N/A }
5065N/A </call>
5065N/A
5065N/A <!--- Enable Subject DN to user attribute with blind trust-->
5065N/A <message>
5065N/A 'SASL External: configure : Enable subject DN to user attribute \
5065N/A with blind trust'
5065N/A </message>
5065N/A <call function="'configureSASL'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'KeyMgr' : 'JKSPROVIDER',
5065N/A 'keystoreFile' : 'config/serverkeystore',
5065N/A 'keystorePin' : 'keystorepass',
5065N/A 'handlerName' : 'EXTERNAL',
5065N/A 'certMapper' : 'Fingerprint Mapper',
5065N/A 'optionSaSL' : '--set certificate-validation-policy:always',
5065N/A 'certAlias' : 'server-cert2'
5065N/A }
5065N/A </call>
5065N/A
5065N/A
5065N/A <message>
5065N/A 'SASL External: Test fingerpint mapper : try to connect with \
5065N/A user.120 certificate'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapSearchWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword': 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-120-cert',
5065N/A 'dsReportAuthzID' : ' ',
5065N/A 'dsBaseDN' : 'dc=com' ,
5065N/A 'dsFilter' : 'uid=user.585' ,
5065N/A 'dsAttributes' : 'givenName',
5065N/A 'expectedRC' : 49
5065N/A }
5065N/A </call>
5065N/A
5065N/A <script>
5065N/A returnString = STAXResult[0][1]
5065N/A </script>
5065N/A <call function="'checktestString'">
5065N/A {
5065N/A 'returnString' : returnString ,
5065N/A 'expectedString' : 'Invalid Credentials'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <!-- get the fingerprint for user.350 -->
5065N/A <call function="'getFingerprint'">
5065N/A {
5065N/A 'certAlias' : 'client-350-cert',
5065N/A 'storepass' : 'clientkeystorepass',
5065N/A 'keystore' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir)
5065N/A }
5065N/A </call>
5065N/A
5065N/A <script>
5065N/A STAXCode = RC
5065N/A certificateResult = STAXResult[0][1]
5065N/A </script>
5065N/A <script>
5065N/A string_len=len(certificateResult)
5065N/A index_MD5=certificateResult.find("MD5:")
5065N/A index_SHA1=certificateResult.find("SHA1:")
5065N/A index_Signature=certificateResult.find\
5065N/A ("Signature algorithm name:")
5065N/A MD5_fingerprint_user350=certificateResult\
5065N/A [index_MD5+5:index_SHA1].strip()
5065N/A if index_Signature == -1:
5065N/A SHA1_fingerprint_user350=certificateResult\
5065N/A [index_SHA1+5:string_len].strip()
5065N/A else:
5065N/A SHA1_fingerprint_user350=certificateResult\
5065N/A [index_SHA1+5:index_Signature].strip()
5065N/A </script>
5065N/A
5065N/A <message>
5065N/A 'SASL External: configure : add ds-certificate-fingerprint \
5065N/A attribute in user.350 entry'
5065N/A </message>
5065N/A
5065N/A <call function="'modifyAnAttribute'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'DNToModify' : 'uid=user.350,ou=people,dc=com',
5065N/A 'attributeName' : 'ds-certificate-fingerprint',
5065N/A 'newAttributeValue': MD5_fingerprint_user350,
5065N/A 'changetype' : 'add',
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A
5065N/A <!---Test Subject DN to user attribute ldapdelete behaviors -->
5065N/A <message>
5065N/A 'SASL External: Test fingerpint mapper : try to connect with \
5065N/A user.350 certificate'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapSearchWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsReportAuthzID' : ' ',
5065N/A 'dsBaseDN' : 'dc=com' ,
5065N/A 'dsFilter' : 'uid=user.420' ,
5065N/A 'dsAttributes' : 'givenName',
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A
5065N/A <script>
5065N/A returnString = STAXResult[0][1]
5065N/A </script>
5065N/A <call function="'checktestString'">
5065N/A {
5065N/A 'returnString' : returnString ,
5065N/A 'expectedString' : 'Anitra'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: aci : allow permission delete for user.350'
5065N/A </message>
5065N/A <script>
5065N/A aci_allowdelete = 'clu_secure/clus_sasl_allowdelete.ldif'
5065N/A </script>
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsFilename' : '%s/%s' % (remote.data,aci_allowdelete),
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: ldapdelete : delete user.420'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsDn' : ['uid=user.420,ou=people,dc=com'],
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'ldapSearchWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsCountEntries' : 'True' ,
5065N/A 'dsReportAuthzID' : ' ',
5065N/A 'dsBaseDN' : 'dc=com' ,
5065N/A 'dsFilter' : 'uid=user.420' ,
5065N/A 'expectedRC' : 'noCheck'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <script>
5065N/A returnString = STAXResult[0][1]
5065N/A </script>
5065N/A <call function="'checktestString'">
5065N/A {
5065N/A 'returnString' : returnString ,
5065N/A 'expectedString' : 'Total number of matching entries: 0'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'testCase_Postamble'"/>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A </testcase>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker SASL external fingerprint TrustStore
5065N/A check behaviors
5065N/A #@TestName Fingerprint to user attribute :
5065N/A server use TrustStore
5065N/A #@TestPurpose Test fingerprint certificate mapper
5065N/A withTrustStore
5065N/A #@TestPreamble none
5065N/A #@TestStep Configure fingerprint certificate mapper
5065N/A with TrustStore
5065N/A #@TestStep Make a ldapdelete using client-350-cert :
5065N/A should fail
5065N/A #@TestStep Add client-350-cert certificate
5065N/A into server TrustStore
5065N/A #@TestStep Make a ldapsearch using client-350-cert :
5065N/A should success
5065N/A return "Total number of matching entries: 1"
5065N/A #@TestStep Make a ldapdelete using client-350-cert :
5065N/A should success
5065N/A #@TestStep Make a ldapseach using client-350-cert :
5065N/A should success
5065N/A return "total number of matching entries: 0"
5065N/A #@TestPostamble none
5065N/A #@TestResult Success if ldapseach after delete return
5065N/A "Total number of matching entries: 0"
5065N/A -->
5065N/A
5065N/A <testcase name="getTestCaseName('Fingerprint mapper: with trust file manager')">
5065N/A <sequence>
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <!--- Test SASL External Subject DN to user attribute with truststore -->
5065N/A
5065N/A <message>
5065N/A 'SASL External: configure : Enable subject SN to user attribute \
5065N/A with TrustStore file'
5065N/A </message>
5065N/A <call function="'configureSASL'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'KeyMgr' : 'JKSPROVIDER',
5065N/A 'optionSaSL' : '--set certificate-validation-policy:always',
5065N/A 'keystoreFile' : 'config/serverkeystore',
5065N/A 'keystorePin' : 'keystorepass',
5065N/A 'trustMgr' : 'JKS',
5065N/A 'truststoreFile' : 'config/servertruststore',
5065N/A 'truststorePin' : 'truststorepass',
5065N/A 'handlerName' : 'EXTERNAL',
5065N/A 'certMapper' : 'Fingerprint mapper',
5065N/A 'certAlias' : 'server-cert2'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: ldapdelete : delete allow but certificate not in \
5065N/A TrustStore'
5065N/A </message>
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsDn' : ['uid=user.421,ou=people,dc=com'],
5065N/A 'expectedRC' : 81
5065N/A }
5065N/A </call>
5065N/A
5065N/A <!--- Add the user.350 certificate to the server truststore -->
5065N/A
5065N/A <message>
5065N/A 'SASL External: import : import user.350 certificate to server \
5065N/A truststore'
5065N/A </message>
5065N/A <call function="'ImportCertificate'">
5065N/A {
5065N/A 'certAlias' : 'client-350-cert',
5065N/A 'inputfile' : '%s/client_cert/client-350-cert.txt' \
5065N/A %(InstanceInstallDir),
5065N/A 'keystore' : '%s/config/servertruststore' %(InstanceInstallDir),
5065N/A 'storepass' : 'truststorepass',
5065N/A 'storetype' : 'JKS'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: restart LDAPS connection handler to re-read trustore'
5065N/A </message>
5065N/A <call function="'dsconfig'">
5065N/A { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'subcommand' : 'set-connection-handler-prop',
5065N/A 'objectType' : 'handler-name' ,
5065N/A 'objectName' : 'LDAPS Connection Handler',
5065N/A 'optionsString' : '--set enabled:false' ,
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A <call function="'dsconfig'">
5065N/A { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'subcommand' : 'set-connection-handler-prop',
5065N/A 'objectType' : 'handler-name' ,
5065N/A 'objectName' : 'LDAPS Connection Handler',
5065N/A 'optionsString' : '--set enabled:true' ,
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'ldapSearchWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsCountEntries' : 'True' ,
5065N/A 'dsReportAuthzID' : ' ',
5065N/A 'dsBaseDN' : 'dc=com' ,
5065N/A 'dsFilter' : 'uid=user.421' ,
5065N/A 'expectedRC' : 'noCheck'
5065N/A }
5065N/A </call>
5065N/A <script>
5065N/A returnString = STAXResult[0][1]
5065N/A </script>
5065N/A
5065N/A <call function="'checktestString'">
5065N/A {
5065N/A 'returnString' : returnString ,
5065N/A 'expectedString' : 'Total number of matching entries: 1'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'SASL External: ldapdelete : delete user.421'
5065N/A </message>
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsDn' : ['uid=user.421,ou=people,dc=com'],
5065N/A 'expectedRC' : 0
5065N/A }
5065N/A </call>
5065N/A <call function="'ldapSearchWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
5065N/A 'dsUseSSL' : ' ' ,
5065N/A 'dsTrustAll' : ' ' ,
5065N/A 'dsUseSASLExternal': ' ',
5065N/A 'dsKeyStorePath' : '%s/client_cert/clientkeystore' \
5065N/A %(InstanceInstallDir),
5065N/A 'dsKeyStorePassword' : 'clientkeystorepass',
5065N/A 'dsCertNickname' : 'client-350-cert',
5065N/A 'dsReportAuthzID' : ' ',
5065N/A 'dsCountEntries' : 'True' ,
5065N/A 'dsBaseDN' : 'dc=com' ,
5065N/A 'dsFilter' : 'uid=user.421' ,
5065N/A 'expectedRC' : 'noCheck'
5065N/A }
5065N/A </call>
5065N/A <script>
5065N/A returnString = STAXResult[0][1]
5065N/A </script>
5065N/A
5065N/A <call function="'checktestString'">
5065N/A {
5065N/A 'returnString' : returnString ,
5065N/A 'expectedString' : 'Total number of matching entries: 0'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </sequence>
5065N/A </testcase>
5065N/A
5065N/A
5065N/A <call function="'testSuite_Postamble'"/>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A </block>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A </function>
5065N/A
5065N/A</stax>
5065N/A
5065N/A
5065N/A
5065N/A