Code Monkey home page Code Monkey logo

webankblockchain / weidentity Goto Github PK

View Code? Open in Web Editor NEW
1.1K 24.0 173.0 82.32 MB

基于区块链的符合W3C DID和Verifiable Credential规范的分布式身份解决方案

Home Page: https://fintech.webank.com/weidentity

License: Apache License 2.0

Shell 1.54% XSLT 0.98% Java 95.92% Smarty 1.08% Python 0.48%
blockchain distributed-identity distributed did data-exchange w3c privacy-preserving selective-disclosure privacy-protection identity

weidentity's Introduction

中文版本 | English Version

image


什么是 WeIdentity?

WeIdentity是一套分布式多中心的技术解决方案,可承载实体对象(人或者物)的现实身份与链上身份的可信映射、以及实现实体对象之间安全的访问授权与数据交换。WeIdentity由微众银行自主研发并完全开源,秉承公众联盟链整合资源、交换价值、服务公众的理念,致力于成为链接多个垂直行业领域的分布式商业基础设施,促进泛行业、跨机构、跨地域间的身份认证和数据合作。

模块介绍

WeIdentity目前主要包含两大模块:WeIdentity DID以及WeIdentity Credential。

分布式身份标识 (WeIdentity DID)

传统方式中,用户的注册和身份管理完全依赖于单一中心的注册机构;随着分布式账本技术(例如区块链)的出现,分布式多中心的身份注册、标识和管理成为可能。 WeIdentity DID模块在FISCO-BCOS区块链底层平台上实现了一套符合W3C DID规范的分布式多中心的身份标识协议,使实体(人或物)的现实身份实现了链上的身份标识;同时,WeIdentity DID给与Subject(人或者物)直接拥有和控制自己身份ID的能力。

WeIdentity DID秉承以下设计理念:

目标 说明
多中心 分布式多中心的ID注册机制,摆脱对传统模式下单一中心ID注册的依赖
开源开放 技术方案完全开源,面向政府、企业、开发者服务
隐私保护 实体的现实身份和可验证数字凭证的内容进行链下存储。支持实体将信息最小化或者选择性披露给其他机构,同时防止任何第三方反向推测出实体在现实世界或其他场景语义中的身份
可移植性 基于WeIdentity规范,数据可移植至遵循同样规范的其他平台,兼容业务主流区块链底层平台
互操作性 提供标准化接口,支持跨链、跨平台互操作
可扩展性 保证操作性,可移植性或简单性的情况下,数据模型可以通过多种不同方式进行扩展

可验证数字凭证 (WeIdentity Credential)

现实世界中存在着各种各样用于描述实体身份、实体间关系的数据,如身份证、行驶证、存款证明、处方、毕业证、房产证、信用报告等。WeIdentity Credential提供了一整套基于W3C VC规范的解决方案,旨在对这一类数据进行标准化、电子化,生成可验证、可交换的「凭证」(Credential),支持对凭证的属性进行选择性披露,及生成链上存证(Evidence)。

WeIdentity支持认证机构自行注册标准化凭证模板,共同丰富公众联盟链的生态。

更多

当前状态

WeIdentity目前支持基于FISCO-BCOS的区块链,并提供Java SDK及RestService方式供部署。具体的规范文档、安装部署和使用指引如下表所示:

集成方法 文档入口 当前状态
Java SDK

感受WeIdentity

接下来,您可以在此页,一站式了解WeIdentity的参考场景,体验Demo流程,并了解完整的部署方式及参考实现。

联系我们

邮箱:[email protected]

如何贡献

  • 我们所有的贡献者名单页面在 这里 。感谢大家为WeIdentity付出的心血!
  • 详见:如何贡献

weidentity's People

Contributors

allcontributors[bot] avatar anyspa avatar chaoxinhu avatar chengzi8705 avatar chenhaozx avatar chenqping avatar chent57 avatar chirdxing avatar codingcattwo avatar darwindu avatar easonryu avatar h3ar7dump avatar hupeng199 avatar idioticmadman avatar junqizhang-dev avatar karenlrx avatar leeduckgo avatar renranshengxia avatar shaeny avatar victorlyl avatar webankadmin avatar xfleng avatar xinjiandong avatar yanggang-jv avatar youwenbusi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

weidentity's Issues

createWeId接口未考虑私钥安全以及权限的问题

  1. 需求描述
    createWeId接口在私钥使用上把安全选择权给到sdk使用者

  2. 问题描述
    当前 createWeId接口用到的私钥 都是 申请did的用户所拥有的私钥,其有两个主要问题:
    a. 安全问题
    b. 权限问题

  3. 解决方式
    已经自行解决

160002,the transaction does not correctly executed

创建一份错误报告需要您填写以下内容:

概述

开发平台没有具体描述

复现

