The Profile class implements a software certificate profile helper class. A software certificate profile describes a user’s certificates for profile templates that are not stored on smart cards.

The Smartcard class implements a smart card certificate profile helper class.

Creating a New Profile

Software profiles are created when a request such as Enroll or Recover is performed against a profile template that is not targeted for smart cards.

You should not instantiate Profile objects directly. Instead, client applications should call the FIM CM methods that return Profile objects. An example of such APIs is the GetProfile method.

Creating a new SmartCard

SmartCards are created when a request such as Enroll or Recover is performed against a profile template that is targeted for smart cards.

You can use the CreateSmartcard method to introduce a new smart card for a given request. The request associated with this operation must be for a smart card profile template.

You can also get existing SmartCard objects by using the GetSmartcard method using the smart card’s GUID. The Smart card's GUID can be obtained from Request, for example using the NewSmartcardUuid property.

Loading a Profile or SmartCard

You can use the GetProfile method to retrieve a specified profile.

Similarly, you can use the GetSmartcard method to retrieve a specific smart card.

Profile and SmartCard State

The ProfileStatus enumeration defines values that indicate the status of a profile. Similarly, the SmartcardStatus enumeration defines values that indicate the status of a smart card. The following is a list of valid states a profile can be in.

  • Active: The profile is active and fully functional.

  • Assigned: The smart card is assigned to a user as part of the process of being created. Applies to smart cards only.

  • Disabled: The profile or smart card is disabled.

  • New: The profile or smart card is being created.

  • None: No status information is specified for the profile or smart card.

  • Retired: The profile or smart card has been discontinued. The life cycle of the profile has ended.

  • Suspended: The profile or smart card is temporarily suspended.

Changing the State of a Profile and SmartCard

When you perform operations such as enroll, recover or retire on a profile or smart card, its state is automatically changed. The methods that perform these tasks are Enroll, Recover, and Retire respectively.

For example, when you initiate an Enroll request, the profile does not exist at this point, and its state is None. The Request is in Pending state (or Approved state if no approvals required).

When you execute the Enroll request, a new profile is created that is in the Active state. The Request is in Completed state.

When you execute a Disable request, the profile is now in Disabled state, and the request is in Completed state.

Initiating a Request on a Profile or SmartCard

You can initiate requests on both smart card and software-based profiles depending on the state of the profile.

When a smart card or software-based profile is processed, a request passes through different states. The states that can exist for a request in a software profile are as follows:

  • Pending: If one or more approvals are required, a request is in a pending state. If no approvals are required, the request can transition to an approved state.

  • Canceled: Once a request is in a pending state, the person who initiated or created the request can choose to cancel the request. Once canceled, the request is in a canceled state.

  • Denied: If an approver chooses to deny a pending request, the request enters a denied state. A request cannot be approved after it is denied.

  • Approved: If all designated approvers choose to approve a pending request or no approvals are required, the request enters an approved state.

  • Executing: When execution is initiated on an approved request, the request enters an executing state.

  • Failed: A request will be marked as 'Failed' if the person executing the request explicitly aborts or abandons the request.

  • Completed: If an executing request completes successfully, the request enters a completed state.

Searching for a Profile or Smart Card

You cannot search for a specific profile, although you can use the FindSmartcards method to search for a specific smart card.

See Also