internal error: SHA-1 not available.

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/poem_2010/article/details/78036345

在启动tomct的时候,或者是使用SpringBoot启动应用的时候,会出现internal error: SHA-1 not available.。这个错误:

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.InternalError: internal error: SHA-1 not available.
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) ~[spring-context-4.3.10.RELEASE.jar!/:4.3.10.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.poem.Main.main(Main.java:20) [classes!/:1.0-SNAPSHOT]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_144]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_144]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_144]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_144]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [spring.war:1.0-SNAPSHOT]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [spring.war:1.0-SNAPSHOT]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [spring.war:1.0-SNAPSHOT]
        at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) [spring.war:1.0-SNAPSHOT]
Caused by: java.lang.InternalError: internal error: SHA-1 not available.
        at sun.security.provider.SecureRandom.init(SecureRandom.java:108) ~[na:1.8.0_144]
        at sun.security.provider.SecureRandom.<init>(SecureRandom.java:79) ~[na:1.8.0_144]
        at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:198) ~[na:1.8.0_144]
        at java.security.SecureRandom.<init>(SecureRandom.java:162) ~[na:1.8.0_144]
        at java.io.File$TempDirectory.<clinit>(File.java:1901) ~[na:1.8.0_144]
        at java.io.File.createTempFile(File.java:2006) ~[na:1.8.0_144]
        at java.io.File.createTempFile(File.java:2070) ~[na:1.8.0_144]
        at org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactory.createTempDir(AbstractEmbeddedServletContainerFactory.java:245) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:167) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.5.6.RELEASE.jar!/:1.5.6.RELEASE]
        ... 14 common frames omitted
Caused by: java.security.NoSuchAlgorithmException: SHA MessageDigest not available
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:159) ~[na:1.8.0_144]
        at java.security.Security.getImpl(Security.java:695) ~[na:1.8.0_144]
        at java.security.MessageDigest.getInstance(MessageDigest.java:167) ~[na:1.8.0_144]
        at sun.security.provider.SecureRandom.init(SecureRandom.java:106) ~[na:1.8.0_144]
        ... 24 common frames omitted


这个错误是查询不到SHA算法,这个算法是在jre下面,查询不到就错误了。

我的是在Linux操作系统之下,查询服务,找到你的jdk目录,进入/jre/lib目录,查看是不是有一个jees.jar的jar包,如果没有,恭喜你,报错是正常的,就是这么任性,,因为使用到的SHA算法,就是在这个jar包里面,找不到就会出错咯。

使用 unpack200 jsse.pack jsse.jar 生成这个jar包就可以了,重启启动,完美解决。


猜你喜欢

转载自blog.csdn.net/poem_2010/article/details/78036345