Como obtenho o Java para usar o meu provedor de segurança?

Eu escrevi um provedor de segurança personalizado para AES / CBC / PKCS5Padding. Isso funciona bem.

Quais configurações preciso adicionar aoProvider para que Java o reconheça como um provedor válido para o algoritmo acima? eu já tenho

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

onde o último argumento é o realCipherSpi isso faz o trabalho. Onde eu registro o fato de que ele suporta CBC e PKCS5Padding? Atualmente pedindo por um relevanteCipher não retorna uma instância da minha classe:

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

questionAnswers(2)

yourAnswerToTheQuestion