ICSF provides access to cryptographic functions through callable services. A callable service is a routine that receives control from a CALL statement in an application language. Each callable service performs one or more cryptographic functions or a utility function. Many of these callable services comply with IBM's Common Cryptographic Architecture (CCA), while others are extensions to the CCA.
The callable services available to your applications depend on your processor or server. For a list of the callable services available with each configuration, see Summary of callable service support by hardware configuration.
The ICSF Query Facility (CSFIQF) and ICSF Query Facility 2 (CSFIQF2) will return general information about ICSF. ICSF Query Facility (CSFIQF) also returns coprocessor information. The ICSF Query Algorithm (CSFIQA) returns the cryptographic and hash algorithms available.
This service securely deciphers the text that was enciphered under one key and then enciphers it under another key. The service supports many encryption modes and AES and DES algorithms.
Application programs can use the PKA key generate callable service to generate ECC and RSA private keys.
Application programs can list and delete RSA private keys retained within the secure boundaries of a cryptographic feature coprocessors.
Application programs can use a callable service to generate a random number for use in cryptography or for other general use. The callable service uses the cryptographic feature to generate a random number for use in encryption. The foundation for the random number generator is a time-variant input with a low probability of recycling.
An application program can use the callable services in generating and verifying PINs. In addition, use the Encrypted PIN translate callable service to reencrypt a PIN block from one PIN-encrypting key to another, or to reformat a PIN block.
An application can use single-length or double-length MAC or MACVER keys, or single-length DATA keys to generate and verify message authentication codes.
An application can use an AES DATA key to generate and verify message authentication codes.
An application can use an HMAC key to generate and verify message authentication codes.
ICSF provides callable services that application programs can use to create, read, write, and delete records in the CKDS and PKDS.