The present invention provides a method, apparatus, and computer
implemented instructions for executing cryptographic operations.
Responsive to a request to perform a cryptographic operation, one (or
more) of a software process and a hardware process is selected for
performing the cryptographic operation based on a policy which process
results with available resources to perform the cryptographic operation
to form a selected process. The cryptographic operation is performed
using the selected process. Necessary object conversions, which is
transparent to the application, is carried out in order to convert
objects to usable forms of the selected process(es).