Certificate Selection & Certificate Friendly Name Tool
The certificate selection user interface in Windows supports filtering logic to provide a simplified user experience when an application presents multiple certificates. But some applications are not designed to use filtering logic (developers not aware of functionality…) or uses filters that does not provide efficient reduction of the number of certificates presented to the user making it almost impossible for a user to know witch certificate to choose unless opening the certificate and looking at the details of template name, EKU, etc.
This is particularly true when all certificates has been automatically enrolled using the same user DN/CN attribute based on the users Active Directory user object attributes. In addition to that, Autoenrollment does not support variations in certificate subject name unless using some third party policy module installed on the Active Directory Certificates Services.
Knowing that the certificate selection UI supports certificate friendly names. Setting the certificate friendly name to include information about the certificate template can simplify the users task to select the correct certificate.
Friendly names are properties in the X.509 certificate store in Windows that can be set at any time after the certificate has been created/installed in the store.
One way to set the friendly name is through the certificate MMC SnapIn. Alternatively certutil.exe can be used in the following way:
Create a text file containing the following information:
[Version]
Signature = “$Windows NT$”
[Properties]
11 = “{text}My Friendly Name”
Save the file as friendlyname.inf
Determine the serialnumber of the certificate where the friendly name should be changed.
Run the following command at a command-line:
certutil –repairstore –user my {SerialNumber} FriendlyName.inf
Automating the friendly name can be achieved by either automating/scripting the steps above alternatively by creating a tool that enumerates all certificates in the personal store and assign the friendly name.
A proof of concept CertFN.exe tool was created to automate the above. The tool receives a parameter for the template name to use when filtering the user store, it then sets the friendly name based on the schema “Template Name – Certificate Subject Name”
CertFN - Certificate Friendly Name Tool download:(39.3 KiB, 4,439)
CertFN - Certificate Friendly Name Tool - The Powershell Edition download:(1.1 KiB, 5,674)