The Certificate Enrollment Process

An Overview on the Public Key Infrastructure (PKI) and Digital Certificates

While encryption can be a robust security technology, you have to implement a public key infrastructure (PKI) to make it beneficial and trusted within an organization. The Windows 2000 and Windows Server 2003 implementation of the PKI resides in Certificate Services. A public key infrastructure is the collection of technology, protocols, services, standards and policies that control the issuing of, and management of public and private keys using digital certificates. Certificates are the core of the PKI. Encryption is used to protect data messages as it is transmitted over the network, and digital signatures verify the identities of the senders of these messages. Public key encryption is used for the encryption of data. In public key encryption, each user has a private key that is kept secret and is never sent over the network; and public key that can be publicly distributed. The public and private key pair is used to encrypt and decrypt data. The public key encrypts the data into an unreadable or scrambled format. Only the private key in the key pair can be used to decrypt the data to a readable format.

Digital certificates are used to distribute the public key. A digital certificate associates a public key with an entity such as an individual or organization because it contains the public key for the user or organization, additional information on the user or organization, and information on the entity that issued the certificate. The entities that issue and manage digital certificates are called certificate authorities (CAs). You cannot forge certificates because the CA digitally signs the certificates, and the signature is applied to a hash of the certificate. In Windows 2000, Windows XP, and Windows Server 2003, the Data Protection API deals with certificates. The X.509 standard, Public-key and Attribute Certificate Frameworks, specifies the format of certificates for PKI implementations. A digital certificate usually contains a version number that identifies the X.509 standard version used for the certificate; the serial number of the certificate; the CA that issued the certificate; the signature algorithm identifier which defines the CA’s algorithm used for the digital signature of the certificate; the validity period of the certificate; the entity to which the certificate was issued; the intended uses of the certificate; the public key of the user, and the location of the certificate revocation list (CRL).

To make certificates useful or trusted, you have to obtain a certificate from a trusted entity, called a certification authority (CA). A CA is the trusted entity that issues and manages the use of certificate within the PKI. A CA can be an external third party CA such as VeriSign, or you can deploy your own internal CAs. You can also use a combination of internal and external CAs. You can consider the process of designing and deploying CAs as the initial step in implementing a PKI solution within the organization. Once the CAs are created, you can obtain a certificate from a CA manually, or automatically. Manually requesting certificates from the CA occurs when the user explicitly requests the CA to issue a certificate. Certificates are automatically requested when an application requests and obtains a certificate as a background process, with no user intervention.

An Overview on the Certificate Enrollment Process

The terminology used to describe the process whereby which users request certificates is referred to as certificate enrollment. A user has to summit the request for a certificate in a special format. The format should be able to specify the identity of the user requesting the certificates. Only after the requestor of the certificate is verified, does the CA issue the certificate. The PKCS #10 standard, Certification Request Syntax Standard; is usually the format used to submit certificate enrollment requests to the CA. The information included in a PKCS #10 certificate enrollment request is listed below:

When a user submits a request for a certificate to a CA, the request is first sent to the Cryptographic Service Provider (CSP) which is installed on the computer of the user. The CSP creates the private key and public key pair for the request. The public key is added to the other certificate request information and is then passed on to the CA.

Once the CA receives the enrollment request, the CA performs the following tasks:

Windows Server 2003 certificate services provide the following certificate enrollment methods:

Before looking at the factors which influence the certificate enrollment method that you choose, lets first look at the types of CAs that you can configure.

The certificate enrollment method which you choose would depend on the following factors:

Computers that are not connected to the network cannot use the auto-enrollment method. A requirement of the auto-enrollment method is that the requestor of the certificate can directly communicate with the enterprise CA.

If you are requesting certificates from a standalone CA, you can use one of the following tools or utilities:

If you are requesting certificates from an enterprise CA, you can use one of the following tools or utilities:

The Automatic Enrollment Method

Auto-enrollment makes it possible for an organization to configure the CA to automatically issue certificates to users and computers. Auto-enrollment can be defined as the process by which certificates can be obtained, updated and stored for users and computers, with no administrator and end user intervention.

The auto-enrollment feature also enables the centralized management of certificates, including:

In a Windows Server 2003 PKI implementation, you can enable the auto-enrollment feature through:

The Web Enrollment Method

In order for the Web enrollment method to be used, the Internet Information Server (IIS) service must be running on the CA server and the web request feature must be installed and enabled. The Web enrollment interface enables users to perform the following tasks:

The Web enrollment feature utilizes the CertSrv directory that points at Windows\System32\CertSrv, which contains the ASP pages and other files used for obtaining a certificate. In addition to this directory the Web enrollment feature utilizes the CertEnroll directory which contains the Certificate Revocation List (CRL) issued by the CA, and the CertControl directory which contains the ActiveX controls utilized for Web enrollment.

The Manual Enrollment Method

If your environment includes client computers running operating systems prior to Windows 2000, you have to manually enroll these clients for certificates. This is because these older client operating systems do not include support for Group Policy, and therefore do not support the automatic enrollment method. Manual certificate enrollment can occur using the Certificates snap-in, the Certreq.exe command-line utility, or the Web based interface.

When using the Web based interface for the manual enrollment method, IIS has to be running on the CA server. When you install Certificate Services, the Web Enrollment application is automatically installed. You can use the Certificates snap-in to manually request certificates from a computer that is configured as an enterprise CA. The snap-in includes the Certificate Request Wizard which guides you through the certificate enrollment process.