https://weidentity.readthedocs.io/zh_CN/master/docs/faq.html
里面有一个问题,
新用户/新机构怎么登记到链上?
新用户不直接与链交互,而是通过User Agent代理接入上链; 新机构登记上链需考虑业务场景以及对应角色,有以下建议:

业务发起方机构需直接部署节点组链,并为其他没有部署节点的机构提供开放平台的接入方式;
其它业务参与方机构可在获得业务发起方允许的情况下,参与到联盟链中并部署区块链节点,或通过业务发起方提供的开放平台方式接入联盟链。

开发平台指的是什么?是user agent吗?还是是轻客户端吗?能否详细说明。
如果是user agent,根据微众银行自己的描述,“为用户生成链上ID及提供KYC服务,一般为权威可信机构,实体通过该机构与链上身份或数据进行交互。”,即实体的私钥需要托管到user agent?
如果是轻客户端模式,这种模式是比较好的,但是WeIdentity-Rest-Service下的TransactionTestV2-》testCreateWeIdAll()这个方法测试不通过,可否给与解决?谢谢!

期望结果与实际结果

希望详细描述开发平台的形式。

环境

  • 区块链类型(FISCO-BCOS,Fabric,Ethereum):
  • 区块链版本及网络:V2
  • WeIdentity版本:1.6.2

其他内容

配置文件

  • WeIdentity: 请上传所有位于 /src/main/resources/ 目录下的文件。

日志文件

  • FISCO-BCOS: 请上传区块链节点 /log/ 目录下的文件。
    2020-05-22 15:00:40.097 [http-nio-6001-exec-1] ERROR RawTransactionServiceEngineV2() - [createWeId] create failed due to unknown transaction error.
    java.lang.NullPointerException: null
    at org.fisco.bcos.web3j.tx.Contract.extractEventParametersWithLog(Contract.java:879) ~[web3sdk-2.4.0.jar:?]
    at com.webank.weid.contract.v2.WeIdContract.getWeIdAttributeChangedEvents(WeIdContract.java:299) ~[weid-contract-java-1.2.19.jar:?]
    at com.webank.weid.service.impl.engine.fiscov2.RawTransactionServiceEngineV2.createWeId(RawTransactionServiceEngineV2.java:219) [weid-java-sdk-1.6.2.jar:?]
    at com.webank.weid.service.impl.RawTransactionServiceImpl.createWeId(RawTransactionServiceImpl.java:52) [weid-java-sdk-1.6.2.jar:?]
    at com.webank.weid.http.service.impl.InvokerWeIdServiceImpl.createWeIdWithTransactionHex(InvokerWeIdServiceImpl.java:121) [rest_service-1.5.1.jar:?]
    at com.webank.weid.http.service.impl.TransactionServiceImpl.sendTransaction(TransactionServiceImpl.java:246) [rest_service-1.5.1.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_251]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_251]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_251]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:55) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) [spring-aop-4.3.25.RELEASE.jar:4.3.25.RELEASE]
    at com.sun.proxy.$Proxy90.sendTransaction(Unknown Source) [?:?]
    at com.webank.weid.http.controller.TransactionController.sendTransaction(TransactionController.java:91) [rest_service-1.5.1.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_251]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_251]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_251]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_251]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_251]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.29.jar:8.5.29]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251]

继承weIdentity

创建一份错误报告需要您填写以下内容:

概述

清晰、准确地概述所遇到的问题。

复现

复现问题的步骤。

期望结果与实际结果

描述您所期望的返回结果和实际的返回结果。

环境

  • 区块链类型(FISCO-BCOS,Fabric,Ethereum):
  • 区块链版本及网络:
  • WeIdentity版本:

其他内容

配置文件

  • WeIdentity: 请上传所有位于 /src/main/resources/ 目录下的文件。

日志文件

  • FISCO-BCOS: 请上传区块链节点 /log/ 目录下的文件。

FISCO BCOS 3.2.0和3.1.0环境下安装WeIdentity v3.0.0 时部署智能合约失败

问题描述:
webase+weid部署WeIdentity最后一步合约部署的时候报错

过程

  1. 一键部署部署WeBASE 3.0,FISCO BCOS选择3.1.0或3.2.0(注:3.0.0虽然可以部署成功,但控制台也会有错误报出)
  2. 部署WeIdentity v3.0.0-rc.1
  3. 通过浏览器访问WeIdentiry网页管理工具进行部署,选择集成WeBASE环境
  4. 进行到最后一步部署WeIdentity智能合约,提示“合约部署失败! 请查看日志。”

