在尝试在Android环境中执行加密和解密过程时,我有以下日志。
com.s.sdk.security.SMException:加载本地主密钥时出错,文件: “/cfg/lmktest.lmk”不存在。请指定有效的LMK文件,或 重建一个新的。 09-21 11:56:31.792 16182-16182 / com.mpos.sdk W / System.err:at com.s.sdk.security.jceadapter.JCESecurityModule.init(JCESecurityModule.java:1785) 09-21 11:56:31.792 16182-16182 / com.mpos.sdk W / System.err:at com.s.sdk.security.jceadapter.JCESecurityModule。(JCESecurityModule.java:159)
我之所以想要使用JPOS,只是因为我想进行金融交易,这将用于打包我的信息。
对于数据的加密和解密,我将使用这个JCESecurityModule,它在其他平台上运行良好,但在android OS上运行不正确。
注意: 我的android工作室中的文件位置为app / cfg / test.lmk
我能够从 jPOS-master \ jPOS-master \ jpos \ src \ test中的 github 上的 JPOS-master 获取此文件\资源\有机\初级专业人员\安全
即 lmk-test
以这种方式使用过
JCESecurityModule sm = new JCESecurityModule("app/cfg/test.lmk")
;
我还尝试使用以下方法重建lmk文件
public JCESecurityModule (String lmkFile) throws SMException
{
init(null, lmkFile, true);
}
可以在JCESecurityModule类(JPOS)中找到 在加载lmk文件时仍然存在同样的问题 感谢
答案 0 :(得分:0)
为了完整起见,这也是jPOS的谷歌集团的问题,并在那里进行了讨论。 https://groups.google.com/forum/#!topic/jpos-users/X3r_PX7lgd4
答案 1 :(得分:0)
加密是由连接到移动电话进行交易的设备完成的,但设备制造商实际上是这样做的,以提供您正在规避的端到端加密。您不需要设备中的jpos。您需要在集中部署的服务器上使用真正的HSM。
Victor Salaman 在JPOS用户谷歌组Buddybuild variables但您仍然可以使用其他模块而不是JCESecurityModule执行加密和解密(如果问题仍然存在)。例如使用SunJCE