我为AES/CBC/PKCS5Padding编写了自定义安全提供程序。这工作正常。如何让Java使用我的安全提供程序?
什么设置,我需要添加到Provider
,以便为Java将其识别为上述算法有效的供应商?我已经有
public class FooBarProvider extends Provider {
public FooBarProvider() {
super("FooBar", 1.0, "Provider for AES.");
put("Cipher.AES", "foo.bar.AESCipher");
}
}
其中后一个参数是实际工作的CipherSpi
。我在哪里注册它支持CBC和PKCS5Padding的事实?目前,要求相关Cipher
不回我的类的实例:
Security.insertProviderAt(new FooBarProvider(), 1);
Cipher cip = Cipher.getInstance("AES/CBC/PKCS5Padding");
System.out.println(cip.getProvider()); //prints "SunJCE version 1.7"
所以我甚至不能安装它来测试它的实现? – 2012-04-09 06:18:44