Tôi đã viết một nhà cung cấp bảo mật tùy chỉnh cho AES/CBC/PKCS5Padding. Điều đó hoạt động tốt.Tôi làm cách nào để sử dụng Java để sử dụng nhà cung cấp bảo mật của mình?
Tôi cần thêm những cài đặt nào để thêm vào Provider
để Java nhận ra đó là nhà cung cấp hợp lệ cho thuật toán trên? Tôi đã có
public class FooBarProvider extends Provider {
public FooBarProvider() {
super("FooBar", 1.0, "Provider for AES.");
put("Cipher.AES", "foo.bar.AESCipher");
}
}
nơi đối số thứ hai là thực tế CipherSpi
hoạt động. Tôi đăng ký một thực tế là nó hỗ trợ CBC và PKCS5Padding ở đâu? Hiện nay yêu cầu cho một liên quan Cipher
không trả lại một thể hiện của lớp học của tôi:
Security.insertProviderAt(new FooBarProvider(), 1);
Cipher cip = Cipher.getInstance("AES/CBC/PKCS5Padding");
System.out.println(cip.getProvider()); //prints "SunJCE version 1.7"
Vì vậy, tôi thậm chí không thể cài đặt nó để kiểm tra việc thực hiện nó? –