报错信息
2023-04-13 16:40:34.978 [http-nio-6021-exec-10] INFO DataBucketServiceFiscoEngineV3() - [put] put [WeIdContract:0xa5d00f85d874d6c9f7c3d6c7327c25155979fec5] into chain success, bucketId is 0x6b482ad121c6119d1be71057b7635413fa72a8a822c9cf395acae2944b5e50bc.
2023-04-13 16:40:34.978 [http-nio-6021-exec-10] ERROR DataBucketServiceFiscoEngineV3() - [analysisErrorCode] has some error!
java.lang.NullPointerException: null
at com.webank.weid.blockchain.service.fisco.engine.fiscov3.DataBucketServiceFiscoEngineV3.analysisErrorCode(DataBucketServiceFiscoEngineV3.java:107) [weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.service.fisco.engine.fiscov3.DataBucketServiceFiscoEngineV3.put(DataBucketServiceFiscoEngineV3.java:88) [weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.RegisterAddressV3.registerAddress(RegisterAddressV3.java:66) [weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.DeployContractV3.registerAddress(DeployContractV3.java:404) [weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.DeployContractV3.registerToCns(DeployContractV3.java:135) [weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.DeployContractV3.deployContract(DeployContractV3.java:127) [weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.service.ContractService.deployContract(ContractService.java:93) [weid-build-tools-3.0.0-rc.2.jar:?]
at com.webank.weid.service.ContractService.deploy(ContractService.java:64) [weid-build-tools-3.0.0-rc.2.jar:?]
at com.webank.weid.controller.ContractController.deploy(ContractController.java:59) [weid-build-tools-3.0.0-rc.2.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_321]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_321]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_321]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.3.2.jar:5.3.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) [tomcat-embed-core-9.0.41.jar:4.0.FR]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.2.jar:5.3.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [tomcat-embed-core-9.0.41.jar:4.0.FR]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at com.webank.weid.filter.XssFilter.doFilter(XssFilter.java:29) [weid-build-tools-3.0.0-rc.2.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.41.jar:9.0.41]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.41.jar:9.0.41]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]
2023-04-13 16:40:34.979 [http-nio-6021-exec-10] INFO DataBucketServiceFiscoEngineV3() - [analysisErrorCode] decode transaction result:160003-unknow error, please check the error log.
2023-04-13 16:40:34.979 [http-nio-6021-exec-10] ERROR RegisterAddressV3() - [registerAddress] register address fail, please check the log, result:ResponseData(result=false, errorCode=160003, errorMessage=unknow error, please check the error log., transactionInfo=null)
2023-04-13 16:40:34.979 [http-nio-6021-exec-10] ERROR ContractService() - [deploy] the contract depoly error.
com.webank.weid.blockchain.exception.WeIdBaseException: 160003 - unknow error, please check the error log.
at com.webank.weid.blockchain.deploy.v3.RegisterAddressV3.registerAddress(RegisterAddressV3.java:69) ~[weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.DeployContractV3.registerAddress(DeployContractV3.java:404) ~[weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.DeployContractV3.registerToCns(DeployContractV3.java:135) ~[weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.blockchain.deploy.v3.DeployContractV3.deployContract(DeployContractV3.java:127) ~[weid-blockchain-3.0.0-rc.2-SNAPSHOT.jar:?]
at com.webank.weid.service.ContractService.deployContract(ContractService.java:93) ~[weid-build-tools-3.0.0-rc.2.jar:?]
at com.webank.weid.service.ContractService.deploy(ContractService.java:64) [weid-build-tools-3.0.0-rc.2.jar:?]
at com.webank.weid.controller.ContractController.deploy(ContractController.java:59) [weid-build-tools-3.0.0-rc.2.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_321]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_321]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_321]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.3.2.jar:5.3.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) [tomcat-embed-core-9.0.41.jar:4.0.FR]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.2.jar:5.3.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [tomcat-embed-core-9.0.41.jar:4.0.FR]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at com.webank.weid.filter.XssFilter.doFilter(XssFilter.java:29) [weid-build-tools-3.0.0-rc.2.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.25.jar:5.3.25]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) [tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.41.jar:9.0.41]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.41.jar:9.0.41]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]

环境

  • OS: Anolis OS release 7.9
  • FISCO BCOS v3.1.0 和 v3.2.0
  • WeBASE v3.0.1
  • WeIdentity v3.0.0-rc.1

QRcode序列化乱码问题

Summary

当presentationE的claim有中文时,TransportationFactory的qrcode下载模式进行序列化后,反序列化时会出现乱码。

To Reproduce

`
ResponseData response =
TransportationFactory
.build(TransportationType.QR_CODE)
.specify(weIds)
.serialize(weIdAuthentication, presentationE,new ProtocolProperty(EncodeType.ORIGINAL, TransMode.DOWNLOAD_MODE));

ResponseData result =
TransportationFactory
.build(TransportationType.QR_CODE)
.deserialize(weIdAuthentication, response.getResult(), PresentationE.class);
`

Expected behavior and actual behavior

正常情况下序列化前的presentation和反序列化后的presentation应该一致,但是因为中文解码的原因,两者不同,并且导致后续的验证步骤不能正常进行。

