Installing the exits

You install an exit for a service by installing the load module that contains the exit into an APF-authorized library. ICSF uses this normal search order to locate the exit:
Define the ICSF name and the load module name as a value on the EXIT keyword in the installation options data set. For more information about the installation options data set, see Parameters in the installation options data set. The EXIT keyword has this syntax:
The ICSF name portion of the keyword refers to the ICSF name for each service exit. Note that the ICSF name for each service exit is the same as its name. Table 1 lists the ICSF names for each of the service exits. Table 2 lists the ICSF names for each of the compatibility service exits. The load module name is the name of the load module that contains the exit. The name can be any valid name that your installation chooses. The FAIL portion of the EXIT keyword specifies the action ICSF takes if the exit cannot be loaded or it ends abnormally. The valid FAIL options are:
NONE
No action is taken. The exit can be called again and will end abnormally again.
EXIT
The exit is no longer available to be called again.
SERVICE
The service or program that called the exit is no longer available to be called again.
ICSF
ICSF or the key generator utility program or the PCF conversion program is ended, depending on the exit.

You must specify a FAIL option. If you do not, ICSF returns an error message, ends abnormally, and generates an SVC dump when attempting to load the exit. If the exit ends abnormally, the service call fails regardless of the fail option you specified. Fail options apply only to subsequent requests for the service.

Note: In this table, CSFPKSC (PKSC interface) and CSFPCI (PCI interface), are a part of the product-sensitive programming interface.
Table 1. Services and their ICSF names
Service ICSF name
Authentication Parameter Generate CSFAPG
Ciphertext Translate2 CSFCTT2
Ciphertext Translate2 (with ALET) CSFCTT3
CKDS Key Record Create CSFKRC
CKDS Key Record Create2 CSFKRC2
CKDS Key Record Delete CSFKRD
CKDS Key Record Read CSFKRR
CKDS Key Record Read2 CSFKRR2
CKDS Key Record Write CSFKRW
CKDS Key Record Write2 CSFKRW2
Clear Key Import CSFCKI
Clear PIN Encrypt CSFCPE
Clear PIN Generate CSFPGN
Clear PIN Generate Alternate CSFCPA
Control Vector Translate CSFCVT
Cryptographic Variable Encipher CSFCVE
CVV Key Combine CSFCKC
Data Key Export CSFDKX
Data Key Import CSFDKM
Decipher CSFDEC
Decipher (with ALET) CSFDEC1
Decode CSFDCO
Digital Signature Generate CSFDSG
Digital Signature Verify CSFDSV
Diversified Key Generate CSFDKG
Diversified Key Generate2 CSFDKG2
DK Deterministic PIN Generate CSFDDPG
DK Migrate PIN CSFDMP
DK PAN Modify in Transaction CSFDPMT
DK PAN Translate CSFDPT
DK PIN Change CSFDPC
DK PIN Verify CSFDPV
DK PRW Card Number Update CSFDPNU
DK PRW CMAC Generate CSFDPCG
DK Random PIN Generate CSFDRPG
DK Regenerate PRW CSFDRP
ECC Diffie-Hellman CSFEDH
Encipher CSFENC
Encipher (with ALET) CSFENC1
Encode CSFECO
Encrypted PIN Generate CSFEPG
Encrypted PIN Translate CSFPTR
Encrypted PIN Verify CSFPVR
FPE Decipher CSFFPED
FPE Encipher CSFFPEE
FPE Translate CSFFPET
HMAC Generate CSFHMG
HMAC Generate (with ALET) CSFHMV1
HMAC Verify (with ALET) CSFHMV1
HMAC Verify CSFHMV
ICSF Multi-Purpose Service CSFMPS
Key Data Set List CSFKDSL
Key Data Set Metadata Read CSFKDMR
Key Data Set Metadata Write CSFKDMW
Key Export CSFKEX
Key Generate CSFKGN
Key Generate2 CSFKGN2
Key Import CSFKIM
Key Part Import CSFKPI
Key Part Import2 CSFKPI2
Key Test CSFKYT
Key Test2 CSFKYT2
Key Test Extended CSFKYTX
Key Translate CSFKTR
Key Translate2 CSFKTR2
MAC Generate CSFMGN
MAC Generate (with ALET) CSFMGN1
MAC Generate2 CSFMGN2
MAC Generate3 CSFMGN3
MAC Verify CSFMVR
MAC Verify (with ALET) CSFMVR1
MAC Verify2 CSFMVR2
MAC Verify3 CSFMVR3
MDC Generate CSFMDG
MDC Generate (with ALET) CSFMDG1
Multiple Clear Key Import CSFCKM
Multiple Secure Key Import CSFSKM
One Way Hash Generate CSFOWH
One Way Hash Generate (with ALET) CSFOWH1
PCI Interface CSFPCI
PIN change/unblock CSFPCU
PKA Decrypt CSFPKD
PKA Encrypt CSFPKE
PKA Key Generate CSFPKG
PKA Key Import CSFPKI
PKA Key Translate CSFPKT
PKA Key Token Change CSFPKTC
PKA Public Key Extract CSFPKX
PKDS Key Record Create CSFPKRC
PKDS Key Record Delete CSFPKRD
PKDS Key Record Read CSFPKRR
PKDS Key Record Write CSFPKRW
Prohibit Export CSFPEX
Prohibit Export Extended CSFPEXX
Random Number Generate CSFRNG
Random Number Generate Long CSFRNGL
Recover PIN From Offset CSFPFO
Remote Key Export CSFRKX
Restrict Key Attribute CSFRKA
Retained Key Delete CSFRKD
Retained Key List CSFRKL
Secure Key Import CSFSKI
Secure Key Import2 CSFSKI2
Secure Messaging for Keys CSFSKY
Secure Messaging for PINs CSFSPN
SET Block Compose CSFSBC
SET Block Decompose CSFSBD
Symmetric Key Export CSFSYX
Symmetric Key Export with Data CSFSXD
Symmetric Key Generate CSFSYG
Symmetric Key Import CSFSYI
Symmetric Key Import2 CSFSYI2
Symmetric MAC Generate CSFSMG
Symmetric MAC Generate (with ALET) CSFSMG1
Symmetric MAC Verify CSFSMV
Symmetric MAC Verify (with ALET) CSFSMV1
TR-31 Export CSFT31X
TR-31 Import CSFT31I
Transaction Validation CSFTRV
Trusted Block Create CSFTBC
Unique Key Derive CSFUKD
VISA CVV Service Generate CSFCSG
VISA CVV Service Verify CSFCSV
Note:
  1. The aliases for the PKA services is CSNDxxx or or CSNFxxx.
  2. The aliases for the symmetric key services are CSNBxxx or CSNExxx.
Table 2. Compatibility services and their ICSF names
Compatibility Service ICSF Name
Encipher under Master Key CSFEMK
Generate a key CSFGKC
Import a key CSFRTC
Cipher/Decipher CSFEDC