If you use the Certificates snap-in to request and obtain an Administrator certificate, you would be able to perform the following administrative tasks:

The Certreq.exe command-line utility enables you to script the certificate enrollment process. You can also retrieve and accept certificate requests using this utility.

How to request a certificate using the Web enrollment method

  1. Connect to the CA server using Internet Explorer 5.0 or above, and the Administrator account.
  2. You can use the following URL: http:// <servername>/certsrv.
  3. Enter the appropriate user name and password if you are not automatically authenticated.
  4. The Web based interface for manually requesting certificates opens, and the Welcome page is displayed.
  5. Click the Request A Certificate option.
  6. On the following page, click Advanced Certificate Request.
  7. Click the Create And Submit A Request To This CA option.
  8. On the Advanced Certificate Request page, in the Certificate Template list, choose Basic EFS.
  9. Check the Enable Strong Private Key Protection checkbox.
  10. Click Submit.
  11. When the Potential Scripting Violation warning dialog box appears, click Yes.
  12. When the Creating A New RSA Exchange Key dialog box opens, click Set Security Level.
  13. Click High, and then click Next.
  14. Enter a strong password in the Password and Confirm text boxes.
  15. Click Finish.
  16. Click OK
  17. When the Certificate Issued page appears, click Install This Certificate.
  18. On the Potential Scripting Violation warning dialog box, click Yes.

How to request a certificate using the Certificates snap-in (manual enrollment)

  1. Click Start, Run and enter mmc in the Run dialog box. Click OK.
  2. From the File menu, click Add/Remove Snap-In.
  3. Click Add.
  4. When the Add/Remove Snap-In dialog box opens, click Certificates. Click Add.
  5. Click My User Account.
  6. Click Finish, click Close, and click OK.
  7. In the Certificates snap-in, expand Certificates, and then Personal.
  8. Right-click Certificates, and on the shortcut menu, click All Tasks, and then click Request New Certificate.
  9. The Certificate Request Wizard starts.
  10. On the Welcome page, click Next.
  11. When the Certificate Types page appears, click User.
  12. Enable the Advanced checkbox. Click Next.
  13. When the Cryptographic Service Provider page opens, check the Enable Strong Key Protection checkbox. Click Next.
  14. On the Certificate Authority page, you can click Next.
  15. Enter a name in the Friendly Name text box. Click Next.
  16. On the Completing The Certificate Request Wizard page, click Finish.
  17. Click OK to install the issued certificate.

How to configure auto-enrollment

Before you can configure auto-enrollment, you need to configure the domain controller as an enterprise root CA or as an enterprise subordinate CA.

Use the steps below to configure the domain controller as an enterprise CA:

  1. Place the Windows Server 2003 CD-ROM in the CD-ROM drive.
  2. Click Install optional Windows components.
  3. Select Certificate Services in the Wizard Components page.
  4. When a message appears warning that the name of the CA server cannot be modified, click Yes to acknowledge the warning message. Click Next.
  5. In the CA Type page, select Enterprise Root CA. Click Next.
  6. Specify a common name for the CA.
  7. Specify a validity period for which certificates issued by the CA are valid. Click Next.
  8. You can accept the default location settings for the database file and database log. Click Next.
  9. Click Yes if an ASP warning message is displayed, to acknowledge the message.
  10. Click Finish.

Use the steps below to configure the CA for auto-enrollment:

  1. Open the Certification Authority console by clicking Start, Administrative Tools, and then Certification Authority.
  2. Proceed to right-click Certificate Templates and click Manage from the shortcut menu.
  3. This opens the certificate templates management tool.
  4. To create a certificate template for auto-enrolled users, right-click User Template, and select Duplicate Template from the shortcut menu.
  5. When the Properties of the New Template dialog box opens, enter a name for the template in the Template Display Name field.
  6. Click the Security tab.
  7. Specify the users and groups that should be able to auto-enroll. Assign the users/groups the Enroll permission and the Autoenroll permission.
  8. Click OK. Close the certificate templates management tool.
  9. In the Certification Authority console, right-click Certificate Templates, and click New, and then Certificate Template to Issue from the shortcut menu.
  10. Select the User Autoenrollment certificate template.
  11. Click OK.
  12. Open the Active Directory Users and Computers console by clicking Start, Administrative Tools and then Active Directory Users and Computers.
  13. Right-click the particular domain and select Properties from the shortcut menu.
  14. Select the Group Policy tab. Click Edit.
  15. Expand User Configuration, Windows Settings, Security Settings and then Public Key Policies.
  16. Double-click Autoenrollment Settings.
  17. When the Autoenrollment Settings Properties dialog box opens, ensure that the Enroll Certificates Automatically option is selected.
  18. Enable the Renew expired certificates, update pending certificates, and remove revoked certificates checkbox, and enable the Update certificates that use certificate templates checkbox.
  19. Click OK to complete the configuration of certificate auto-enrollment.


Top 5 Free Networking Tools

Bookmark The Certificate Enrollment Process

Latest Blog Posts


English English GermanGerman SpanishSpanish FrenchFrench ItalianItalian PortuguesePortuguese RussianRussian DutchDutch
GreekGreek HindiHindi JapaneseJapanese KoreanKorean ChineseChinese Chinese (Simplified)Chinese (Simplified) ArabicArabic

Copyright 2009 Tech-FAQ. All rights reserved. Privacy Policy.