fabric-ca 问题集(一)

在做fabric-ca 权限管理过程中遇到

/api/v1/register 401 25 "Invalid token in authorization header: Token signature validation failed"

检查证书等一系列都没有问题,

最后发现是由于中文问题导致post请求中乱码导致解析错误。fabric-ca 问题集(一)_第1张图片

 解决方法:对中文进行url encode

附上fabric-ca 自定义属性 sdk
RegistrationRequest rr = new RegistrationRequest(username, );
rr.setSecret(secret);
rr.setType(HFCAClient.HFCA_TYPE_CLIENT);
rr.setMaxEnrollments(0);
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFREGISTRARROLES, "client,orderer,peer,user"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFREGISTRARDELEGATEROLES,"client,orderer,peer,user"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFREGISTRARATTRIBUTES,"*"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFGENCRL,"true"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFREVOKER,"true"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFAFFILIATIONMGR,"true"));
rr.addAttribute(new Attribute(HFCAClient.HFCA_ATTRIBUTE_HFINTERMEDIATECA,"true"));
rr.addAttribute(new Attribute("orgName", URLEncoder.encode(orgName),true));//自定义属性
rr.addAttribute(new Attribute("orgType",1,true));//自定义属性
String enrollmentSecret = instance.register(rr, adminContext);

你可能感兴趣的:(区块链)