¿Cómo consigo que Java use mi proveedor de seguridad?

Escribí un proveedor de seguridad personalizado para AES / CBC / PKCS5Padding. Eso funciona bien.

¿Qué configuraciones necesito agregar a laProvider ¿Para que Java lo reconozca como un proveedor válido para el algoritmo anterior? ya tengo

<code>public class FooBarProvider extends Provider {
  public FooBarProvider() {
    super("FooBar", 1.0, "Provider for AES.");
    put("Cipher.AES", "foo.bar.AESCipher");
  }
}
</code>

donde el último argumento es el actualCipherSpi Eso hace el trabajo. ¿Dónde registro el hecho de que es compatible con CBC y PKCS5Padding? Actualmente solicitando un relevanteCipher No devuelve una instancia de mi clase:

<code>Security.insertProviderAt(new FooBarProvider(), 1);
Cipher cip = Cipher.getInstance("AES/CBC/PKCS5Padding");
System.out.println(cip.getProvider()); //prints "SunJCE version 1.7"
</code>

Respuestas a la pregunta(2)

Su respuesta a la pregunta