2.5.1 Determining Enrollment Permission of an End Entity for a Template
The following processing rules are to determine the enrollment for end entities on a certificate template. The protocol behavior for these permissions is specified in [MS-WCCE] section 3.2.2.6.2.1.4.3 Verify End Entity Permissions.
Input Parameters:
Template_ntSecurityDescriptor: The ntSecurityDescriptor attribute of the input template.
Requester_SID: Contains the security identifier (SID) ([MS-DTYP] section 2.4.2) of the end entity.
Output Parameter: This parameter can be either TRUE or FALSE.
Processing Rules:
An entity (Active Directory user or group) has enrollment permission and output parameter is set to TRUE if the DACL of the security descriptor that is stored in input parameter Template_ntSecurityDescriptor contains an ACE that satisfies either one of the following sets of characteristics:
It has an object allowed ACE ([MS-DTYP] section 2.4.4.3) that satisfies all the following conditions:
The Requester_SID input parameter is identical to the SID associated with this ACE.
The AceType field of the ACE_HEADER structure ([MS-DTYP] section 2.4.4.1) is ACCESS_ALLOWED_OBJECT_ACE_TYPE (0x05). This implies that it is an ACCESS_ALLOWED_OBJECT_ACE structure ([MS-DTYP] section 2.4.4.3).
The Mask field of the ACCESS_ALLOWED_OBJECT_ACE structure MUST have the bits set as specified by the X in the following diagram.
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1X
The ObjectType field of the ACCESS_ALLOWED_OBJECT_ACE structure MUST be identical to the Enroll GUID in the following table.
Or,
It has an allowed ACE that satisfies all the following conditions:
The Requester SID input parameter is identical to the SID associated with this ACE.
The AceType field of the ACE_HEADER structure ([MS-DTYP] section 2.4.4.1) is ACCESS_ALLOWED_ACE_TYPE. This implies that it is an ACCESS_ALLOWED_ACE structure ([MS-DTYP] section 2.4.4.2).
The Mask field of the ACCESS_ALLOWED_ACE structure MUST have the bits set as specified by the X in the following diagram.
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1X
An entity is denied enrollment permissions if the DACL of the security descriptor that is stored in input parameter Template_ntSecurityDescriptor has the same ACE as previously described, except that the AceType field is set to ACCESS_DENIED_OBJECT_ACE_TYPE (0x06).