Common Classes and Methods
This section lists the common classes and methods used in the CCM API.
-
It is not intended to be a replacement for the Javadoc.
-
For a comprehensive list of all classes, methods, interfaces, and constants, refer to the Javadoc.
Common Classes
This section introduces and briefly describes the common classes that are implemented in the CCM components.

Represents a CredentialProfileId in getProfileSyntax(), getProfileDynamicEntries(), findCredentialProfileIds() and also in Application objects.

A unique Credential identifier that consists of the following:
-
A type which identifies the specific Credential from among the following choices:
-
CRED_ID_TYPE_PIN
-
CRED_ID_TYPE_SQ
-
CRED_ID_TYPE_PASSWORD
-
CRED_ID_TYPE_PKI
-
CRED_ID_TYPE_VCI (Virtual Contact Interface)
-
-
An identifier which is a combination of the type and an identifier (which must be unique).

The Criteria class is a mechanism for specifying both intra- and inter-manager search criteria. A criteria key is relative to its context.
-
For UserManager, findUserIds is the base of all keys for users.
-
For WalletManager, findActionIds is the base of all keys for actions.
The criteria keys are also hierarchical in nature and, to some extent, they are object-oriented. For example, a User has zero or one Wallet and that Wallet has zero or more SecurityModules.
For example:
UserManager.findUserIds, user.wallet.securitymodule.xyz
The following items represent the hierarchy of managed objects and their corresponding prefixes:
-
User: user
-
Wallet: wallet
-
security module: securitymodule
-
action: action
The starting point of the hierarchy is determined by the context of the finder method.

A single item of login history indicating when the login attempt was made and whether it was successful or not. LoginInformation is used by the getSessionInfo method.

A name/value pair describing a property.

A personality of an authenticated subject. A Principal object contains the operator DN, operator userid, and operator role. Principal is used by getSessionInfo, and a principal instance contains the identity and a type attribute. The following represents types of principals:
-
Role: defines role assigned to the subject.
-
DN: defines the user’s LDAP Distinguished Name (DN), if relevant in the authenticated context.
-
userId: defines the unique identifier of the user.

An identifier that uniquely identifies a SecurityModule object, which represents a physical security module such as a smart card. Typically, there will be only one SecurityModule for a User or a Wallet. A SecurityModuleId consists of the following:
-
Type
-
Identifier

This contains information about the current session, which includes the authenticated operator (Subject) and the login history (LoginInformation).

An authenticated identity containing a list of personalities (Principal). The SessionInfo object contains the Subject object.

An identifier that uniquely identifies a User object within the context of ActivID CMS.

An identifier that uniquely identifies a Wallet object. Wallet identifiers are assigned internally by ActivID CMS.
Common Methods
This section introduces and briefly describes the following methods that are implemented in all CCM Card and Credential Management components:
-
CredentialManager
-
UserManager
-
WalletManager
-
SecurityModuleManager
-
SynchronizationManager

Closes the current session with this component.
For Java:
void closeSession(void) throws SessionException, LocalizedRemoteException;
For C++:
void closeSession(void);
Exceptions:
-
SessionException—if the session was invalid for whatever reason (such as expired or never opened).
-
LocalizedRemoteException— (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.

This method exposes the following information:
-
A list of login information where each entry represents a login attempt and includes the following:
-
Whether it was successful or not.
-
The date/time at which it occurred.
-
The authenticated subject, which contains a list of principals representing the identities of the authenticated subject. These identities are:
-
The subject’s DN (if available—otherwise user DN).
-
The subject’s user ID (if available—otherwise user ID).
-
The roles configured for the subject.
For Java:
SessionInfo getSessionInfo()
Throws LocalizedRemoteException, SessionException
For C++:
SessionInfo *getSessionInfo();
Returns:
Session information that is contained in the SessionInfo.
Exceptions:
-
SessionException—if there is no valid session (such as session not opened or timed out).
-
LocalizedRemoteException— (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.

Returns version information for the client and server.
For Java:
String getVersion(void)
throws LocalizedRemoteException;
For C++:
TString getVersion(void);
Returns:
The version of this component.
Exceptions:
LocalizedRemoteException— (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.

Returns true after successful login and if the ActivID CMS session has not expired or been logged out (CMS session validity); otherwise returns false.
For Java:
boolean isSessionOpen(void)
throws SessionException, LocalizedRemoteException;
For C++:
bool isSessionOpen(void);
Returns:
true if a session is currently open; otherwise, it returns false.
Exceptions:
-
SessionException—if there is no valid session (such as session not opened or timed out).
-
LocalizedRemoteException — (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.

Opens a new session with this component.
For Java:
String openSession (Parameter[] parameters)
throws SessionException, LocalizedRemoteException;
For C++:
TString openSession(ParameterVector *parameters);
Parameters:
parameters—reserved for future use.
Returns:
The ID of the session opened by the server.
Exceptions:
-
SessionException—if there is no valid session (such as session not opened or timed out).
-
LocalizedRemoteException— (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.