Documentation Contents

# Description of Figure 1a Provider searching and Figure 1b Specific provider requested

Link to figures in Java Cryptography Architecture (JCA) Reference Guide

Link to figures in How to Implement a Provider

## Figure 1a Provider searching

This image consists of five cylinders that represent the following:

- Application
- Provider Framework
- `ProviderA`: Message digest implementations SHA384 and SHA512
- `ProviderB`: Message digest implementations SHA256 and SHA384
- `ProviderC`: Message digest implementations SHA256 and SHA512

An arrow representing a call to `MessageDigest.getInstance("SHA-256")` starts from the Application cylinder and passes through the following cylinders in the indicated order:

1. Provider Framework
2. `ProviderA`
3. `ProviderB`
4. Provider Framework

The arrow ends at the Application cylinder. The call to `MessageDigest.getInstance("SHA-256")` has returned a SHA-256 message digest implementation from `ProviderB`.

## Figure 1b Specific provider requested

This image consists of five cylinders that represent the following:

- Application
- Provider Framework
- `ProviderA`: Message digest implementations SHA384 and SHA512
- `ProviderB`: Message digest implementations SHA256 and SHA384
- `ProviderC`: Message digest implementations SHA256 and SHA512

An arrow representing a call to `MessageDigest.getInstance("SHA-256", "ProviderC")` starts from the Application cylinder and passes through the following cylinders in the indicated order:

1. Provider Framework
2. `ProviderC`
3. Provider Framework

The arrow ends at the Application cylinder. The call to `MessageDigest.getInstance("SHA-256", "ProviderC")` has returned a SHA-256 message digest implementation from `ProviderC`.

Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved.
Contact Us