10.2. Design Principles

The design of the Java Cryptography Architecture is guided by two principles: (1) algorithm independence and extensibility and (2) implementation independence and interoperability. The aim of the JCA is to let API users use cryptographic services, such as digital signatures and message digests, without concern for the implementations or even the algorithms being used to implement these services. At the same time, the JCA provides standardized APIs so that developers can request specific algorithms and specific implementations, if desired.

Algorithm independence is achieved by defining types of cryptographic “engines,” or services, and defining classes that provide the functionality of these cryptographic engines. These ...

Get Inside Java™ 2 Platform Security: Architecture, API Design, and Implementation, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.