java.security.NoSuchProviderException: no such provider: BC 问题

在使用SHA256生成签名的时候,报错java.security.NoSuchProviderException: no such provider: BC,这个问题之前我是遇到过的,解决方法是在jre/lib/security目录下,使用vim打开“java.security”配置上security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider

当时配置好后,问题是解决的,但是这次生成签名的时候,我是自己写的main函数进行测试的,是没问题的。当我写好接口前台调用的时候,使用SHA256生成签名的地方就报错了,还是这个no such provider: BC的错误。当时很纳闷,因为我在main函数中是没问题的。 

解决方法:

在当前计算签名的类中加入静态块

           static{
                 try{
                       Security.addProvider(new BouncyCastleProvider());
                     }catch(Exception e){
                       e.printStackTrace();
                     }
            }

如:

猜你喜欢

转载自blog.csdn.net/zhangshuny/article/details/81196323