Return the stored smart card user PIN.
Namespace: Microsoft.Clm.Provision
Assembly: Microsoft.Clm.Provision (in microsoft.clm.provision.dll)


Visual Basic
Dim smartcardUuid As Guid
Dim returnValue As String

returnValue = ExecuteOperations.GetUserPin(smartcardUuid)


Visual Basic
Public Shared Function GetUserPin ( _
		smartcardUuid As Guid _
) As String
public static string GetUserPin (
		Guid smartcardUuid
static String^ GetUserPin (
		Guid smartcardUuid
public static String GetUserPin (
		Guid smartcardUuid
public static function GetUserPin (
		smartcardUuid : Guid
) : String



A Guid object that identifies the smart card for which to retrieve the user PIN.

Return Value

A String object that contains the user’s smart card PIN.


This method retrieves the initial user PIN that is stored on the smart card. Subsequent user PINs are not tracked by FIM CM. This requires the smart card user PIN policy to be configured as ServerGenerated.

In order for a call to this method to succeed, the caller of the method must be authorized to call the methods in the Sensitive API group. The Sensitive API group includes those methods where the caller has access to sensitive data. This includes the administrator PIN, the user PIN, the Base CSP administrator authentication key, and/or the Base CSP challenge response information.

To allow for a user, or a group of users, to be authorized to call the methods in the Sensitive API group, FIM CM must be configured as follows:

  1. Open the web.config file that is associated with the FIM CM Web Virtual Directory (the default location of this file is %programfiles%\Microsoft Certificate Lifecycle Manager\web\web.config).

  2. Locate the configuration section for the Sensitive API group, which resembles the following:

  3. <add key="Clm.ProvisionApi.SensitiveApiGroup" value="" />

  4. By default, FIM CM does not authorize any users to call the methods in the Sensitive API group.

  5. Set the value to the name of a security group that contains the users who are to be authorized to call the methods in the Sensitive API group. The security group must be specified in the "domainname\groupname" format. For example:

  6. <add key="Clm.ProvisionApi.SensitiveApiGroup" value="domain\SensitiveApiUserGroup" />

  7. Save the web.config file.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


Development Platforms

Windows 2008 x64 Edition

Target Platforms

Windows XP SP3, Windows Vista SP1+, Windows 7, Windows Server 2008, Windows Server 2008 R2

See Also