Environment

  • Blockchain type (FISCO-BCOS, Fabric, or Ethereum): BCOS
  • Blockchain version and network: 2.5
  • WeIdentity version: 1.6.4

缺少 ffi_ecies.dll 文件

执行 TestCrypt 类中的 testEcies_withPadding() 方法进行ecies 加解密 报错如下
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: File /WeDPR_dynamic_lib/ffi_ecies.dll was not found inside JAR.
at com.webank.wedpr.ecies.NativeInterface.(NativeInterface.java:33)

能否提供智能合约代码?

在代码库中好像没发现有智能合约的代码,不知能否提供一下?
顺便问一下,CPT在合约中的存储是怎么样的。例如

"CPT": {
  "@context" : "https://weidentity.webank.com/cpt100/v1",
  "version" : "v1",
  "id" : "CPT100",
  "publisher" : "did:weid:1:2323e3e3dweweewew2",
  "signature" : "BavEll0/I1zpYw8XNi1bgVg/sCneO4Jugez8RwDg/+MCRVpjOboDoe4SxxKjkC
  OvKiCHGDvc4krqi6Z1n0UfqzxGfmatCuFibcC1wpsPRdW+gGsutPTLzvueMWmFhwYmfIFpbBu95t501+r
    SLHIEuujM/+PXr9Cky6Ed+W3JT24=",
  "claim" : "",
  "address" : "重庆",
  "class" : "C1",
  "created" : "2010-06-20T21:19:10Z",
  "updated" : "2016-06-20T21:19:10Z",
  "description" : "**内地驾照"
}

是否会连字段的默认值一起存储?如果不是的话,存到合约里的JSON LD格式的CPT是什么样的?

建议支持国密

在区块链的应用中使用国密算法是大趋势,建议增加。

build tool v 1.3.1-rc1 配置报错

WeIdentity 网页管理工具
在配置完第三步 再往下 不管点跳过 还是配置了数据库后点下一步 后台都报错

2022-12-21 19:52:36.755 [http-nio-6021-exec-1] ERROR dispatcherServlet - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.webank.weid.util.DataToolUtils] with root cause
java.lang.NoClassDefFoundError: Could not initialize class com.webank.weid.util.DataToolUtils
at com.webank.weid.service.v2.CheckNodeServiceV2.getDataBucket(CheckNodeServiceV2.java:139) ~[weid-build-tools-1.3.1-rc1.jar:?]
at com.webank.weid.service.v2.CheckNodeServiceV2.getAllHash(CheckNodeServiceV2.java:161) ~[weid-build-tools-1.3.1-rc1.jar:?]
at com.webank.weid.service.v2.CheckNodeServiceV2.getHashFromOrgCns(CheckNodeServiceV2.java:129) ~[weid-build-tools-1.3.1-rc1.jar:?]
at com.webank.weid.service.v2.CheckNodeServiceV2.checkOrgId(CheckNodeServiceV2.java:200) ~[weid-build-tools-1.3.1-rc1.jar:?]
at com.webank.weid.controller.GuideController.checkOrgId(GuideController.java:113) ~[weid-build-tools-1.3.1-rc1.jar:?]
at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_351]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_351]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.18.jar:5.3.18]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.18.jar:5.3.18]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.2.jar:5.3.2]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.2.jar:5.3.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.41.jar:4.0.FR]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.2.jar:5.3.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.41.jar:4.0.FR]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at com.webank.weid.filter.XssFilter.doFilter(XssFilter.java:29) ~[weid-build-tools-1.3.1-rc1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.18.jar:5.3.18]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.18.jar:5.3.18]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.18.jar:5.3.18]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.18.jar:5.3.18]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.18.jar:5.3.18]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.18.jar:5.3.18]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_351]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_351]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.41.jar:9.0.41]
at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_351]

/weid/weid-build-tools/index.html#/guide/step3 下一步出错

创建一份错误报告需要您填写以下内容:

概述

web配置数据库界面不管是跳过还是下一步都没反应

复现

复现问题的步骤。

  1. 按照 https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/installation.html 搭建
  2. 按照 https://weidentity.readthedocs.io/zh-cn/latest/docs/weidentity-installation-by-web.html 配置
  3. 配置数据库界面不管是跳过还是下一步都没反应

期望结果与实际结果

描述您所期望的返回结果和实际的返回结果。

环境

  • 区块链类型(FISCO-BCOS,Fabric,Ethereum):
  • ISCO-BCOS
  • 区块链版本及网络:
  • 2.9.3
  • WeIdentity版本:
  • 3.1.1/3.1.0

其他内容

  1. load keys from resources/conf/amop/consumer_private_key.p12 failed (手工复制
  2. WeIdBaseException: the ConfigOption build fail.
  3. NoClassDefFoundError: Could not initialize class com.webank.weid.blockchain.service.fisco.CryptoFisco] with root cause

