You can provision objects for Forefront Identity Manager Certificate Management (FIM CM) by provisioning requests in Forefront Identity Manager (FIM). Because provisioning contains a number of basic steps, see Provisioning Objects in the Connector Space for an overview of provisioning.

When you are deciding how to provision requests, you can choose between two options:

Provisioning Forefront Identity Manager Certificate Management Objects Examples

This section describes the topics that show you how to provision various FIM CM requests:

Example Purpose

How to: Provision a FIM Certificate Management Recover Request

Shows you how to provision a recover request.

How to: Provision a FIM Certificate Management Online Update Request

Shows you how to provision an online update request.

How to: Provision a FIM Certificate Management Enroll Request

Shows you how to provision an enroll request.

How to: Provision a FIM Certificate Management Disable Request

Shows you how to provision a disable request.

How to: Provision a FIM Certificate Management Suspend Request

Shows you how to provision a suspend request.

How to: Provision a FIM Certificate Management Reinstate Request

Shows you how to provision a reinstate request.

How to: Provision a FIM Certificate Management Recover on Behalf Request

Shows you how to provision a Recover on Behalf request.

How to: Provision a FIM Certificate Management Retire Request

Shows you how to provision a retire request.

How to: Provision a FIM Certificate Management Duplicate Request

Shows you how to provision a duplicate request.

How to: Provision a FIM Certificate Management Temporary Card Disable Request

Shows you how to provision a disable request for a temporary card.

How to: Provision a FIM Certificate Management Temporary Card Retire Request

Shows you how to provision a retire request for a temporary card.

How to: Provision a FIM Certificate Management Linked Temporary Card Request

Shows you how to provision a Temporary Card request for a temporary card that is linked to an existing profile.

How to: Provision a FIM Certificate Management Unlinked Temporary Card Request

Shows you how to provision a Temporary Card request for a temporary card that is not linked to an existing profile.

How to: Use FIM Certificate Management to Determine Connected Profiles and Requests

Shows you how to use the ClmUtils class to determine the connected profiles and requests.

Framework

Because many of the steps to provision a FIM CM object are the same, the following examples show the framework, in Microsoft Visual Basic and Microsoft Visual C#, around which the example tasks are built.The following example shows you how to use a rules extension to provision a FIM CM request with the assistance of ClmUtils. This approach assumes that the business logic in CLMUtils is in line with the implementation design required by your solution.

See the more detailed and specific examples of how to provision requests without the help of ClmUtils.

Visual Basic  Copy Code
Dim CLMUtils As ClmUtils

Sub Initialize()  Implements IMVSynchronization.Initialize
	CLMUtils = New ClmUtils(New String() {
		"CertificateLifecycleManagerMA"})
End Sub 'IMVSynchronization.Initialize

Sub Provision(ByVal mventry As MVEntry)
	Implements IMVSynchronization.Provision

	Dim CLMMA As ConnectedMA = mventry.ConnectedMAs(
		"CertificateLifecycleManager")

	CLMUtils.CreateEnrollRequest(CLMMA,
		New Guid(mventry("objectGUID").BinaryValue),
		"Smart Card User Template")

	If mventry("clmRequestFlag ").IsPresent Then
		Select Case mventry("clmRequestFlag").Value.ToLower()
			Case "clmdisable"
				CLMUtils.CreateDisableRequest(CLMMA,
					New Guid(mventry("objectGUID").BinaryValue),
					"Smart Card User Template")
		
			Case "clmretire"
				CLMUtils.CreateRetireRequest(CLMMA,
					New Guid(mventry("objectGUID").BinaryValue),
					"Smart Card User Template")
		
			Case "clmrob"
				CLMUtils.CreateRecoverOnBehalfRequest(CLMMA,
					New Guid(mventry("objectGUID").BinaryValue),
					"Smart Card User Template")
		
			Case "clmsuspend"
				CLMUtils.CreateSuspendRequest(CLMMA,
					New Guid(mventry("objectGUID").BinaryValue),
					"Smart Card User Template")
		
			Case "clmreinstate"
				CLMUtils.CreateReinstateRequest(CLMMA,
					New Guid(mventry("objectGUID").BinaryValue),
					"Smart Card User Template")
		End Select
	End If

End Sub 'IMVSynchronization.Provision
C#  Copy Code
ClmUtils CLMUtils;

void IMVSynchronization.Initialize()
{
	CLMUtils = new ClmUtils(new String[] {
		"CertificateLifecycleManagerMA" });
}

void IMVSynchronization.Provision(MVEntry mventry)
{
	ConnectedMA CLMMA = mventry.ConnectedMAs[
		"CertificateLifecycleManager"];

	CLMUtils.CreateEnrollRequest(CLMMA,
		new Guid(mventry["objectGUID"].BinaryValue),
		"Smart Card User Template");
	if (mventry["clmRequestFlag "].IsPresent)
	{
		switch (mventry["clmRequestFlag"].Value.ToLower())
		{
			case "clmdisable":
				CLMUtils.CreateDisableRequest(CLMMA,
					new Guid(mventry["objectGUID"].BinaryValue),
					"Smart Card User Template");
				break;

			case "clmretire":
				CLMUtils.CreateRetireRequest(CLMMA,
					new Guid(mventry["objectGUID"].BinaryValue),
					"Smart Card User Template");
				break;

			case "clmrob":
				CLMUtils.CreateRecoverOnBehalfRequest(CLMMA,
					new Guid(mventry["objectGUID"].BinaryValue),
					"Smart Card User Template");
				break;
		
			case "clmsuspend":
				CLMUtils.CreateSuspendRequest(CLMMA,
					new Guid(mventry["objectGUID"].BinaryValue),
					"Smart Card User Template");
				break;

			case "clmreinstate":
				CLMUtils.CreateReinstateRequest(CLMMA,
					new Guid(mventry["objectGUID"].BinaryValue),
					"Smart Card User Template");
				break;
	}
}
}

See Also