'---- Configure the SASL EXTERNAL mechanism -----' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : 'cn=EXTERNAL,cn=SASL Mechanisms,cn=config', 'attributeName' : 'ds-cfg-certificate-mapper-dn', 'newAttributeValue' : 'cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config', 'changetype' : 'replace', 'expectedRC' : 0 } '----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_1_DN '----- ds-certificate-subject-dn is the subject of the certificate %s '% USER_1_CERT { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_1_DN, 'attributeName' : 'ds-certificate-subject-dn', 'newAttributeValue' : USER_1_DN, 'changetype' : 'add', 'expectedRC' : 0 } '----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_2_DN '------ ds-certificate-subject-dn contains an invalid DN' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_2_DN, 'attributeName' : 'ds-certificate-subject-dn', 'newAttributeValue' : 'uid=bad-certificate', 'changetype' : 'add', 'expectedRC' : 0 } '--- Check SSL communication with SASL EXTERNAL authentication' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseSSL' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_1_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 0 } { 'string2find' : USER_1_DN , 'mainString' : ldapSearchResult , 'nbExpected' : 1 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseSSL' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_2_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 49 } '--- Check StartTLS communication with SASL EXTERNAL authentication' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseStartTLS' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_1_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 0 } { 'string2find' : USER_1_DN , 'mainString' : ldapSearchResult , 'nbExpected' : 1 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseStartTLS' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_2_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 49 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_1_DN, 'attributeName' : 'ds-certificate-subject-dn', 'newAttributeValue' : USER_1_DN, 'changetype' : 'delete', 'expectedRC' : 0 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_2_DN, 'attributeName' : 'ds-certificate-subject-dn', 'newAttributeValue' : 'uid=bad-certificate', 'changetype' : 'delete', 'expectedRC' : 0 } '----- Configure the mapping to be done on the attribute description' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : 'cn=Subject DN to User Attribute,cn=Certificate Mappers,cn=config', 'attributeName' : 'ds-cfg-certificate-subject-attribute-type', 'newAttributeValue' : 'description', 'changetype' : 'replace', 'expectedRC' : 0 } '----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_1_DN { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_1_DN, 'attributeName' : 'description', 'newAttributeValue' : 'bad_cert', 'changetype' : 'add', 'expectedRC' : 0 } '----- Configure the attribute ds-certificate-subject-dn for user %s ---' % USER_2_DN '------ ds-certificate-subject-dn contains an invalid DN' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_2_DN, 'attributeName' : 'description', 'newAttributeValue' : USER_2_DN, 'changetype' : 'add', 'expectedRC' : 0 } '--- Check SSL communication with SASL EXTERNAL authentication' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseSSL' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_1_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 49 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseSSL' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_2_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 0 } { 'string2find' : USER_2_DN , 'mainString' : ldapSearchResult , 'nbExpected' : 1 } '--- Check StartTLS communication with SASL EXTERNAL authentication' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseStartTLS' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_1_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base', 'expectedRC' : 49 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, 'dsFilter' : 'objectclass=*' , 'dsKeyStorePassword' : CLIENT_STOREPASS, 'dsUseStartTLS' : ' ', 'dsUseSASLExternal' : ' ', 'dsCertNickname' : USER_2_CERT, 'dsTrustStorePath' : CLIENT_KEYSTORE, 'dsKeyStorePath' : CLIENT_KEYSTORE, 'dsReportAuthzID' : ' ', 'dsScope' : 'base' , 'expectedRC' : 0 } { 'string2find' : USER_2_DN , 'mainString' : ldapSearchResult , 'nbExpected' : 1 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_1_DN, 'attributeName' : 'description', 'newAttributeValue' : 'bad_cert', 'changetype' : 'delete', 'expectedRC' : 0 } { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'DNToModify' : USER_2_DN, 'attributeName' : 'description', 'newAttributeValue' : USER_2_DN, 'changetype' : 'delete', 'expectedRC' : 0 }