配置文件

  • WeIdentity: 请上传所有位于 /src/main/resources/ 目录下的文件。

日志文件

  • FISCO-BCOS: 请上传区块链节点 /log/ 目录下的文件。

给Credential生成签名的时候,为什么不把Proof的其他字段也签上名?

Proof里面有nonce和domain,这些字段应该和credential的metadata,claim的hash一起算一个整的hash,再对整的hash签名。我看到现在的实现好像不包含proof里面的其他属性?

Signature.signatureValue应该是对credential除去Signature.signatureValue这一个字段外的其他所有字段做签名,而不是出去Signature字段外的所有字段做签名。

WeIdentity-web服务无法开启HTTPS协议

我修改了application.properties,添加了SSL相关配置,然后运行start.sh,发现SSL还是没有配置好,无法通过https访问,似乎配置文件中的SSL相关选项根本没起作用

Bump lombok to 1.18.10+

Summary

当前的lombok对openjdk 11+和gradle 4.6-无法正确build
升级到1.18.10之后问题解决

MACOS 缺少的必要的动态库libffi_selective_disclosure.dylib

创建一份需求报告需要您填写以下内容:
MACOS 缺少的必要的动态库

概述

Mac系统启动项目的时候,报错,缺少动态库
java.io.FileNotFoundException: File /WeDPR_dynamic_lib/libffi_selective_disclosure.dylib was not found inside JAR.

期望结果

我看到这个目录下的有libffi_selective_disclosure.so,这个动态库应该是不支持mac系统的,我想知道怎么才能兼容mac系统

sample编译错误

我按照weidentity文档中的步骤下载Sample代码后,编译时遇到错误,应该是代码托管网站“https://dl.bintray.com/”被关闭了。

What went wrong:
Execution failed for task ':compileJava'.

Could not resolve all files for configuration ':compileClasspath'.
Could not resolve org.ethereum:solcJ-all:0.4.25.
Required by:
project : > com.webank:weid-java-sdk:1.8.0 > com.webank:weid-contract-java:1.2.29 > org.fisco-bcos:web3sdk:2.6.3
> Could not resolve org.ethereum:solcJ-all:0.4.25.
> Could not get resource 'https://dl.bintray.com/ethereum/maven/org/ethereum/solcJ-all/0.4.25/solcJ-all-0.4.25.pom'.
> Could not GET 'https://dl.bintray.com/ethereum/maven/org/ethereum/solcJ-all/0.4.25/solcJ-all-0.4.25.pom'. Received status code 403 from server: Forbidden

WeIdentity java sdk3.1.0-rc.1集成到Spring应用报错

创建一份错误报告需要您填写以下内容:

概述

在spring boot项目中集成weIdentity java sdk,启动项目报错
<dependency> <groupId>com.webank</groupId> <artifactId>weid-java-sdk</artifactId> <version>3.1.0-rc.1</version> <exclusions> <exclusion> <groupId>org.fisco-bcos.java-sdk</groupId> <artifactId>fisco-bcos-java-sdk</artifactId> </exclusion> </exclusions> </dependency>

image

报错:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.webank.weid.service.rpc.AuthorityIssuerService]: Factory method 'authorityIssuerService' threw exception; nested exception is java.lang.NoClassDefFoundError: org/fisco/bcos/sdk/transaction/codec/decode/TransactionDecoderService
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.1.jar:5.3.1]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651) ~[spring-beans-5.3.1.jar:5.3.1]
... 46 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/fisco/bcos/sdk/transaction/codec/decode/TransactionDecoderService
at com.webank.weid.blockchain.service.fisco.engine.fiscov2.DataBucketServiceFiscoEngineV2.(DataBucketServiceFiscoEngineV2.java:41) ~[weid-blockchain-3.1.0-rc.1.jar:na]
at com.webank.weid.blockchain.service.fisco.engine.EngineFactoryFisco.createDataBucketServiceEngine(EngineFactoryFisco.java:106) ~[weid-blockchain-3.1.0-rc.1.jar:na]
at com.webank.weid.blockchain.service.fisco.BaseServiceFisco.getBucket(BaseServiceFisco.java:69) ~[weid-blockchain-3.1.0-rc.1.jar:na]
at com.webank.weid.blockchain.service.fisco.BaseServiceFisco.getAddress(BaseServiceFisco.java:210) ~[weid-blockchain-3.1.0-rc.1.jar:na]
at com.webank.weid.blockchain.service.fisco.BaseServiceFisco.reloadAddress(BaseServiceFisco.java:191) ~[weid-blockchain-3.1.0-rc.1.jar:na]
at com.webank.weid.blockchain.service.impl.AbstractService.(AbstractService.java:19) ~[weid-blockchain-3.1.0-rc.1.jar:na]
at com.webank.weid.service.impl.WeIdServiceImpl.getWeIdService(WeIdServiceImpl.java:65) ~[weid-java-sdk-3.1.0-rc.1.jar:na]
at com.webank.weid.service.impl.WeIdServiceImpl.(WeIdServiceImpl.java:56) ~[weid-java-sdk-3.1.0-rc.1.jar:na]
at com.webank.weid.service.impl.AuthorityIssuerServiceImpl.(AuthorityIssuerServiceImpl.java:43) ~[weid-java-sdk-3.1.0-rc.1.jar:na]
at com.hucais.config.WeIdConfig.authorityIssuerService(WeIdConfig.java:28) ~[classes/:na]
at com.hucais.config.WeIdConfig$$EnhancerBySpringCGLIB$$ac1b40f3.CGLIB$authorityIssuerService$1() ~[classes/:na]
at com.hucais.config.WeIdConfig$$EnhancerBySpringCGLIB$$ac1b40f3$$FastClassBySpringCGLIB$$364b73ea.invoke() ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.1.jar:5.3.1]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.1.jar:5.3.1]
at com.hucais.config.WeIdConfig$$EnhancerBySpringCGLIB$$ac1b40f3.authorityIssuerService() ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.1.jar:5.3.1]
... 47 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.fisco.bcos.sdk.transaction.codec.decode.TransactionDecoderService
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_181]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_181]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_181]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_181]
... 67 common frames omitted

