liveBook · Manning

Provider-based architecture

As explained in Software Security for Developers

A provider-based architecture separates stable application-facing interfaces from replaceable implementations supplied by providers.

Provider-based architecture separates stable application-facing APIs from replaceable implementations. In Java cryptography, applications call standard JCA and JCE APIs, which route requests to installed provider implementations. section 4.3

Hashing through a provider

Application code can request SHA3-256 through MessageDigest without directly depending on a particular provider: MessageDigest.getInstance("SHA3-256").digest(data). The same standard API can route the operation through an installed provider such as SunJCE or Bouncy Castle. section 4.3

How Software Security for Developers covers it

How deep it goes
Defines API routing and provider replacement, but stops short of detailed provider installation or algorithm-selection procedures.
Examples
Uses SHA3-256 file hashing with MessageDigest and contrasts standard Java usage with Tink-backed message-digest creation.
What it assumes
Assumes basic Java API familiarity while introducing the separation between cryptographic interfaces and implementations.
What you can do after
Apply cryptographic algorithms through standard Java APIs while leaving implementation selection to installed providers.
How it connects
Connects Java Cryptography Architecture, Java Cryptography Extensions, cryptographic providers, and hardware security modules.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Software Security for Developers. The section links point to the parts of the book it draws on.