我正在为客户端编写一个新的JCE Provider,因为我需要公开一些自定义Cipher.延长后CipherSpi和ProviderSpi,我准备再建.所以我问客户端他们定位的Java版本.他们回应:
# java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build pap3260sr9fp2-20110627_03(SR9 FP2)) IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 AIX ppc-32 jvmap3260sr9-20110624_85526 (JIT enabled, AOT enabled) J9VM - 20110624_085526 JIT - r9_20101028_17488ifx17
GC - 20101027_AA)
JCL - 20110530_01
#
Run Code Online (Sandbox Code Playgroud)
该死的.所以他们在AIX机器上使用IBM Java 1.6.0.
我编写了大部分定制的JCE提供程序来支持所需的功能(使用如何实现提供程序指南),从包中扩展ProviderSpi和CipherSpi抽象类com.sun.*.我是否需要获取IBM Java JDK并从中扩展抽象类com.ibm.*?或者我可以使用我的Sun-rooted Java代码签名证书来签署我的JCE提供程序JAR,并将其直接放到AIX系统上的正确位置?(其中一个是愚蠢的,但我不知道哪个).
我对JCE/JVM风格知之甚少,不知道我现在是否需要一个基于IBM的Java代码签名证书(如果有的话),或者Sun-rooted签名是否足够?