About the Card and Credential Management API
The CCM API provides a set of SOAP-based services to the IDPRS. The CCM API supports both C++ and Java binding. The CCM API consists of four managers, three of which are relevant to the IDPRS integration:
-
User Manager
Typically, the User Manager is used by the IDPRS to create users in ActivID CMS and to submit CPR’s. It manages PIV Personal Identity Verification (technical standard of "HSPD-12") cardholders and their enrollment data and handles Cardholder management and lifecycle changes (create, delete, binding, search, get/set enrollment attributes).
-
Wallet Manager
Typically, the Wallet Manager is used by the IDPRS to submit an issuance request to ActivID CMS after the user has been created and the CPR The Card Production Request (CPR) contains a list of user-specific attributes that will be stored, fully or partially, in the PIV Metadata database, and will be loaded on the PIV card during the issuance. has been submitted. The Wallet Manager is used to manage the PIV card request lifecycle, and it provides PIV card re-issuance, renewal or post-issuance request lifecycle management (submit, cancel, retry).
-
Security Module Manager
Typically, the Security Module Manager is used by the IDPRS to submit a PIV card revocation, suspension, or resumption request to ActivID CMS. The Security Module Manager is used to manage the lifecycle of the PIV card, and it provides PIV card lifecycle management functionalities (termination, resumption, and suspension).
The following table describes the CCM API methods that should be used to implement the use cases.
|
IDPRS Function |
CCM API Method |
|---|---|
|
Check user existence |
UserManager.findUserId |
|
Create user |
UserManager.createUser |
|
Submit a CPR |
UserManager.addEnrollmentData |
|
Submit an initial, replacement, or post-issuance request |
WalletManager.submitActions |
|
Check card status |
SecurityModuleManager.getLifecycleStatus |
|
Terminate, suspend, resume a PIV card |
SecurityModuleManager.performProcess |
|
Delete a cardholder |
UserManager.deleteUser |