复现

将weid-java-sdk导包到spring boot项目中,new AuthorityIssuerServiceImpl()。

期望结果与实际结果

解决java.lang.ClassNotFoundException: org.fisco.bcos.sdk.transaction.codec.decode.TransactionDecoderService这个错误

环境

  • 区块链类型(FISCO-BCOS,Fabric,Ethereum):
  • 区块链版本及网络: 2.9.0
  • WeIdentity-Build-Tools版本:v3.1.1-rc.1
  • WeIdentity版本:

其他内容

配置文件

  • WeIdentity: 请上传所有位于 /src/main/resources/ 目录下的文件。

image

日志文件

  • FISCO-BCOS: 请上传区块链节点 /log/ 目录下的文件。

创建凭证得到的ProofType里面只有写死的ECDSA,但是事实上是已经支持多种,比如SM2国密,CredentialConstant.CredentialProofType相关代码应该进行一些调整吧

If you are reporting a problem, please make sure to provide the following information:

Summary

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior.

Expected behavior and actual behavior

Describe what you expected to happen and what actually happened.

Environment

  • Blockchain type (FISCO-BCOS, Fabric, or Ethereum):
  • Blockchain version and network:
  • WeIdentity version:

Additional context

Config Files

  • WeIdentity: Grab them at /src/main/resources/.

Log Files

  • FISCO-BCOS: You can find them at /log/ on the blockchain node.

weid is invalid

使用注册权威凭证发行者时,出现了weid无效的提示(weidentity版本为3.0.0-rc.2)
image

配置数据库密码特殊字符提交错误

网页配置功能有bug
提交数据库密码 包含特殊字符'&' 会导致数据库密保存错误的转义字符,导致数据库链接检查失败
实际密码是 ZaBner&30Dec
保存到run.config后变成了 ZaBner&30Dec

只允许使用工厂方法生成各request/response

创建一份需求报告需要您填写以下内容:

概述

对主要的pojo单元,如request/response,应该只允许使用工厂方法去生成它,防止new()带来的空子成员变量的问题。

3.0已发布 但执行安装报错

FAILURE: Build failed with an exception.

  • Where:
    Build file '/deep_data/test/weid/weid-install-tools/build.gradle' line: 38

  • What went wrong:
    Execution failed for task ':build'.

Could not resolve all files for configuration ':runtime'.
Could not find weid-kit-3.0.0-rc.1.jar (com.webank:weid-kit:3.0.0-rc.1).
Searched in the following locations:
http://maven.aliyun.com/nexus/content/groups/public/com/webank/weid-kit/3.0.0-rc.1/weid-kit-3.0.0-rc.1.jar
Could not find weid-java-sdk-3.0.0-rc.1.jar (com.webank:weid-java-sdk:3.0.0-rc.1).
Searched in the following locations:
http://maven.aliyun.com/nexus/content/groups/public/com/webank/weid-java-sdk/3.0.0-rc.1/weid-java-sdk-3.0.0-rc.1.jar
Could not find weid-blockchain-3.0.0-rc.1.jar (com.webank:weid-blockchain:3.0.0-rc.1).
Searched in the following locations:
http://maven.aliyun.com/nexus/content/groups/public/com/webank/weid-blockchain/3.0.0-rc.1/weid-blockchain-3.0.0-rc.1.jar

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 16s
3 actionable tasks: 2 executed, 1 up-to-date

Could not create task ':spotbugsMain'.

