hyperledger fabric-ca server配置openldap

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hyperledger fabric-ca server配置openldap相关的知识,希望对你有一定的参考价值。

有没有人用Fabric-CA (1.2.0-stable)服务器成功配置openldap服务器?

我在日志中看到这个错误:

2018/09/03 01:34:01 [DEBUG] Creating new LDAP client for { Enabled:true URL:ldap://****:****@openldap/dc=example,dc=com UserFilter:(uid=%s) GroupFilter:(memberUid=%s) Attribute:{[uid member][{ }] map[groups:[{ }]]} TLS:{false [] { }}  }
2018/09/03 01:34:01 [DEBUG] Initialized LDAP identity registry; err=Invalid expression for attribute '': Unexpected end of expression
2018/09/03 01:34:01 [WARNING] Failed to initialize LDAP client; err=Invalid expression for attribute '': Unexpected end of expression
2018/09/03 01:34:01 [ERROR] Error occurred initializing database: Invalid expression for attribute '': Unexpected end of expression

这是我用来启动openldap的命令:

docker run -h openldap -p 389:389 --name openldap --network=fabric-n --volume /home/xxxx/fabric-ca/data:/etc/hyperledger --env LDAP_ORGANISATION="Hyperledger" --env LDAP_DOMAIN="example.com"  --env LDAP_ADMIN_PASSWORD="adminpw" --detach osixia/openldap:1.2.1 

这是运行fabricca的命令:

docker run -h fabric-ca -p 7054:7054 --name fabric-ca --network=fabric-n --volume /home/xxxx/fabric-ca/data:/etc/hyperledger --env FABRIC_CA_SERVER_HOME="/etc/hyperledger/fabric-ca-server" --env FABRIC_CA_CLIENT_HOME="/etc/hyperledger/fabric-ca-client" --env FABRIC_CA_SERVER_CA_NAME="hfca" --detach hyperledger/fabric-ca:amd64-1.2.0  

我创建了一个docker overlay网络,可以连接到openldap容器

fabric-ca-server-config.yaml

ldap:
  # Enables or disables the LDAP client (default: false)
  # If this is set to true, the "registry" section is ignored.
enabled: true
  # The URL of the LDAP server
url: ldap://cn=admin,dc=example,dc=com:adminpw@openldap/dc=example,dc=com
答案

此错误很可能是由于在converters文件中缺少fabric-ca-server-config.yaml属性而导致的。默认情况下,在ldap部分中有converters为空:

      converters:
         - name:
           value:

当启用ldap时,无法正确解析它,因此会引发错误。请把任何值放在那里,如下所示:

      converters:
         - name: hf.Revoker
           value: attr("uid") =~ "revoker*"

以上是关于hyperledger fabric-ca server配置openldap的主要内容,如果未能解决你的问题,请参考以下文章

hyperledger fabric 2.3.3 搭建教程

特约专栏Hyperledger Fabric 源代码解读系列

hyperledger fabric 2.3.3 搭建教程

hyperledger fabric 2.3.3 搭建教程

Hyperledger Fabric动态配置Raft节点

Hyperledger Fabric 核心模块Fabric-ca-server