Introduction to Bouncy Castle Provider
The Bouncy Castle provider is a JCE compliant cryptography provider. Using the provider interface allows selecting the cryptography provider at runtime. This helps applications use providers with hardware support for cryptography, or in restricted environments.
Features and Usage
It provides frameworks for encryption, key generation, and message authentication. Bouncy Castle consists of lightweight cryptography APIs for Java and C#. It has a JCE and JCA provider and a provider for JSSE.
Installation Guide
To install, add its dependencies to pom.xml. Setup unlimited strength jurisdiction files. The standard Java installation is limited in terms of strength for cryptographic functions, this is due to policies prohibiting the use of a key with a size that exceeds certain values e.g. 128 for AES. Exclude one before including the other. The BC distribution contains implementations of EC MQV as described in RFC 5753. In line with RFC 5753, some functionality may be disabled.
Construct a new provider using Security.addProvider(new BouncyCastleProvider()). This should only be required when using runtime registration of the provider.