Idea导入项目的时候,gradle构建失败:


> Configure project :
Gradle with version >= 4.7 detected
Current product version: 1.6.4

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file 'G:\java workspace\WeIdentity\build.gradle' line: 316

* What went wrong:
A problem occurred evaluating root project 'weid-java-sdk'.
> Could not create task ':spotbugsMain'.
   > Could not create task of type 'SpotBugsTask'.
      > Could not create an instance of type com.github.spotbugs.internal.SpotBugsReportsImpl.
         > org.gradle.api.reporting.internal.TaskReportContainer.<init>(Ljava/lang/Class;Lorg/gradle/api/Task;)V

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring root project 'weid-java-sdk'.
> Could not create task ':spotbugsTest'.
   > Could not create task of type 'SpotBugsTask'.
      > Could not create an instance of type com.github.spotbugs.internal.SpotBugsReportsImpl.
         > org.gradle.api.reporting.internal.TaskReportContainer.<init>(Ljava/lang/Class;Lorg/gradle/api/Task;)V

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 373ms

Hash value校验错误

当调用方法:addLogByHash的时候,给定的hashValue为大写字母跟数字组合的值时,报错校验不通过
究其原因:DataToolUtils.isValidHash(hashValue)方法里面使用正在表达式校验的时候正则表达式为:0x[a-fA-f0-9]{64},正确应该为:0x[a-fA-F0-9]{64}

evidenceServiceImpl中的hashToNewEvidence未返回交易信息

com.webank.weid.blockchain.protocol.response.ResponseData resp = evidenceBlockchainService.createEvidence(
hashValue,
signature,
extra,
timestamp,
privateKey
);
if (resp.getErrorCode() == ErrorCode.SUCCESS.getCode()) {
return new ResponseData<>(resp.getResult(), ErrorCode.SUCCESS);
} else {
return new ResponseData<>(StringUtils.EMPTY, resp.getErrorCode(), resp.getErrorMessage());
}

该处的 return new ResponseData<>(resp.getResult(), ErrorCode.SUCCESS);返回是否应该改成return new ResponseData<>(resp.getResult(), ErrorCode.SUCCESS,resp.getTransactionInfo());

getWeIdDocument时延随块高增长变得十分缓慢

在getWeIdDocument函数中,底层有一行代码(com/webank/weid/service/impl/engine/fiscov2/WeIdServiceEngineV2.java,272行),这一行会随着块高不断增长时延不断提高,目前我的块高是20000多,这一行需要执行6秒。而且它会随着块高增加越来越慢。getWeIdDocument()在验证CredentiialPojo、Evidence都有引用,也使得这两个接口执行时间变得十分缓慢。
WechatIMG258

weIdentity java sdk集成到应用上使用报错

创建一份错误报告需要您填写以下内容:

概述

在本地springboot项目中集成weIdentity java sdk,根据文档接口列表中WeIdService的createWeId()调用示例使用

WeIdService weIdService = new WeIdServiceImpl();
ResponseData<CreateWeIdDataResult> response = weIdService.createWeId();

