FISCO-BCOS / web3sdk

java sdk for FISCO BCOS(deprecated, please use FISCO-BCOS/java-sdk)
Apache License 2.0
117 stars 86 forks source link

使用webase私钥管理功能时发现web3sdk引的bcprov jar包找不到convertSpec方法 #702

Closed hxiaodon closed 4 years ago

hxiaodon commented 4 years ago

image

错误日志 八月 25, 2020 4:15:51 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [dispatcherServlet] in context with path [/WeBASE-Node-Manager] threw exception [Handler dispatch fail ed; nested exception is java.lang.NoSuchMethodError: org.bouncycastle.jcajce.provider.asymmetric.util.EC5Util.convertSpec(Ljava/security/s pec/ECParameterSpec;Z)Lorg/bouncycastle/jce/spec/ECParameterSpec;] with root cause java.lang.NoSuchMethodError: org.bouncycastle.jcajce.provider.asymmetric.util.EC5Util.convertSpec(Ljava/security/spec/ECParameterSpec;Z)Lo rg/bouncycastle/jce/spec/ECParameterSpec; at org.fisco.bcos.channel.client.P12Manager.getPublicKey(P12Manager.java:81) at org.fisco.bcos.channel.client.P12Manager.getECKeyPair(P12Manager.java:129) at com.webank.webase.node.mgr.user.UserService.importKeyStoreFromP12(UserService.java:378) at com.webank.webase.node.mgr.user.UserService$$FastClassBySpringCGLIB$$796fed91.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687) at com.webank.webase.node.mgr.user.UserService$$EnhancerBySpringCGLIB$$d5a9e38e.importKeyStoreFromP12() at com.webank.webase.node.mgr.user.UserController.importP12PrivateKey(UserController.java:224) at com.webank.webase.node.mgr.user.UserController$$FastClassBySpringCGLIB$$54fc7f40.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:752) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at com.webank.webase.node.mgr.user.UserController$$EnhancerBySpringCGLIB$$98029e51.importP12PrivateKey() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMeth

hxiaodon commented 4 years ago

看相关的代码P12Manager.java 发现引入bcprov-jdk15on-1.60.jar(或者bcprov-jdk15on-1.64.jar)时,convertSpec没有重载第二个参数为bool类型的实现 请问下 这是bug还是我操作不对 谢谢

hxiaodon commented 4 years ago

https://github.com/WeBankFinTech/WeBASE-Node-Manager 引入的是bcprov-jdk15on-1.54.jar,WeBASE-Node-Manager引入的web3sdk2.4.2引入的是bcprov-jdk15on-1.60.jar 我线上环境替换成1.54是没问题的,估计1.60也OK