-
java在aix中无法使用私钥加密0
使用JCE的东西进行rsa加密,在windows和linux均没问题。但是在aix中使用ibm的jdk的时候不允许用私钥进行加密(部署在weblogic上)。
请问大神应当怎么解决?
这是weblogic日志的错误信息。java.security.InvalidKeyException: Private key cannot be used to encrypt. at com.ibm.crypto.provider.RSA.engineInit(Unknown Source) at javax.crypto.Cipher.a(Unknown Source) at javax.crypto.Cipher.a(Unknown Source) at javax.crypto.Cipher.init(Unknown Source) at javax.crypto.Cipher.init(Unknown Source) at com.computech.bankcore.common.rsa.RsaMessage.encrypt(RsaMessage.java:120) at com.computech.bankcore.common.rsa.RsaMessage.encodeTag(RsaMessage.java:375) at com.computech.bankcore.common.rsa.RsaMessage.setMac(RsaMessage.java:956) at com.computech.bankcore.common.webservice.TradingInterface.sendPackage(TradingInterface.java:753) at com.computech.bankcore.common.dorado.viewmodel.ParamQueryViewViewModel.getParam(ParamQueryViewViewModel.java:125) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at com.bstek.dorado.view.ViewModelSupport.handleUpdate(ViewModelSupport.java:938) at com.bstek.dorado.view.rpc.UpdateDataRPCHandler.internalExecute(UpdateDataRPCHandler.java:115) at com.bstek.dorado.view.rpc.AbstractRPCHandler.execute(AbstractRPCHandler.java:118) at com.bstek.dorado.view.smartweb.v2.ViewServiceController.doRPC(ViewServiceController.java:450) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at com.bstek.dorado.action.Controller.doDispatch(Controller.java:225) at com.bstek.dorado.action.Controller.internalDispatch(Controller.java:176) at com.bstek.dorado.action.Controller.internalDispatch(Controller.java:146) at com.bstek.dorado.action.Controller.invokeAction(Controller.java:119) at com.bstek.dorado.action.ActionHandler.invokeAction(ActionHandler.java:137) at com.bstek.dorado.action.ActionHandler.invokeAction(ActionHandler.java:127) at com.bstek.dorado.core.DoradoServlet.doGet(DoradoServlet.java:79) at com.bstek.dorado.core.DoradoServlet.doPost(DoradoServlet.java:101) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at com.computech.common.filter.TimeZoneFilter.doFilter(TimeZoneFilter.java:39) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at com.bstek.dorado.core.FilterHandle.internalDoFilter(FilterHandle.java:345) at com.bstek.dorado.core.FilterHandle.doRPCFilter(FilterHandle.java:238) at com.bstek.dorado.core.FilterHandle.doFilter(FilterHandle.java:154) at com.bstek.dorado.core.DoradoFilter.doFilter(DoradoFilter.java:69) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
这是使用的加密方法。public byte[] encrypt(byte[] message, Key key) throws Exception { Cipher cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.ENCRYPT_MODE, key); return cipher.doFinal(message); }
2013年1月08日 18:18
2个答案 按时间排序 按投票排序
-
补充下jar报名字:xmlsec
mvn工程引入
<dependency> <groupId>xml-security</groupId> <artifactId>xmlsec</artifactId> <version>1.3.0</version> <type>jar</type> </dependency> <dependency> <groupId>xalan</groupId> <artifactId>xalan</artifactId> <version>2.7.1</version> <type>jar</type> </dependency>
貌似需要这两个包,记不清楚,时间长了!2013年1月09日 02:23
相关推荐
Java 公钥和私钥加密解密源码,写了注释可以直接运行,测试没有问题
java中使用公钥加密私钥解密原理实现license控制
可以直接运行成功的RSA加密解密示例 JAVA端采用公钥加密,服务端C#采用私钥解密。
能够生成公钥私钥,直观看到(e,n)和(d,n),能够进行文本及文件加密解密(相关函数输入输出均为byte[],非常好用),最大特点是能够使用私钥加密(.net中处于防止不当私钥加密泄露私钥的问题,好像只提供签名,即...
利用System.Numerics.BigInteger实现,私钥加密,公钥解密。兼容PKCS1填充方式。有效文件只有MyRSA.cs一个,其它文件是因为带了一个演示窗口。
用于私钥加密 公钥解密用于私钥加密 公钥解密用于私钥加密 公钥解密
RSA加密解密算法,可以实现现场的加密解密,可以更改公钥私钥。
RSA加密测试,私钥加密,公钥解密
亲测可用,可参考:https://blog.csdn.net/qq_37835111/article/details/87358779
在.net环境下实现RSA的私钥加密 公钥解密
C#使用公钥指数、私钥指数和模数进行私钥加密、公钥解密,可和Linux、Java配合加解密(比如C#加密,Java解密);C#使用的是BouncyCastle.Crypto进行加密及解密。测试过C#加密,用Linux C代码来解密,正常。 vs2008...
C# RSA非对称加密 实现私钥加密 公钥解密;可以用于生成授权码。 RSA生成一下随机值,然后都是用BigInteger类字符串跟字节数组互转
基于java的开发源码-利用DES私钥对称加密代码实例.zip 基于java的开发源码-利用DES私钥对称加密代码实例.zip 基于java的开发源码-利用DES私钥对称加密代码实例.zip 基于java的开发源码-利用DES私钥对称加密代码实例....
Java公钥私钥互相加密解密,使用公钥机密私钥解密,使用私钥加密公钥解密
PYTHON Crypto库支持RSA,私钥加密公钥解密, 文件名:RSA.PY 路径:Crypto\PublicKey\RSA.py 将此Crypto库中以上文件替换。 关于加解密方法看我的文章有写
C# RSA私钥加密,公钥解密源码
直观看到(e,n)和(d,n),能够进行文本及文件加密解密(相关函数输入输出均为byte[],非常好用),最大特点是能够使用私钥加密(.net中处于防止不当私钥加密泄露私钥的问题,好像只提供签名,即在散列值基础上的...
数字证书原理,公钥私钥加密原理基础概念和原理,数字证书的管理与使用
Java加密算法-公钥加密私钥解密,不太完美的就是没做到客户端与服务器交互的例子
基于.net的RSA私钥加密 公钥解密的源码--201903