What's the best way to integrate the Bouncy Castle provider in a Java program? I know I can add it programmatically, by using:
import org.bouncycastle.jce.provider.BouncyCastleProvider;
...
Security.addProvider(new BouncyCastleProvider());
Or either I can add it to a path in the JRE on my machine.
What's the best choice?
In my opinion the adding it as security provider with own code is the best option. This is because it is only project dependent - not system dependent. Add the BouncyCastle jar file(s) to your project and add them to the class-path and that's it. It will work on all systems without need for further manual installation steps.
If you install BouncyCastle into the JRE you always have problems in case you have to update the JRE.