报错:io.netty.internal.tcnative.SSLContext.setCurvesList(J[Ljava/lang/String;)方法找不到

复现

环境:
1、构建简单但gradle项目
2、写一个接口加入示例代码
捕获
3、启动服务,外部调用接口即会报错

{
    "timestamp": "2021-11-15T05:48:15.617+00:00",
    "status": 500,
    "error": "Internal Server Error",
    "trace": "java.lang.NoSuchMethodError: io.netty.internal.tcnative.SSLContext.setCurvesList(J[Ljava/lang/String;)Z\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslContext.<init>(ReferenceCountedOpenSslContext.java:389)\n\tat io.netty.handler.ssl.OpenSslContext.<init>(OpenSslContext.java:36)\n\tat io.netty.handler.ssl.OpenSslClientContext.<init>(OpenSslClientContext.java:191)\n\tat io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:831)\n\tat io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:611)\n\tat org.fisco.bcos.channel.handler.ChannelConnections.initSslContext(ChannelConnections.java:639)\n\tat org.fisco.bcos.channel.handler.ChannelConnections.startConnect(ChannelConnections.java:390)\n\tat org.fisco.bcos.channel.client.Service.run(Service.java:341)\n\tat com.webank.weid.service.fisco.WeServerUtils.buildWeb3j(WeServerUtils.java:124)\n\tat com.webank.weid.service.fisco.WeServerUtils.init(WeServerUtils.java:104)\n\tat com.webank.weid.service.fisco.WeServerUtils.<clinit>(WeServerUtils.java:78)\n\tat com.webank.weid.service.fisco.v2.WeServerV2.buildFiscoBcosService(WeServerV2.java:148)\n\tat com.webank.weid.service.fisco.v2.WeServerV2.initWeb3j(WeServerV2.java:105)\n\tat com.webank.weid.service.fisco.WeServer.getInstance(WeServer.java:113)\n\tat com.webank.weid.service.BaseService.getWeServer(BaseService.java:91)\n\tat com.webank.weid.service.BaseService.<init>(BaseService.java:78)\n\tat com.webank.weid.service.impl.engine.BaseEngine.<init>(BaseEngine.java:38)\n\tat com.webank.weid.service.impl.engine.fiscov2.DataBucketServiceEngineV2.<init>(DataBucketServiceEngineV2.java:50)\n\tat com.webank.weid.service.impl.engine.EngineFactory.createDataBucketServiceEngine(EngineFactory.java:79)\n\tat com.webank.weid.service.BaseService.getBucket(BaseService.java:95)\n\tat com.webank.weid.service.BaseService.getAddress(BaseService.java:306)\n\tat com.webank.weid.service.BaseService.reloadAddress(BaseService.java:287)\n\tat com.webank.weid.service.impl.AbstractService.<clinit>(AbstractService.java:23)\n\tat com.certificatesys.certificatesys.testController.test(testController.java:16)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n\tat java.lang.Thread.run(Thread.java:748)\n",
    "message": "io.netty.internal.tcnative.SSLContext.setCurvesList(J[Ljava/lang/String;)Z",
    "path": "/test/demo/we"
}

期望结果与实际结果

能正常使用weIdentity sdk 的接口

环境

  • 区块链类型(FISCO-BCOS,Fabric,Ethereum):FISCO-BCOS
  • 区块链版本及网络:2.7.2 区块链链和网络由webase一键部署搭建 webase版本1.5.2
  • WeIdentity版本:1.8.2
  • ubuntu 20.04.2.0
  • jdk: openjdk11/oracle java8

其他内容

配置文件

  • WeIdentity: 请上传所有位于 /src/main/resources/ 目录下的文件。
  • resources.zip

日志文件

  • FISCO-BCOS: 请上传区块链节点 /log/ 目录下的文件。

关于Issuer发VC的时候对于Claim内容的验证

If you are reporting a feature request, please make sure to provide the following information:

Summary

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Expectation

A clear and concise description of what you want to happen.

Design (Optional)

A clear and concise description of what does your solution look like. Rich text and diagrams are preferred.

Additional context (Optional)

Add any other context or screenshots about the feature request here.

rt,我对于贵项目的这个发VC时的验证有些小疑问。

Issuer发VC给用户的时候,需要验证用户的DID,但是也需要验证用户关于Claim的内容是否正确。
很明显,这里需要人工的介入,需要人工进行审查。因为这个关系到链内链外数据的联系,要么人工,要么预言机。

WeIdentity 网页管理工具集成WeBASE部署报错

问题描述:
webase+weid部署WeIdentity过程中查询节点报错

过程

  1. 一键部署部署WeBASE 3.0,FISCO BCOS选择3.1.0或3.2.0
  2. WeBASE应用管理用模版新建WeIdentiry应用,并复制注册信息
  3. 同机部署WeIdentity v3.0.0-rc.1,选择集成WeBASE,粘贴上面复制的注册信息进行配置
  4. 进行到“配置区块链节点”这一步时,区块链节点 IP 和 Channel 端口:127.0.0.1:20200,点击查询时后台会报错

报错信息

  1. weid-build-tools/logs/all.log
    2023-04-13 16:47:44.385 [http-nio-6021-exec-7] ERROR WeBaseService() - [queryNodeType] query nodeType form WeBase has error.
    org.springframework.web.client.HttpClientErrorException$BadRequest: 400 : "{"code":202052,"message":"invalid token","data":null,"attachment":null}"
    at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:101) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:168) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:825) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:783) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:717) ~[spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:340) ~[spring-web-5.3.25.jar:5.3.25]
    at com.webank.weid.service.WeBaseService.queryNodeType(WeBaseService.java:177) [weid-build-tools-3.0.0-rc.2.jar:?]
    at com.webank.weid.controller.WebaseController.queryNodeType(WebaseController.java:178) [weid-build-tools-3.0.0-rc.2.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_321]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_321]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_321]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) [spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.2.jar:5.3.2]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.3.2.jar:5.3.2]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) [tomcat-embed-core-9.0.41.jar:4.0.FR]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.2.jar:5.3.2]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [tomcat-embed-core-9.0.41.jar:4.0.FR]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at com.webank.weid.filter.XssFilter.doFilter(XssFilter.java:29) [weid-build-tools-3.0.0-rc.2.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.25.jar:5.3.25]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_321]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_321]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.41.jar:9.0.41]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_321]

环境

  • OS: Anolis OS release 7.9
  • FISCO BCOS v3.1.0 和 v3.2.0
  • WeBASE v3.0.1
  • WeIdentity v3.0.0-rc.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.