Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sa-token 集成 jwt 报错 #433

Closed
SongJiaxin95 opened this issue Apr 21, 2023 · 3 comments
Closed

sa-token 集成 jwt 报错 #433

SongJiaxin95 opened this issue Apr 21, 2023 · 3 comments

Comments

@SongJiaxin95
Copy link

使用版本:

1.34.0

报错信息:

StpUtil.login()报错
java.util.jar.JarException: file:/C:/Users/HY/.m2/repository/org/apache/pdfbox/pdfbox-app/2.0.25/pdfbox-app-2.0.25.jar has unsigned entries - org/apache/commons/logging/Log.class
at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:510)

希望结果:

生成token

复现步骤:

pom加入sa-token-spring-boot-starter和sa-token-jwt,config配置StpLogicJwtForSimple

< 备注:如果复现步骤比较复杂,请将 demo 上传到 gitee 并留下地址 >

@SongJiaxin95
Copy link
Author

详细错误信息
2023-04-21 11:14:06.671 ERROR 73112 --- [io-10100-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : [TID: N/A] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is cn.hutool.crypto.CryptoException: SecurityException: JCE cannot authenticate the provider BC] with root cause

java.util.jar.JarException: file:/C:/Users/HY/.m2/repository/org/apache/pdfbox/pdfbox-app/2.0.25/pdfbox-app-2.0.25.jar has unsigned entries - org/apache/commons/logging/Log.class
at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:510)
at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:371)
at javax.crypto.JarVerifier.verify(JarVerifier.java:297)
at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:164)
at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:190)
at javax.crypto.JceSecurity.getInstance(JceSecurity.java:114)
at javax.crypto.Mac.getInstance(Mac.java:257)
at cn.hutool.crypto.SecureUtil.createMac(SecureUtil.java:1072)
at cn.hutool.crypto.digest.mac.DefaultHMacEngine.init(DefaultHMacEngine.java:95)
at cn.hutool.crypto.digest.mac.DefaultHMacEngine.(DefaultHMacEngine.java:56)
at cn.hutool.crypto.digest.mac.MacEngineFactory.createEngine(MacEngineFactory.java:42)
at cn.hutool.crypto.digest.HMac.(HMac.java:86)
at cn.hutool.crypto.digest.HMac.(HMac.java:74)
at cn.hutool.crypto.digest.HMac.(HMac.java:63)
at cn.hutool.jwt.signers.HMacJWTSigner.(HMacJWTSigner.java:28)
at cn.hutool.jwt.signers.JWTSignerUtil.createSigner(JWTSignerUtil.java:239)
at cn.hutool.jwt.signers.JWTSignerUtil.hs256(JWTSignerUtil.java:36)
at cn.hutool.jwt.JWT.setKey(JWT.java:126)
at cn.dev33.satoken.jwt.SaJwtTemplate.generateToken(SaJwtTemplate.java:119)
at cn.dev33.satoken.jwt.SaJwtTemplate.createToken(SaJwtTemplate.java:77)
at cn.dev33.satoken.jwt.SaJwtUtil.createToken(SaJwtUtil.java:85)
at cn.dev33.satoken.jwt.StpLogicJwtForSimple.createTokenValue(StpLogicJwtForSimple.java:49)
at cn.dev33.satoken.stp.StpLogic.distUsableToken(StpLogic.java:424)
at cn.dev33.satoken.stp.StpLogic.createLoginSession(StpLogic.java:362)
at cn.dev33.satoken.stp.StpLogic.login(StpLogic.java:331)
at cn.dev33.satoken.stp.StpLogic.login(StpLogic.java:293)
at cn.dev33.satoken.stp.StpUtil.login(StpUtil.java:135)
at com.feynmind.fmvv.controller.LoginController.login(LoginController.java:115)
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(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)

@SongJiaxin95
Copy link
Author

环境:java8

@ly-chn
Copy link
Member

ly-chn commented Apr 21, 2023

这个异常来自hutool, 我并不熟悉, 经查此异常多与jdk版本有关, 建议确认一下运行环境是否为8以上

hutool相关issue

@click33 click33 closed this as completed Apr 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants