java - 运行程序的提示找不到任何支持 RSA 的提供商

标签 java

服务器和本地代码一致,本地运行没有问题,远程操作提示,jdk版本为1.8.0.161。错误信息

    java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA
        at javax.crypto.Cipher.getInstance(Cipher.java:540)
        at com.shineyue.sdk.encrypt.RSACoder.decryptByPublicKey(RSACoder.java:52
)
        at com.shineyue.sdk.core.DataPlatFormService.uploadTwo(DataPlatFormServi
ce.java:317)
        at com.shineyue.sdk.core.DataPlatFormApi.upload(DataPlatFormApi.java:96)

        at com.jason.invokerWs.provider.task.TokenManager.uploadData(TokenManage
r.java:273)
        at com.jason.invokerWs.provider.task.TokenManager.run(TokenManager.java:
162)
        at com.jason.invokerWs.provider.task.InvokerAPI.execute(InvokerAPI.java:
50)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j
ava:573)

最佳答案

这个问题在Eclipse直接启动时不会出现,但是部署到服务器上就会出现。 原因:解密步骤发生错误,未找到RSA/ECB/PKCS1Padding等解密相关算法的provider。 解决办法:将${JAVA_HOME}\lib\ext目录下的sunjce_provider.jar添加到classpath目录下。

关于java - 运行程序的提示找不到任何支持 RSA 的提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61918600/

相关文章:

java - DBUnit 和 SQL Server 关闭套接字

java - org.postgres.Driver 类异常 - 初学者

java - 安卓振动器

Java点对点线程模型,大家等待Job

java - java.io.ByteArrayOutputStream.toByteArray() 会返回 null 吗?

java - 如何将带有时区的 PostgreSQL 时间戳转换为 DateTime?

java - 如何在 AWS 上部署自己的服务器(用 Java 编写)(类似于 Openshift 的 DIY)?

java - Java 7 与 Java 6 的年轻垃圾收集暂停时间更长

java - 我可以在 C++ 中实现多个回调接口(interface)吗?

java - CellFactory 与 CellValueFactory