Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 使用startTLS将WSO2 Identity Server连接到外部LDAP源_Ssl_Ldap_Wso2_Openldap_Wso2is - Fatal编程技术网

Ssl 使用startTLS将WSO2 Identity Server连接到外部LDAP源

Ssl 使用startTLS将WSO2 Identity Server连接到外部LDAP源,ssl,ldap,wso2,openldap,wso2is,Ssl,Ldap,Wso2,Openldap,Wso2is,我们最近将内部ApacheDS嵌入式LDAP服务迁移到WSO2 Identity server(4.6.0)中的外部OpenLDAP服务器。这在上个月一直运作良好 为了进一步保护环境,我创建了一个新的OpenLDAP集群,它强制使用TLS(startTLS)。下面是我的user-mgt.xml文件。我还将cacert.pem从OpenLDAP服务器导入了两个IS节点上的./resources/security/client-truststore.jks 启动时,我收到以下错误: 无法创建到LDA

我们最近将内部ApacheDS嵌入式LDAP服务迁移到WSO2 Identity server(4.6.0)中的外部OpenLDAP服务器。这在上个月一直运作良好

为了进一步保护环境,我创建了一个新的OpenLDAP集群,它强制使用TLS(startTLS)。下面是我的user-mgt.xml文件。我还将cacert.pem从OpenLDAP服务器导入了两个IS节点上的./resources/security/client-truststore.jks

启动时,我收到以下错误:

无法创建到LDAP服务器的连接。错误消息获取连接时出错。[LDAP:错误代码13-需要TLS保密性]

下面是我的user-mgt.xml

            <UserManager>
            <Realm>
                <Configuration>
                        <AddAdmin>true</AddAdmin>
                        <AdminRole>admin</AdminRole>
                        <AdminUser>
                             <UserName>admin</UserName>
                             <Password>SECRET</Password>
                        </AdminUser>
                    <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root -->
                    <Property name="dataSource">jdbc/bpsdbq</Property>
                </Configuration>


                <!-- If product is using an external LDAP as the user store in read/write mode, use following user manager
                        In case if user core cache domain is needed to identify uniquely set property <Property name="UserCoreCacheIdentifier">domain</Property>
                -->
                <UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager">
                    <Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property>
                    <Property name="ConnectionURL">ldap://ourldap.server.com</Property>
                    <Property name="Disabled">false</Property>
                    <Property name="ConnectionName">cn=admin,dc=wso2,dc=org</Property>
                    <Property name="ConnectionPassword">SECRET</Property>
                    <Property name="passwordHashMethod">SHA</Property>
                    <Property name="UserNameListFilter">(objectClass=person)</Property>
                    <Property name="UserEntryObjectClass">inetOrgPerson</Property>
                    <Property name="UserSearchBase">ou=users,dc=wso2,dc=org</Property>
                    <Property name="UserNameSearchFilter">(&amp;(objectClass=person)(cn=?))</Property>
                    <Property name="UserNameAttribute">cn</Property>
                    <Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
                    <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
                    <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
                    <Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
                    <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property>
                    <Property name="ReadGroups">true</Property>
                    <Property name="WriteGroups">true</Property>
                    <Property name="EmptyRolesAllowed">false</Property>
                    <Property name="GroupSearchBase">ou=groups,dc=wso2,dc=org</Property>
                    <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
                    <Property name="GroupEntryObjectClass">groupOfNames</Property>
                    <Property name="GroupNameSearchFilter">(&amp;(objectClass=groupOfNames)(cn=?))</Property>
                    <Property name="GroupNameAttribute">cn</Property>
                    <Property name="SharedGroupNameAttribute">cn</Property>
                    <Property name="SharedGroupSearchBase">ou=SharedGroups,dc=wso2,dc=org</Property>
                    <Property name="SharedGroupEntryObjectClass">groupOfNames</Property>
                    <Property name="SharedGroupNameListFilter">(objectClass=groupOfNames)</Property>
                    <Property name="SharedGroupNameSearchFilter">(&amp;(objectClass=groupOfNames)(cn=?))</Property>
                    <Property name="SharedTenantNameListFilter">(objectClass=organizationalUnit)</Property>
                    <Property name="SharedTenantNameAttribute">ou</Property>
                    <Property name="SharedTenantObjectClass">organizationalUnit</Property>
                    <Property name="MembershipAttribute">member</Property>
                    <Property name="UserRolesCacheEnabled">true</Property>
                    <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property>
                    <Property name="MaxRoleNameListLength">100</Property>
                    <Property name="MaxUserNameListLength">100</Property>
                    <Property name="SCIMEnabled">false</Property>
                </UserStoreManager>


                <AuthorizationManager
                    class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
                    <Property name="AdminRoleManagementPermissions">/permission</Property>
                    <Property name="AuthorizationCacheEnabled">true</Property>
                </AuthorizationManager>
            </Realm>
        </UserManager>

真的
管理
管理
秘密
每个人
jdbc/bpsdbq
org.wso2.carbon.user.core.tenant.CommonHybridlDaptentManager
ldap://ourldap.server.com
假的
cn=admin,dc=wso2,dc=org
秘密
沙
(objectClass=person)
伊内托格人
ou=用户,dc=wso2,dc=org
(&;(objectClass=person)(cn=?)
cn
[a-zA-Z0-9.|-|/][3,30}$
^[\S]{3,30}$
^[\S]{3,30}$
[a-zA-Z0-9.|-|/][3,30}$
^[\S]{5,30}$
真的
真的
假的
ou=团体,dc=wso2,dc=组织
(objectClass=groupOfNames)
群名
(&;(objectClass=groupof名称)(cn=?)
cn
cn
ou=SharedGroup,dc=wso2,dc=org
群名
(objectClass=groupOfNames)
(&;(objectClass=groupof名称)(cn=?)
(objectClass=organizationalUnit)
欧点
组织单元
成员
真的
真的
100
100
假的
/许可
真的
任何帮助都将不胜感激


谢谢

WSO2IS不支持连接
startTLS
。你可以找到一个开放的。但是,您可以使用普通SSL/TLS进行连接。是的..然后您需要将openLDAP证书导入到
resources/security/client truststore.jks
中,并连接到openLDAP的SSL
LDAPS
端口。切换到LDAP效果很好。由于ldaps是为了支持startTLS而去润滑的,我希望它已经与WSO2集成。我希望它能在未来发布。WSO2支持部门今天确认startTLS已经在他们的路线图上,所以我们应该期待在将来看到它。谢谢,现在支持