Hyperledger Fabric-ca连接到LDAP:管理员不存在

时间:2018-08-13 15:20:08

标签: hyperledger-fabric hyperledger openldap ca hyperledger-fabric-ca

我正在尝试将Hyperledger Fabric CA连接到Openldap。 Openldap在本地成立,只有一个组织

dc=fabric-ca,dc=example,dc=com

还有一个用户cn = admin,dc = ... /

我已经使用以下服务器配置设置了Fabric-CA:

ldap:
enabled: true
url: ldap://cn=admin,dc=fabric-ca,dc=example,dc=com:000000@☺localhost:389/dc=fabric-ca,dc=example,dc=com
userfilter: (dn:%s)
tls:
    enabled: false
attribute:
    names: ["dn"]

转换器和地图无关(到目前为止)。我检查过,管理员存在于OpenLDAP中。

当我启动以下注册命令时:

fabric-ca-client enroll -u http://cn=admin,dc=fabric-ca,dc=example,dc=com@localhost:7054

我收到以下错误:

20 - Authorization failure

CA调试日志向我提供了这些信息:

Received request for /enroll
ca.Config: "followed by the CA server config file"
Getting user 'cn=admin,dc=fabric-ca,dc=example,dc=com'
Searching for user 'cn=admin,dc=fabric-ca,dc=example,dc=com' using cached connection
127.0.0.1:45768 POST /enroll 401 23 "Failed to get user: User 'cn=admin,dc=fabric-ca,dc=example,dc=com' does not exist in LDAP directory"

请,这个问题真令人发指。感谢您的宝贵时间。

1 个答案:

答案 0 :(得分:0)

在执行注册过程时,您应仅传递用户名,但应传递专有名称。除了应该发送密码外,您的注册命令应类似于:

fabric-ca-client enroll -u http://admin:mypassword@localhost:7054

除此之外,我认为userfilter应该看起来像这样:(cn=%s),因为您使用了cn作为管理员前缀