<Package xmlns="https://niap-ccevs.org/cc/v1" xmlns:sec="https://niap-ccevs.org/cc/v1/section" xmlns:h="http://www.w3.org/1999/xhtml" name="X.509">

  <project-notes>
   
 </project-notes>

  <PPReference>
   <ReferenceTable>
      <PPTitle>Functional Package for X.509</PPTitle>
      <PPVersion>1.0</PPVersion>
      <PPAuthor>National Information Assurance Partnership</PPAuthor>
      <PPPubDate>2024-10-21</PPPubDate>
      <Keywords>X.509; certificates; PKI</Keywords>
    </ReferenceTable>
  </PPReference>
  
  <RevisionHistory>
  	<entry>
      <version>1.0</version>
      <date>2024-10-21</date>
      <subject>Initial version.</subject>
  	</entry>
  </RevisionHistory>
	
<release-notes><h:h3>TDs Applied</h:h3></release-notes><!-- PP-style preferences   -->
  <pp-preferences>
<!--        <pp-pref name="display-audit-with-sfrs">0</pp-pref> -->
    <audit-events-in-sfrs/>
  </pp-preferences>

	
<!-- 			-->
<!-- 1.0 Introduction   -->
<!-- 			-->
<sec:Introduction>
	
<!-- 			-->
<!-- 1.1 Overview	-->
<!--			-->
  <sec:Overview>
        <h:p>
        	X.509 is an International Telecommunication Union Telecommunication Standardization Sector (ITU-T) standard for public key certificates.
        	Public key certificates are used as authentication mechanisms for trusted communications protocols and as integrity verification methods.
      	</h:p><h:p>
		This <h:i>Functional Package (FP) for X.509</h:i> provides a collection of X.509 
      		Security Functional Requirements (SFRs) and 
      		Evaluation Activities (EAs) for the verification and assertion identities of X.509 certificates, for the limited issuance of certificates used locally by TOE functions, and for the generation and provision of certificate status information of such TOE-issued certificates to the TOE functions that rely on such TOE-issued certificates. The intent 
		of this FP is to provide Protection Profile (PP), collaborative Protection Profile (cPP), and Protection Profile Module (PP-Module) authors 
		with a readily consumable collection of SFRs and EAs to be integrated into
		their documents.  
        </h:p>
   </sec:Overview>

<!-- 			-->
<!-- 1.2 Terms		-->
<!-- 1.2.1 Common Criteria Terms -->
<!-- 1.2.2 Technology Terms -->
<!--			-->
   <tech-terms>
   	<suppress>Extended Package, TSF Interface</suppress>
   	<term full="Authority Key Identifier">A certificate extension that provides a means of identifying the public key corresponding to the private key used to sign a certificate or CRL.</term>
   	<term full="basicConstraints">A Boolean flag that is used to designate whether a certificate is a CA certificate. If this flag is present
   	and set to TRUE on a certificate, that certificate also has a pathLen attribute.</term>
   	<term abbr="CA" full="Certification Authority">An entity that is responsible for the issuance and maintenance of digital certificates.</term>
   	<term abbr="CMC" full="Certificate Management over CMS"/>
   	<term abbr="CMS" full="Cryptographic Message Syntax"/>
   	<term abbr="CRL" full="Certificate Revocation List">A method by which a CA has the ability to communicate that a certificate it issued
   	has been revoked and should no longer be trusted, originally described in RFC 5280.</term>
   	<term abbr="CSR" full="Certificate Signing Request">A message that a subject sends to a certification authority to apply for a digital certificate.</term>
   	<term abbr="DN" full="Distinguished Name">A unique identifier for a subject.</term>
   	<term abbr="EA" full="Evaluation Activity"/>
   	<term abbr="EC" full="Elliptic Curve"/>
   	<term abbr="EKU" full="extendedKeyUsage">An optional attribute of an X.509 certificate that designates the intended usage of the certificate,
   	such as for server authentication, client authentication, or code signing.</term>
   	<term abbr="EST" full="Enrollment over Secure Transport">A method of certificate management that uses HTTPS to transmit certificate requests and responses.</term>
   	<term abbr="HTTP" full="Hypertext Transfer Protocol"/>
   	<term abbr="HTTPS" full="Hypertext Transfer Protocol Secure"/>
   	<term abbr="ITU-T" full="International Telecommunication Union Telecommunication Standardization Sector"/>
   	<term abbr="OCSP" full="Online Certificate Status Protocol">A method by which a CA has the ability to communicate that a certificate it issued
   		has been revoked and should no longer be trusted, originally described in RFC 6960.</term>
   	<term full="OCSP Stapling">An expedited version of OCSP where the CA includes an assertion of a leaf certificate's validity as 
   		part of a connection handshake.</term>
   	<term full="OCSP Multi-Stapling">An expedited version of OCSP where the CA includes an assertion of a leaf certificate's validity, 
   		as well as the validity of any intermediate CA certificates between the root and the leaf, as part of a connection handshake.</term>
   	<term abbr="OID" full="Object Identifier">A numeric string that uniquely represents object types in certificates.</term>
   	<term abbr="OS" full="Operating System"/>
   	<term full="pathLen">An attribute of CA certificates that specifies the maximum length of a certificate chain that terminates with that certificate.</term>
   	<term abbr="PKI" full="Public Key Infrastructure">The practice of associating subjects with public keys for the purpose of trusted communications, and the physical, logical, and personnel mechanisms used in support of implementing this.</term>
   	<term abbr="RA" full="Registration Authority">An optional component of public key infrastructure to which a CA can delegate certain management functions.</term>
   	<term abbr="RBG" full="Random Bit Generator"/>
   	<term abbr="RFC" full="Request for Comment"/>
   	<term abbr="SAN" full="Subject Alternative Name">A certificate extension that allows identities to be bound to the subject of a digital certificate.</term>
   	<term full="Subject Key Identifier">A certificate extension that provides a means of identifying certificates that contain a particular public key.</term>
   	<term abbr="TLS" full="Transport Layer Security"/>
   </tech-terms>
	
     
<!-- 			-->
<!-- 1.3 Compliant Targets of Evaluation	-->
<!--			-->
    <sec:toes title="Compliant Targets of Evaluation">
    	
    	<h:p>The Target of Evaluation (TOE) in this functional package (FP) is a product that uses X.509 capabilities for certificates. A certificate user that depends on the public key of a certificate is required to process certificates using the ‘verify’ capabilities included in this FP. Such certificate users verify certificates for a variety of TOE functions, including subject authentication, trusted communications, validation of TOE software and firmware updates, or integrity verification as part of self testing. A certificate user that is represented as the subject of a certificate depends on the ‘assert’ capabilities included in this FP. TOE functions use certificates issued by a certification authority trusted by a relying party to convey a subject and context information associated with the certificate to the relying party. TOE functions that use certificates include external entity initiated communications with the TOE such as web services or email, and TOE-initiated communications with entities requiring client authentication. When all verifiers of a certificate are associated with TOE functions, it is permissible to use an embedded certification authority that is only trusted by the TOE (i.e., only locally trusted). When such functionality is provided, the TOE depends on the provider functionality of the FP. TOE functions that verify TOE provided certificates depend on the certificate status provider functionality in this FP; TOE functions that use TOE provided certificates depend on the certificate issuance functionality of this FP.
    	</h:p><h:p>
    		A conformant TOE will include the ability to validate X.509 certificates presented to it, including:
    		<h:ul>
    			<h:li>cryptographic validity of the digital signature.</h:li>
    			<h:li>time-based validity.</h:li>
    			<h:li>issuer-based validity.</h:li>
    			<h:li>revocation status using a Certificate Revocation List (CRL) or the Online Certificate Status Protocol (OCSP).</h:li>
    			<h:li>validation that the certificate's extensions are consistent with its intended use.</h:li>
    		</h:ul>A conformant TOE must also define its intended uses for X.509 certificates and how to proceed when a certificate with undetermined 
    		revocation status is presented to it.
    	</h:p><h:p>
    		This FP also defines mechanisms by which the TSF can generate a Certificate Signing Request (CSR) for receiving a signed certificate from a 
    		Certification Authority (CA). This may be generated either as a file that is provided to a CA manually or done via an active network connection to the 
    		CA using Enrollment over Secure Transport (EST).
    	</h:p><h:p>
    		There may also be some situations where revocation checking is not performed. This FP defines an optional requirement for cases where exceptions
    		to the claimed revocation functionality exist.
    	</h:p><h:p>
    		Lastly, the X.509 functionality defined by this FP is part of a TOE, but is not considered to be an entire TOE on its own. X.509 functionality
    		is implemented by a wide variety of technology products, some of which are standalone and some dependent on a trusted platform
    		(such as a software application on a general-purpose computer or mobile device). Auditable events have been defined for the SFRs in this FP for cases
    		where the TOE boundary includes an audit function specified by FAU_GEN.1. A TOE that conforms to this FP may also implement or rely on its OE to implement
    		appropriate management functionality for X.509 functionality that may include:
    		<h:ul>
    			<h:li>specifying root and intermediate CA certificates to be used as trust anchors.</h:li>
    			<h:li>generating certificate requests and loading signed certificates for the TOE's own use into its trust store.</h:li>
    			<h:li>specifying the revocation method that is used.</h:li>
    			<h:li>configuring how the TOE behaves in the event that certificate revocation information is unavailable.</h:li>
    		</h:ul>
    		Any conformant TOE must consider the extent to which X.509 functionality must be managed, and ensure that appropriate management claims are made in 
    		the TOE's ST or that the TOE conforms to a PP that allows a trusted platform in its OE to implement them.
    	</h:p><h:p>
    		This FP describes the extended security functionality of X.509 in terms of <xref g="CC"/>. </h:p>
    	<h:p>The contents of this FP must be appropriately incorporated into a PP, cPP, or PP-Module. When this FP 
    		is incorporated as such, the ST must include selection-based requirements in accordance with the selections or assignments 
    		indicated in the incorporating document.
    	</h:p><h:p>The PP, cPP, or PP-Module that instantiates this FP must typically include the following components in order to satisfy 
    		dependencies of this FP. It is the responsibility of the PP, cPP, or PP-Module author who incorporates this FP to 
    		ensure that dependence on these components is satisfied, either by the TOE or by assumptions about its OE.
    	</h:p><h:p>An ST must identify in its conformance claims the applicable version of the PP, cPP, or PP-Module, and of this
    		FP.</h:p>
    	
    	<h:div class="table-caption"><ctr ctr-type="Table" id="dependencies">: Dependent Components Required for Package Functionality</ctr></h:div>
		<componentsneeded>
			<componentneeded>
				<componentid>FCS_CKM.1</componentid>
				<notes>To support public and private key pair generation for creating an X.509 CSR, the PP or PP-Module must
					include FCS_CKM.1 and specify the corresponding algorithms.</notes>
			</componentneeded>
			<componentneeded>
				<componentid>FCS_COP.1</componentid>
				<notes>
					To support the cryptography needed for X.509 validation, the PP or PP-Module must include FCS_COP.1 
					(iterating as needed) to specify appropriate digital signature validation and hash algorithms for the
					X.509 certificates presented to the TOE.
				</notes>
			</componentneeded>
			<!-- The components in the PP or PP-Module that need this SFR should require it;
			it is not _directly_ depended upon by this Package.-->
			<componentneeded>
				<componentid>FCS_HTTPS_EXT.1</componentid>
				<notes>To support EST when claimed, or when CMC using HTTPS is claimed, the PP or PP-Module must include 
					an SFR for HTTPS communications. Note that support for EST is not mandatory.
				</notes>
			</componentneeded>
			<componentneeded>
				<componentid>FCS_RBG.1</componentid>
				<notes>To support the Random Bit Generation (RBG) needed for public and private key pair generation,
					the PP or PP-Module must include FCS_RBG.1 or an extended SFR that defines comparable functionality.</notes>
			</componentneeded>
			<componentneeded>
				<componentid>FCS_TLSC_EXT.1</componentid>
				<notes>To support EST when claimed, the PP or PP-Module must include 
					an SFR for TLS client communications. Note that support for EST is not mandatory.
				</notes>
			</componentneeded>
			
			<componentneeded>
				<componentid>FPT_KST_EXT.1</componentid>
				<notes>To support CA signing keys, whether the CA is using a certificate or the corresponding public key is loaded into the relying party’s trust store, the PP or PP-Module must include FPT_KST_EXT.1 to protect the private keys used.
				</notes>
			</componentneeded>
			<componentneeded>
				<componentid>FPT_KST_EXT.2</componentid>
				<notes>To support CA signing keys, whether the CA is using a certificate or the corresponding public key is loaded into the relying party’s trust store, the PP or PP-Module must include FPT_KST_EXT.2 to protect the private keys used.
				</notes>
			</componentneeded>
			
			<componentneeded>
			<componentid>FPT_STM.1</componentid>
				<notes>To support validating whether a presented X.509 certificate is expired, 
					the PP or PP-Module must include FPT_STM.1 or some other requirement that ensures reliable system time.  
					</notes>
			</componentneeded>
			<componentneeded>
				<componentid>FTP_ITC.1</componentid>
				<notes>To support EST when claimed, the PP or PP-Module must include FTP_ITC.1 to define a trusted channel
					between the TOE and a trusted CA.
					Note that support for EST is not mandatory.
				</notes>
			</componentneeded>
			
		</componentsneeded>
	</sec:toes>
	
	<sec:Use_Cases>
		The following use cases are distinct and may be combined for any given TOE. They include 
		<h:ul>
			<h:li>the TOE as a relying party verifying the identity of entities using certificates 
				obtained from an external CA</h:li> 
			<h:li>the TOE asserting an identity in a certificate provided by an external CA and
				providing identity verification (authentication) to external relying parties</h:li> 
			<h:li>the TOE acting as the sole relying party of entities issued certificates using an 
				embedded CA</h:li> 
		</h:ul>
		Combining the verify and subject use cases also includes authentication and verification 
		between internal entities. Combining all three use cases allows external CAs to be used for
		both internal and external entities, but an internal embedded CA is only to be used for
		internal relying parties.<h:br/><h:br/>
		Note: A TOE that provides general Certification Authority functionality for external entities 
		should be validated against the Certification Authority Protection Profile instead of
		this FP. 
		<h:br/><h:br/>
		Note: TOEs that provide certification authority functionality as an embedded CA in support 
		of TLS inspection should use the SSL/TLS Inspection Proxy (STIP) Protection Profile module
		instead of this FP. The ‘provide’ functionality in this FP is a generalization of the security 
		requirements of the embedded CA functionality for STIP PP module, but this FP does not include
		the proxy and TLS processing requirements from the STIP PP module.
		<h:br/><h:br/>
		The following diagrams show each TOE use case (within the red box) with respect to its role 
		in an overall system.
		<usecases>
			<usecase id="usecase1" title="TOE as a Relying Party">
				<description>
					<figure entity="images/usecase1.png" title="Use Case 1: TOE as a Relying Party" id="fig-usecase1"/>
				</description>
			</usecase>
			<usecase id="usecase2" title="TOE Asserting an Identity Using Certificates">
				<description>
					<figure entity="images/usecase2.png" title="Use Case 2: TOE Asserting an Identity Using Certificates" id="fig-usecase2"/>
				</description>
			</usecase>
			<usecase id="usecase3" title="TOE as the Sole Relying Party of a Certificate Issued by an Embedded CA">
				<description>
					<figure entity="images/usecase3.png" title="Use Case 3: TOE as the Sole Relying Party of a Certificate Issued by an Embedded CA" id="fig-usecase3"/>
				</description>
			</usecase>
		</usecases>
	</sec:Use_Cases> 
</sec:Introduction>
  
<!-- 			-->
<!-- 2.0 Conformance Claims	-->
<!--			-->
<sec:Conformance_Claims boilerplate="no">
   <CClaimsInfo cc-version="cc-2022r1" cc-errata="v1.1" cc-approach="direct-rationale">
      <cc-st-conf>exact</cc-st-conf> 
      <cc-pt2-conf>extended</cc-pt2-conf>
      <cc-pt3-conf>conformant</cc-pt3-conf>
      <cc-pp-conf/>
      <cc-pp-config-with/>       
      <cc-pkg-claim/>
    </CClaimsInfo>	

<!--

	<cclaims>
		<cclaim name="Conformance Statement">
			<description>An ST must claim exact conformance to this FP.
				<h:br/><h:br/>
				The evaluation methods used for evaluating the TOE are a combination of the workunits defined in [CEM], as well as the
				EAs for ensuring that individual SFRs have a sufficient level of supporting evidence in the ST and 
				guidance documentation, and have been sufficiently tested by the laboratory as part of completing ATE_IND.1.
			</description>
		</cclaim>
		<cclaim name="CC Conformance Claims">
			<description>This FP is conformant to Part 2 (extended) of Common Criteria CC:2022, Revision 1. FPs
			do not contain any SARs, so no CC Part 3 claim is made.</description>
		</cclaim>
		<cclaim name="PP Claim">
			<description>This FP does not claim conformance to any PP.<h:br/><h:br/>
				PP-Configurations do not require enumeration of FPs; this FP can be claimed in any PP-Configuration that includes
				a PP or PP-Module that permits the FP to be claimed as part of it.
			</description>
		</cclaim>
		<cclaim name="Package Claim">
			<description>This FP does not claim conformance to any other FPs.
			</description>
		</cclaim>
	</cclaims>
-->
</sec:Conformance_Claims>

<!-- 				-->
<!-- 3.0 Security Requirements 	-->
<!--				-->
	
<!-- 			-->
<!-- 3.1 Security Functional Requirements 	-->
<!--			-->
<sec:Security_Functional_Requirements>

	<!-- Audit table for mandatory requirements  -->
	<sec:ss-audit-table title="Auditable Events for Mandatory SFRs">
		<h:p>
			The auditable events specified in this FP are included in an ST 
			if the incorporating PP, cPP, or PP-Module supports audit event reporting through FAU_GEN.1,
			and if all other criteria in the incorporating PP or PP-Module are met.
		</h:p>
		<audit-table id="at-man-audit" table="mandatory">
			<h:div class="table-caption"><ctr ctr-type="Table" id="atref-mandatory">: Auditable Events for Mandatory SFRs</ctr></h:div>
		</audit-table>
	</sec:ss-audit-table>
	
	<!-- 			-->
	<!-- 3.1.2 FDP: User Data Protection -->
	<!--			-->
	<sec:fdp title="User Data Protection (FDP)">
		
		<ext-comp-def fam-id="FDP_CER_EXT" title="Certificate Generation and Issuance">
			<fam-behavior>Components in this family define requirements for the TOE’s ability to generate and issue certificates.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Leaf Certificate Profiles (Only Locally Trusted)" cc-id="fdp_cer_ext.1" id="fdp-cer-ext-1" iteration="OLTleaf" status="sel-based">
			<depends on="toe-uses-embedded-ca" also="toe-requests-certs" and="toe-requests-certs-from-embedded-ca"/>
			
		<f-element id="fdp-cer-ext-1e1-oltleaf">
			<title>
				The TSF shall implement a certificate profile function for certificates issued by a CA embedded within the TOE, 
				supporting 
				<assignable>list of TOE functions</assignable>, using certificates in support of: <selectables>
					<selectable> <selectables linebreak="yes">
						<selectable> <selectables>
							<selectable>TLS</selectable>
							<selectable>DTLS</selectable>
						</selectables>
							 <selectables>
								<selectable>client authentication</selectable>
								<selectable>server authentication</selectable></selectables></selectable>
						<selectable>IPsec and IKE peer authentication</selectable>
						<selectable>SMIME subject authentication</selectable>
						<selectable> <assignable>entity authentication for other authentication protocols</assignable></selectable>
					</selectables></selectable>
					<selectable> <selectables linebreak="yes">
							<selectable>Code signing for system software updates</selectable>
							<selectable>Code signing for software integrity testing</selectable>
							<selectable>Integrity verification for TOE protected data</selectable>
							<selectable>Administrator authentication</selectable>
							<selectable>User authentication</selectable>
							<selectable> <assignable>other TOE functions</assignable></selectable>
						</selectables></selectable>
				</selectables>
				and shall ensure that issued certificates for use by the associated TOE functions are consistent with configured profiles.
			</title>
			<note role="application">
				The ST author claims the TOE functions that will rely on the certificates issued by the embedded CA. A TOE may support 
				different certificate profiles, each associated with unique embedded CA supporting a subset of the supported functions 
				or the TOE may support a common profile that uses the key usage and extended key usage extensions to differentiate the 
				intended use of a certificate. When a single CA supports multiple functions requiring explicit EKU values, the extendedKeyUsage extension is claimed 
				in <xref to="fdp-cer-ext-1e2-oltleaf"/> to distinguish which functions are supported by the certificate.
			</note>
		</f-element>
			
			<f-element id="fdp-cer-ext-1e2-oltleaf">
				<title>
					The TSF shall generate certificates using certificate profiles that comply with requirements for issued certificates 
					as specified in IETF RFC 5280, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List 
					(CRL) Profile” as refined below, that apply to all supported functions described in <no-link>FDP_CER_EXT.1.1</no-link><h:b>/OLTleaf</h:b>:
					<h:ul>
						<h:li>The version is 3 (value 02).</h:li>
						<h:li>The certificate does not contain subjectUniqueID or issuerUniqueID fields.</h:li>
						<h:li>The certificate serial number is unique with respect to each supported embedded CA.</h:li>
						<h:li>The validity field shall specify a notBefore value that does not precede the current time and a notAfter 
							value that does not precede the value specified in notBefore, and does not exceed the value specified in 
							notBefore by  <selectables>
								<selectable>a time length configured by an administrator</selectable>
								<selectable> <assignable>positive length of time</assignable></selectable>
							</selectables></h:li>
						<h:li>The issuer field is populated with the name of the embedded CA issuing the certificate.</h:li>
						<h:li>The signature field and the algorithm specification in the subjectPublicKeyInfo signature field agree and <selectables>
							<selectable>are in accordance with RFC 8603</selectable>
							<selectable>use <assignable>list of supported functions</assignable></selectable>
						</selectables></h:li>
						<h:li>The following extensions are supported as described:
						<h:ul>
							<h:li>authorityKeyIdentifier  <selectables>
								<selectable>containing the Subject Key Identifier in the issuing CA's certificate</selectable>
								<selectable> <assignable>an identifier associated with a trust store element corresponding to the issuing 
									CA</assignable></selectable> 
								</selectables></h:li>
							<h:li>keyUsage is present with bit positions set for <selectables linebreak="yes">
								<selectable>digitalSignature (0)</selectable>
								<selectable>contentCommitment (1)</selectable>
								<selectable>keyEncipherment (2)</selectable>
								<selectable>dataEncipherment (3)</selectable>
								<selectable>keyAgreement (4)</selectable>
								<selectable>encipherOnly (7)</selectable>
								<selectable>decipherOnly (8)</selectable>
							</selectables>
								and no other usage indicators.
							</h:li>
							<h:li> <selectables linebreak="yes">
								<selectable>subjectKeyIdentifier is populated</selectable>
								<selectable>extendedKeyUsage is present and is populated with  <selectables linebreak="yes">
									<selectable>serverAuth {OID: 1.3.6.1.5.5.7.3.1}</selectable>
									<selectable>clientAuth {OID: 1.3.6.1.5.5.7.3.2}</selectable>
									<selectable>emailProtection {OID: 1.3.6.1.5.5.7.3.4}</selectable>
									<selectable>ipsecIKE {OID: 1.3.6.1.5.5.7.3.17}</selectable>
									<selectable>codeSigning {OID: 1.3.6.1.5.5.7.3.3}</selectable>
									<selectable> <assignable>other values</assignable></selectable>
								</selectables>
									consistent with the keyUsage value.</selectable>
									<selectable>subjectAltName with name of type  <selectables linebreak="yes">
									<selectable>rfc822Name</selectable>
									<selectable>dNSName</selectable>
									<selectable>directoryName</selectable>
									<selectable>uniformResourceIdentifier</selectable>
									<selectable>IPAddress</selectable>
									<selectable> <assignable>other name</assignable></selectable>
								</selectables></selectable>
							<selectable>basicConstraints is populated with <selectables>
								<selectable>no CA flag</selectable>
								<selectable>CA flag equal to false</selectable>
							</selectables></selectable>
							<selectable>cRLDistributionPoints indicating an access location for CRLs <selectables>
								<selectable>configured by an administrator</selectable>
								<selectable>determined by the TSF</selectable></selectables></selectable>
							<selectable>authorityInfoAccess indicating an access location for <selectables>
									<selectable>CA certificates</selectable>
									<selectable>OCSP responder</selectable></selectables> <selectables>
										<selectable>configured by an administrator</selectable>
										<selectable>determined by the TSF</selectable></selectables></selectable>
							<selectable> <assignable>other extensions</assignable></selectable>
							<selectable>no other extensions</selectable></selectables></h:li>
						<h:li>The authorityKeyIdentifier extension in any certificate issued by the TOE must be populated with
							 <selectables>
								<selectable>the subjectKeyIdentifier extension contained in the TOE’s embedded CA’s signing certificate
								</selectable>
								<selectable>an identifier indicating a trust store element associated with the embedded CA’s public
									key</selectable>
							</selectables>.</h:li>
						</h:ul>
					</h:li></h:ul>
				</title>
				<note role="Application">
					<h:p>
					The ST author describes the certificates issued by an embedded CA and the methods for obtaining the data contained 
					in the certificates. The supported fields and default values specified for all TOE functions are described in this 
					element.
					</h:p><h:p>
					The ST author claims the methods for determining the maximum validity period in the selection for the validity 
					field. Both options are claimed if the administrator can configure a time up to a TSF defined maximum.  
					</h:p><h:p>	
					The ST author describes the methods for determining the name of the embedded CA in the selection for issuer field.
					</h:p><h:p>
					The ST author claims the method for constraining the signature field and the algorithm specification in the 
					subjectPublicKeyInfo field. The selection ‘…in accordance with RFC 8603’ is claimed if the TOE supports the 
					algorithms indicated in the RFC for signing certificates, and also supports other algorithms not intended for signing 
					certificates. 
					</h:p><h:p>	
					The ST author describes each extension supported and how values for the extension are determined. It is recommended 
					that the extendedKeyUsage is claimed and populated with specific EKU purposes when the supported functions expect explicit EKU 
					values; it is required that the extendedKeyUsage field is claimed when the embedded CA supports code signing or integrity
					functions. It is expected that if a single embedded CA issues certificates supporting multiple functions requiring explicit EKU
					values, the explicit EKU purposes for each function, including IPsec/IKE if supported, are claimed. Other supported EKU values
					specific to supported functions are indicated in the assignment. Any supported EKU values are consistent with the KU usage
					indicators claimed. For example, "codeSigning" is claimed only if "digitalSignature" is claimed for keyUsage, and TLS key
					usages "serverAuth" or "clientAuth" are claimed only when "digitalSignature," "keyEncipherment," or "keyAgreement" are supported
					according to the supported TLS function's version and ciphersuite capabilities.
					</h:p><h:p>
						If “subjectAltName” is claimed as a supported extension, the ST author claims all RFC 5280 name types supported and designates any other standard name types in the assignment, indicating the formatting and normalization standard used for each supported name type. Standards used to refine or provide alternate normalization for RFC 5280 name types are claimed via the assignment.
					</h:p>
				</note>
			</f-element>
			<f-element id="fdp-cer-ext-1e3-oltleaf">
				<title> The TSF shall implement the following rules for populating certificate fields based on constraints imposed by the 
					configuration of the embedded CA.
					<h:ul>
						<h:li>The validity field shall specify a notAfter time that does not exceed <selectables>
							<selectable> <assignable>a non-negative time period</assignable> prior to the notAfter time of the CA’s signing 
								certificate</selectable>
							<selectable>a time associated with the next scheduled update of the trust anchor associated with the CA’s 
								public key</selectable>
							<selectable> <assignable>a fixed time configured for the signature algorithm used</assignable></selectable>
						</selectables></h:li>
						<h:li>The issuer field is populated with the <selectables linebreak="yes">
							<selectable>subject of the CA’s signing certificate as configured by an administrator</selectable>
							<selectable>an identifier for a trust store element associated with the embedded CA’s public key</selectable>
						</selectables></h:li>
						<h:li> <selectables linebreak="yes">
							<selectable>The subject name is limited based on name constraints <selectables>
								<selectable>indicated in the embedded CA’s certificate</selectable>
								<selectable>specified in the context of the trust store element associated with the embedded CA’s public 
									key</selectable></selectables></selectable>
							<selectable>The policyConstraints field is populated with <selectables>
								<selectable>a policy included in the embedded CA's certificate</selectable>
								<selectable>an expectedPolicy included in the context of the trust store element associated with the 
								embedded CA's public key</selectable></selectables></selectable>
							<selectable>no other CA-specific rules</selectable>
							</selectables></h:li>
					</h:ul>
				</title>
				<note role="Application">
					General profiles described in <xref to="fdp-cer-ext-1e2-oltleaf"/> are refined by specific configurations of the issuing CA 
					in the SFR element. The ST author claims the source of these inputs
				</note>
			</f-element>
			<f-element id="fdp-cer-ext-1e4-oltleaf">
				<title>The TSF shall populate the following certificate fields according to the rules:
				<h:ul>
					<h:li>Each subject identifier as populated in the <selectables linebreak="yes">
						<selectable>subjectName</selectable>
						<selectable>subjectAltName of type <selectables linebreak="yes">
							<selectable>rfc822Name</selectable>
							<selectable>dNSName</selectable>
							<selectable>directoryName</selectable>
							<selectable>uniformResourceIdentifier</selectable>
							<selectable>IPAddress</selectable>
							<selectable> <assignable>other name type</assignable></selectable>							
						</selectables></selectable></selectables>
						of the issued certificate is determined by <selectables linebreak="yes">
							<selectable>PKCS-10 request in accordance with RFC 2986</selectable>
							<selectable>EST request in accordance with RFC 7030 as updated by RFC 8996</selectable>
							<selectable>A CMC request meeting the profile specified in <selectables>
								<selectable>RFC 8756</selectable>
								<selectable><assignable>CMC profile supported</assignable></selectable>
							</selectables> in accordance with RFC 5272, RFC 5273, and RFC 5274 as updated by RFC 6402</selectable>
							<selectable>A CMP request in accordance with RFC 4210 <selectables>
								<selectable>as updated by RFC 6712 and RFC 9481 (v2 CMP)</selectable>
								<selectable>as updated by RFC 6712 and RFC 9480 (v3 CMP)</selectable>
							</selectables></selectable>
						</selectables>				
						validated by <selectables>
							<selectable>the supported function</selectable>
							<selectable><assignable>administrator action</assignable></selectable>
							<selectable><assignable>automated processes</assignable></selectable>
						</selectables></h:li>
					<h:li>The public key populated in the issued certificate is <selectables linebreak="yes">
						<selectable>generated by the TOE on <assignable>a specific event</assignable> and <selectables>
							<selectable>made available to the supported function via an inter-TOE channel</selectable>
							<selectable>made available to an external entity via a protected channel</selectable>
							<selectable> <assignable>associated with the supported function</assignable></selectable>
						</selectables></selectable>
						<selectable>provided <selectables>
							<selectable>in the request</selectable>
							<selectable>by the supported function</selectable></selectables>
						together with <assignable>evidence of proof of possession by the requested subject</assignable>
							</selectable></selectables></h:li>
					<h:li> <selectables linebreak="yes"> 
						<selectable>The <selectables>
							<selectable>notBefore</selectable>
							<selectable>notAfter</selectable>
						</selectables> portion of the validity field of the issued certificate is limited by <assignable>inputs from the
						supported function</assignable></selectable>
						<selectable> <assignable>other issuance conditions</assignable></selectable>
						<selectable>No other condition</selectable>
					</selectables></h:li>
				</h:ul>
				</title>
				<note role="Application">
					<h:p>
					A certificate profile is further refined by inputs of the function(s) supported. 
					</h:p><h:p>
						In the first bullet, the ST author describes the name types indicated for each supported function (a subset of the supported name types indicated in <xref to="fdp-cer-ext-1e2-oltleaf"/>), how subjects 
					of certificates are determined, and how the requested subject names are validated. Note that when multiple names are included in a request, 'validated' applies to all names populated in a certificate. When the subject of a certificate represents an entity external to the TOE or when an internal TOE entity supports it, a standard 
					certificate request formatting or protocol is supported, and all certificate values requested by the entity are included in the request; the internal TOE function which exclusively trusts these external certificates 
					may act as a registration authority as specified in the claimed RFC. When the subject of the certificate is 
					associated with an internal TOE function, the values in the populated certificate may use any method that is under 
					the control of the subject. PKCS-10 is claimed when the supported function interfaces directly with an embedded CA to generate a certificate representing a TOE entity. When the EST, CMC, or CMP method is claimed, the ST author will claim FDP_ESTS_EXT.1, FDP_CMCS_EXT.1, or FDP_CMPS_EXT.1, respectively.  
					</h:p><h:p>
					In the second bullet, the ST author indicates where the key pair is generated and how the embedded CA validates that the entity represented in the certificate is in possession of the associated private key.
					</h:p><h:p>
					In the third bullet, the ST author describes the additional certificate constraints, if any, provided by the supported function that may override the values included in a certificate request (if supported).
					</h:p>
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS to ensure it describes the TOE functions using certificates generated by the 
						embedded CA and how the certificate is used. For each such function, the evaluator shall verify the TSS describes 
						one or more certificate profiles used by the embedded CA in support of the function that are compliant with the 
						requirements.
						</h:p><h:p>
						The evaluator shall further examine the TSS to ensure that it describes how the TSF updates and enforces each 
						certificate profile based on the configuration of the CA and inputs provided by the supported function.
						</h:p><h:p>
							For each subject DN or subjectAltName name type supported, the evaluator shall verify that the ST indicates the normalization standard used for the name type and the method used for ensuring the name populated in the certificate is appropriately normalized.	
						</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine the AGD guidance and verify it describes instructions for configuring the 
							embedded CA and its certificate profiles to meet the requirements.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following test.
						<testlist>
							<test>
								<h:p>For each supported function claimed in <xref to="fdp-cer-ext-1e1-oltleaf"/>, and for each certificate profile associated to the function, the evaluator shall cause the TOE to issue a certificate and observe that the 
								certificate meets the appropriate profile, including constraints determined by the embedded CA 
								configuration and inputs provided by the function. If 
								multiple name types are supported, the evaluator shall repeat this test as necessary to include all supported name types.</h:p>
							</test>
                            <test>
                            	[conditional] If “subjectName” is claimed and standard certificate requests are supported that allow a general DN to be input, the  evaluator shall send the TSF a certificate request that includes a DN with an RDN component containing multiple elements and verify that TSF rejects the request.
                            </test>
							<test>
								[conditional] If “subjectAltName” is claimed, and standard certificate requests are supported that allow multiple SAN entries, then for each name type supported, the evaluator shall send the TSF a certificate request with multiple SAN entries of the indicated name type, where the first entry is valid and the second entry is invalid. The evaluator shall confirm that the TSF issues a certificate containing only the first entry.
								Note: the method to create an invalid entry depends on the validation methods claimed.
							</test>							
						</testlist>
					</Tests>
				</aactivity>
			</f-element>
			<audit-event>
				<audit-event-descr>Certificate generation</audit-event-descr>
				<audit-event-info>Success: <selectables>
					<selectable>Certificate value</selectable>
					<selectable>Certificate object identifier</selectable></selectables></audit-event-info>
			</audit-event>
		</f-component>
		
		
		<f-component name="Leaf Certificate Profiles" cc-id="fdp_cer_ext.1" id="fdp-cer-ext-1-ecd" status="invisible">
<!--			<depends on="toe-uses-embedded-ca" also="toe-requests-certs" and="toe-requests-certs-from-embedded-ca"/> -->
			
			<comp-lev> requires the TSF to implement a TOE-trusted certificate profile function that conforms to profiles when acting as a CA.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Certificate generation</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_CKM.1</no-link> Cryptographic Key Generation<h:br/>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				<no-link>FMT_SMR.1</no-link> Security Roles
			</dependencies>
			
			<f-element id="fdp-cer-ext-1e1">
				<title>
					The TSF shall implement a certificate profile function for certificates issued by a CA embedded within the TOE, 
					supporting 
					<assignable>list of TOE functions</assignable>, using certificates in support of: <selectables>
						<selectable> <selectables linebreak="yes">
							<selectable> <selectables>
								<selectable>TLS</selectable>
								<selectable>DTLS</selectable>
							</selectables>
								<selectables>
									<selectable>client authentication</selectable>
									<selectable>server authentication</selectable></selectables></selectable>
							<selectable>IPsec and IKE peer authentication</selectable>
							<selectable>SMIME subject authentication</selectable>
							<selectable> <assignable>entity authentication for other authentication protocols</assignable></selectable>
						</selectables></selectable>
						<selectable> <selectables linebreak="yes">
							<selectable>Code signing for system software updates</selectable>
							<selectable>Code signing for software integrity testing</selectable>
							<selectable>Integrity verification for TOE protected data</selectable>
							<selectable>Administrator authentication</selectable>
							<selectable>User authentication</selectable>
							<selectable> <assignable>other TOE functions</assignable></selectable>
						</selectables></selectable>
					</selectables>
					and shall ensure that issued certificates for use by the associated TOE functions are consistent with configured profiles.
				</title>
			</f-element>
			
			<f-element id="fdp-cer-ext-1e2">
				<title>
					The TSF shall generate certificates using certificate profiles that comply with requirements for issued certificates 
					as specified in IETF RFC 5280, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List 
					(CRL) Profile” as refined below, that apply to all supported functions described in <no-link>FDP_CER_EXT.1.1</no-link>
					<h:ul>
						<h:li>The version is 3 (value 02).</h:li>
						<h:li>The certificate does not contain subjectUniqueID or issuerUniqueID fields.</h:li>
						<h:li>The certificate serial number is unique with respect to each supported embedded CA.</h:li>
						<h:li>The validity field shall specify a notBefore value that does not precede the current time and a notAfter 
							value that does not precede the value specified in notBefore, and does not exceed the value specified in 
							notBefore by  <selectables>
								<selectable>a time length configured by an administrator</selectable>
								<selectable> <assignable>positive length of time</assignable></selectable>
							</selectables></h:li>
						<h:li>The issuer field is populated with the name of the embedded CA issuing the certificate.</h:li>
						<h:li>The signature field and the algorithm specification in the subjectPublicKeyInfo signature field agree and <selectables>
							<selectable>are in accordance with RFC 8603</selectable>
							<selectable>use <assignable>list of supported functions</assignable></selectable>
						</selectables></h:li>
						<h:li>The following extensions are supported as described:
							<h:ul>
								<h:li>authorityKeyIdentifier  <selectables>
									<selectable>containing the Subject Key Identifier in the issuing CA's certificate</selectable>
									<selectable> <assignable>an identifier associated with a trust store element corresponding to the issuing 
										CA</assignable></selectable> 
								</selectables></h:li>
								<h:li>keyUsage is marked critical and is not empty</h:li>
								<h:li> <selectables linebreak="yes">
									<selectable>subjectKeyIdentifier is populated</selectable>
									<selectable>extendedKeyUsage is present and is populated with  <selectables linebreak="yes">
										<selectable>serverAuth {OID: 1.3.6.1.5.5.7.3.1}</selectable>
										<selectable>clientAuth {OID: 1.3.6.1.5.5.7.3.2}</selectable>
										<selectable>emailProtection {OID: 1.3.6.1.5.5.7.3.4}</selectable>
										<selectable>ipsecIKE {OID: 1.3.6.1.5.5.7.3.17}</selectable>
										<selectable>codeSigning {OID: 1.3.6.1.5.5.7.3.3}</selectable>
										<selectable> <assignable>other values</assignable></selectable>
									</selectables></selectable>
									<selectable>subjectAltName with name of type  <selectables linebreak="yes">
										<selectable>rfc822Name</selectable>
										<selectable>dNSName</selectable>
										<selectable>directoryName</selectable>
										<selectable>uniformResourceIdentifier</selectable>
										<selectable>IPAddress</selectable>
										<selectable> <assignable>other name</assignable></selectable>
									</selectables></selectable>
									<selectable>basicConstraints is populated with CA flag equal to false</selectable>
									<selectable>cRLDistributionPoints indicating an access location for CRLs <selectables>
										<selectable>configured by an administrator</selectable>
										<selectable>determined by the TSF</selectable></selectables></selectable>
									<selectable>authorityInfoAccess indicating an access location for <selectables>
										<selectable>CA certificates</selectable>
										<selectable>OCSP responder</selectable></selectables> <selectables>
											<selectable>configured by an administrator</selectable>
											<selectable>determined by the TSF</selectable></selectables></selectable>
									<selectable> <assignable>other extensions</assignable></selectable>
									<selectable>no other extensions</selectable></selectables></h:li>
								<h:li>The authorityKeyIdentifier extension in any certificate issued by the TOE must be populated with
									<selectables>
										<selectable>the subjectKeyIdentifier extension contained in the TOE’s embedded CA’s signing certificate
										</selectable>
										<selectable>an identifier indicating a trust store element associated with the embedded CA’s public
											key</selectable>
									</selectables>.</h:li>
							</h:ul>
						</h:li></h:ul>
				</title>
			</f-element>
			<f-element id="fdp-cer-ext-1e3">
				<title> The TSF shall implement the following rules for populating certificate fields based on constraints imposed by the 
					configuration of the embedded CA.
					<h:ul>
						<h:li>The validity field shall specify a notAfter time that does not exceed <selectables>
							<selectable> <assignable>a non-negative time period</assignable> prior to the notAfter time of the CA’s signing 
								certificate</selectable>
							<selectable>a time associated with the next scheduled update of the trust anchor associated with the CA’s 
								public key</selectable>
							<selectable> <assignable>a fixed time configured for the signature algorithm used</assignable></selectable>
						</selectables></h:li>
						<h:li>The issuer field is populated with the <selectables linebreak="yes">
							<selectable>subject of the CA’s signing certificate as configured by an administrator</selectable>
							<selectable>an identifier for a trust store element associated with the embedded CA’s public key</selectable>
						</selectables></h:li>
						<h:li> <selectables linebreak="yes">
							<selectable>The subject name is limited based on name constraints <selectables>
								<selectable>indicated in the embedded CA’s certificate</selectable>
								<selectable>specified in the context of the trust store element associated with the embedded CA’s public 
									key</selectable></selectables></selectable>
							<selectable>The policyConstraints field is populated with <selectables>
								<selectable>a policy included in the embedded CA's certificate</selectable>
								<selectable>an expectedPolicy included in the context of the trust store element associated with the 
									embedded CA's public key</selectable></selectables></selectable>
							<selectable>no other CA-specific rules</selectable>
						</selectables></h:li>
					</h:ul>
				</title>
			</f-element>
			<f-element id="fdp-cer-ext-1e4">
				<title>The TSF shall populate the following certificate fields according to the rules:
					<h:ul>
						<h:li>Each subject identifier as populated in the <selectables linebreak="yes">
							<selectable>subjectName</selectable>
							<selectable>subjectAltName of type <selectables linebreak="yes">
								<selectable>rfc822Name</selectable>
								<selectable>dNSName</selectable>
								<selectable>directoryName</selectable>
								<selectable>uniformResourceIdentifier</selectable>
								<selectable>IPAddress</selectable>
								<selectable> <assignable>other name type</assignable></selectable>							
							</selectables></selectable></selectables>
							of the issued certificate is determined by <selectables linebreak="yes">
								<selectable>PKCS-10 request in accordance with RFC 2986</selectable>
								<selectable>EST request in accordance with RFC 7030 as updated by RFC 8996</selectable>
								<selectable>A CMC request meeting the profile specified in <selectables>
									<selectable>RFC 8756</selectable>
									<selectable><assignable>CMC profile supported</assignable></selectable>
								</selectables> in accordance with RFC 5272, RFC 5273, and RFC 5274 as updated by RFC 6402</selectable>
								<selectable>A CMP request in accordance with RFC 4210 <selectables>
									<selectable>as updated by RFC 6712 and RFC 9481 (v2 CMP)</selectable>
									<selectable>as updated by RFC 6712 and RFC 9480 (v3 CMP)</selectable>
								</selectables></selectable>
							</selectables>				
							validated by <selectables>
								<selectable>the supported function</selectable>
								<selectable><assignable>administrator action</assignable></selectable>
								<selectable><assignable>automated processes</assignable></selectable>
							</selectables></h:li>
						<h:li>The public key populated in the issued certificate is <selectables linebreak="yes">
							<selectable>generated by the TOE on <assignable>a specific event</assignable> and <selectables>
								<selectable>made available to the supported function via an inter-TOE channel</selectable>
								<selectable>made available to an external entity via a protected channel</selectable>
								<selectable> <assignable>associated with the supported function</assignable></selectable>
							</selectables></selectable>
							<selectable>provided <selectables>
								<selectable>in the request</selectable>
								<selectable>by the supported function</selectable></selectables>
								together with <assignable>evidence of proof of possession by the requested subject</assignable>
							</selectable></selectables></h:li>
						<h:li> <selectables linebreak="yes"> 
							<selectable>The <selectables>
								<selectable>notBefore</selectable>
								<selectable>notAfter</selectable>
							</selectables> portion of the validity field of the issued certificate is limited by <assignable>inputs from the
								supported function</assignable></selectable>
							<selectable> <assignable>other issuance conditions</assignable></selectable>
							<selectable>No other condition</selectable>
						</selectables></h:li>
					</h:ul>
				</title>
				<aactivity>
					<no-tests>There are no EAs for this component.</no-tests>
				</aactivity>
			</f-element>
			<audit-event/>
		</f-component>
		
		<f-component name="Certificate Request Matching" cc-id="fdp_cer_ext.2" id="fdp-cer-ext-2" status="sel-based">
			<depends on="toe-requests-certs-from-embedded-ca"/>
			<comp-lev> requires the TSF to maintain a linkage between supported certificate requests and certificates it has issued to be able to 
				associate each certificate with each request</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Linking of certificate to certificate request</h:li>
				</h:ul>
			</audit>
			<dependencies>
				FDP_CER_EXT.1 Leaf Certificate Profiles<h:br/>
				[FIA_ESTS_EXT.1 Enrollment Over Secure Transport (EST) Server OR FIA_CMCS_EXT.1 Certificate Management Over CMS (CMC) Server
				OR FIA_CMPS_EXT.1 Certificate Management Protocol (CMP) Server]
			</dependencies>
			<f-element id="fdp-cer-ext-2e1">
				<title>The TSF shall <selectables>
					<selectable>invoke platform-provided functionality</selectable>
					<selectable>provide functionality</selectable>
					</selectables>
					to establish a linkage from certificate requests from a supported TOE function to issued certificates and <selectables>
						<selectable>issue an alert</selectable>
						<selectable>provide a search capability</selectable>
					</selectables>
					to allow administrators to associate certificates with the request.
				</title>
			</f-element>
			<f-element id="fdp-cer-ext-2e2">
				<title>The TSF shall <selectables>
					<selectable>revoke</selectable>
					<selectable>not issue</selectable>
				</selectables>
					certificates that cannot be associated with <selectables linebreak="yes">
					<selectable>A PKCS-10 request validated in accordance with RFC 2986</selectable>
					<selectable id="toe-enforces-est">An EST request processed in accordance with FIA_ESTS_EXT.1</selectable>
					<selectable id="toe-enforces-cmc">A CMC request processed in accordance with FIA_CMCS_EXT.1</selectable>
					<selectable id="toe-enforces-cmp">A CMP request processed in accordance with FIA_CMPS_EXT.1</selectable>
					</selectables> 
					from a supported TOE function.		
				</title>
				<note role="Application">
				<h:p>
					This SFR is claimed when certificate requests to an embedded CA are supported. It ensures that administrators of the TSF are able to associate any issued certificate to a request from an authorized entity associated with a supported function, and identify certificates issued in response to requests from unauthorized entities, as the result of the misuse of access to the TOE.
				</h:p><h:p>
					If the association in <xref to="fdp-cer-ext-2"/> is performed as a condition of issuance, the ST author claims 
					‘not issue’; if the association is performed after issuance, the ST author claims ‘revoke’. Revoke should be claimed 
					only if one or more of ‘generate certificate status information’ or ‘provide access to…’ is claimed in 
					<xref to="fdp-csir-ext-1e1"/>. The method of validating a request is specific to the request method. If ‘An EST 
					request…’ is claimed, <xref to="fia-ests-ext-1"/> is also claimed; If ‘A CMC request…’ is claimed, <xref to="fia-cmcs-ext-1"/> 
					is also claimed. If ‘A CMP request…’ is claimed, <xref to="fia-cmps-ext-1"/> is also claimed. It is preferred, but 
					not required that the request identifiers, certificate identifiers and the binding is retained in searchable audit 
					records for the embedded CA, but other mechanisms of establishing a binding are acceptable.	
				</h:p>
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall inspect the TSS and verify that the method to associate certificates with requests by the 
						supported function is described.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall inspect AGD documentation to verify that instructions are included as necessary to ensure 
						the binding of issued certificates to the request meets the requirements.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following test.
						<testlist>
							<test>
							<h:p>[conditional] If the embedded CA provides certificates to external entities in support of TOE functions, and 
							if the binding is searchable, the evaluator shall cause a TOE function to initiate a certificate request for 
							the external entity and observe that a binding associates the certificate with the function’s request.</h:p>
							</test>
						</testlist>												
					</Tests>
				</aactivity>
			</f-element>	
			<audit-event>
				<audit-event-descr>Linking of certificate to certificate request</audit-event-descr>
				<audit-event-info>Success:<selectables>
					<selectable>Certificate value</selectable>
					<selectable>Certificate object identifier</selectable> </selectables>,
					<selectables>
					<selectable>Certificate request</selectable>
					<selectable>Link to certificate request object identifier</selectable>
					</selectables>
				</audit-event-info>
				<audit-event-info>Failure: Reason for failure, <selectables>
						<selectable>Certificate request</selectable>
						<selectable>Link to certificate request object identifier</selectable>
					</selectables>
				</audit-event-info>
			</audit-event>
		</f-component>
		
		<ext-comp-def fam-id="FDP_CRL_EXT" title="Certificate Revocation List Generation">
			<fam-behavior>Components in this family define requirements for the usage of certificate revocation lists (CRLs) as a method of
				recording certificate status information.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Certificate Revocation List Generation" cc-id="fdp_crl_ext.1" id="fdp-crl-ext-1" status="sel-based">
			<depends on="toe-supports-crl"/>
			<comp-lev> requires the TSF to include specific information in any certificate revocation lists that it creates.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Failure to generate CRL</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_COP.1 </no-link> Cryptographic Operation
			</dependencies>
			<f-element id="fdp-crl-ext-1e1">
				<title>The TSF shall generate CRLs in accordance with ITU-T Recommendation X.509 refined by:
					<h:ul>
						<h:li>
							The <selectables>
								<selectable>issuer</selectable>
								<selectable>issuerAltName</selectable>
							</selectables>
							fields shall indicate the configured name of the CA.
						</h:li>
						<h:li>
							The signature and signatureAlgorithm fields shall contain the OID for a digital signature algorithm in 
							accordance with <no-link>FCS_COP.1</no-link> in the base PP.
						</h:li>
						<h:li>
							The thisUpdate field shall indicate the issue date of the CRL.							
						</h:li>
						And <selectables linebreak="yes">
							<selectable>The nextUpdate field is populated with a value that does not precede the time specified in the 
								thisUpdate field.</selectable>
							<selectable>The version field is present with value 1.</selectable>
							<selectable>The issuerAltName extension is marked critical.</selectable>
						</selectables>						
					</h:ul>.										
				</title>
				<note role="Application">
					<h:p>
					This requirement should be claimed if 'ITU-T Recommendation X.509v2 CRL' is selected in <xref to="fdp-csi-ext-1e1"/>.
					</h:p>
					<h:p>
						The ST author is expected to refine the <no-link>FCS_COP.1</no-link> reference to include an iteration name that is appropriate for the digital signature
						requirement of the PP or PP-Module that conforms to this package. For example, a name like "<no-link>FCS_COP.1</no-link>/SigGen" is typical.
					It is expected that the supported signatures are limited to 3072-bit RSA or higher, or ECDSA using NIST P-384 or P-521,
					based on the signature requirements in the PPs and PP-Modules with which this FP is intended for use.
					</h:p>
					<h:p>
					The ST author claims the optional refinements to ITU-T Recommendation X.509v2 CRL that are supported. If "issuerAltName" is
					claimed in the first refinement, then "The version field..." and "The issuerAltName..." entries in the optional
					refinements selection are claimed.
					</h:p>
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS to ensure it indicates whether the TOE supports CRL generation and, if so, 
						describes the CRL generation function. In addition, the evaluator shall ensure that the TSS identifies which of 
						the values identified in <xref to="fdp-crl-ext-1e1"/> can be included in CRLs.</h:p>
					</TSS>
					<Guidance>
						<h:p>If the TOE supports configuration of the CRL issuing function, the evaluator shall examine the operational 
						guidance to ensure that instructions are available to configure issuance of CRL in accordance with 
						<xref to="fdp-crl-ext-1e1"/>.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following test.
						<testlist>
							<test>
							In conjunction with <xref to="revoked-cert-test"/>, the evaluator shall observe that the CRL issued by 
							the embedded CA meets the criteria of this requirement.
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>
			<audit-event>
				<audit-event-descr>Failure to generate CRL</audit-event-descr>
				<audit-event-info>N/A</audit-event-info>
			</audit-event>
	
		</f-component>
		
		<ext-comp-def fam-id="FDP_CSIR_EXT" title="Certificate Status Information Required">
			<fam-behavior>Components in this family define requirements for the association of certificate status information with
				certificates issued by the TOE.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Certificate Status Information Required" cc-id="fdp_csir_ext.1" id="fdp-csir-ext-1" status="sel-based">
			 	<depends on="toe-obtains-certs"/>  
			<comp-lev> requires the TSF to maintain certificate status information for its issued certificates, ensure any certificates it 
				issues are valid for a sufficient period of time, supply a repository with status information, or identify a method to
				invalidate trust that has been revoked.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>There are no auditable events foreseen.</audit>
			<dependencies/>
			<f-element id="fdp-csir-ext-1e1">
				<title>The TSF shall <selectables>
					<selectable id="toe-generates-cert-status">generate certificate status information</selectable>
					<selectable>only issue certificates with a validity period of less than <assignable>time not to exceed 
						24 hours</assignable></selectable>
					<selectable>provide access to <assignable>a certificate repository including status information</assignable>
					</selectable>
					<selectable>depend on <assignable>method to invalidate trust in certificates revoked by the supported function</assignable></selectable></selectables>.					
				</title>
				<note role="Application">
					Certificates issued by an embedded CA that is only trusted by supported TOE functions may be revoked via notification 
					from a supported function, or via administrative actions. When revoked, certificate status information must become 
					available to all internal TOE functions that may use the impacted certificate when the embedded CA is so notified. 
					The TOE may use general methods such as issuance of CRLs or via an OCSP responder when one of the supported TOE 
					functions expects such methods, or the TOE may provide direct access to a certificate repository managed by the 
					embedded CA that includes status information. Distribution of Certificate status information is not required if 
					certificates expire before notification is required, or if the issued certificates are only trusted by a single TOE 
					function that manages the validity of certificates. If general methods are supported, the ‘generate certificate status 
					information’ option is claimed and <xref to="fdp-csi-ext-1"/> is claimed. If certificates are issued for a sufficiently small 
					validity period, which is less than the time that is typically allowed to process revocation requests, revocation 
					information is not required and the ST author assigns the maximum validity period allowed by the certificate profile, 
					as indicated in <xref to="fdp-cer-ext-1"/>. If the TSF provides access to a certificate repository, the ST author 
					claims ‘provide access …’ and identifies the repository and methods of access in the assignment. If each supported 
					function manages the validity of the certificates it uses without depending on the embedded CA, the ST author claims 
					‘depend on…’ and describes the method used by each such function. In this case, the embedded function takes 
					on traditional functionality of a CA. Depending on the PP or PP-Module that this FP is used with, certain requirements of 
					that PP or PP-Module would then apply to the functionality described here as well, such as authorized administration to configure
					the function.
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall review the TSS and verify that the description of the decision processes used by the TOE to 
						invalidate certificates issued by the embedded CA is included and any threshold for issuing revocation information
						is described.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall review AGD documentation to verify instructions to configure the ability of the embedded CA 
						to issue certificate status information is described, if required.</h:p>
						<h:p>If the TSS indicates that revocation status information is not provided for certificates having a validity period
							shorter than a threshold that is less than that indicated in the TSS for <xref to="fdp-cer-ext-1e4-oltleaf"/>, the
							evaluator shall ensure that the instructions describe how to configure the validity period so that issuance certificate status
						information is not required.</h:p>	
					</Guidance>
					<Tests>
						None.
					</Tests>
				</aactivity>
			</f-element>
			<audit-event/>
		</f-component>
		
		<ext-comp-def fam-id="FDP_CSI_EXT" title="Certificate Status Information Generation">
			<fam-behavior>Components in this family define requirements for the TOE’s ability to generate certificate status information and
				to modify the status of issued certificates.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Certificate Status Information Generation" cc-id="fdp_csi_ext.1" id="fdp-csi-ext-1" status="sel-based">
			<depends on="toe-generates-cert-status"/>
			<comp-lev> requires the TSF to generate certificate status information using a supported method and to define conditions in
				which this information can be modified.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>There are no auditable events foreseen.</audit>
			<dependencies>
				[FDP_CRL_EXT.1 Certificate Revocation List Generation OR FDP_OCSP_EXT.1 OCSP Basic Response Generation]<h:br/>
				FMT_SMR.1 Security Roles			
			</dependencies>
			<f-element id="fdp-csi-ext-1e1">
				<title>
					The TSF shall generate certificate status information whose format complies with <selectables>
						<selectable id="toe-supports-crl">ITU-T Recommendation X.509v2 CRL</selectable>
						<selectable>ITU-T Recommendation X.509v2 CRL as refined by RFC 8603 </selectable>
						<selectable id="toe-supports-ocsp">the OCSP standard as defined by RFC 6960</selectable>
					</selectables>.
				</title>
				<note role="Application">
					The ST author indicates the supported Certificate Status information methods. If "ITU-T Recommendation X.509v2 CRL" or "ITU-T Recommendation X.509v2 CRL as refined by RFC 8603" are claimed, FDP_CRL_EXT.1 is also claimed. If "the OCSP standard as defined by RFC 6960" is claimed, FDP_OCSP_EXT.1 is also claimed.
				</note>
			</f-element>
			
			<f-element id="fdp-csi-ext-1e2">
				<title>The TSF shall support changes to the status of a certificate by <selectables>
					<selectable>administrative action</selectable>
					<selectable> <assignable>input from a supported function</assignable></selectable>
				</selectables>.
				</title>
				<note role="Application">
					The ST author indicates the methods to notify the embedded CA of certificate status change. If inputs from a TOE 
					function supported by the embedded CA trigger revocation, the ST author identifies the method of notification for 
					each such function in the assignment.
				</note>
			</f-element>
			
			<f-element id="fdp-csi-ext-1e3">
				<title>The TSF shall provide certificate status information generated in accordance with <xref to="fdp-csi-ext-1e1"/> via
					<selectables linebreak="yes">
						<selectable>posting CRLs at the location specified in the cRLDistributionPoints of the issued certificate</selectable>
						<selectable>an OCSP mechanism indicated in the authorityInfoAccess extension of the issued certificate in accordance 
							with <xref to="fdp-ocsp-ext-1"/></selectable>
						<selectable>an OCSP response provided to <assignable>a TOE function using certificates issued by the embedded CA in 
							support of TLS or DTLS server functionality</assignable> 
							for OCSP stapling</selectable>
					</selectables>.					
				</title>
				<note role="Application">
					<h:p>
					If "ITU-T Recommendation X.509v2 CRL" or "ITU-T Recommendation X.509v2 CRL as refined by RFC 8603" is selected in FDP_CSI_EXT.1.1, 
					FDP_CRL_EXT.1 must be claimed. If "the OCSP standard as defined by RFC 6960" is selected in FDP_OCSP_EXT.1.1, FDP_OCSP_EXT.1 must be claimed.
					</h:p><h:p>
					The ST author claims the supported methods for distributing generated certificate status information to the supported 
					functions that are relying parties for the issued certificates. 
					</h:p><h:p>
					If CRLs are claimed in <xref to="fdp-csi-ext-1e1"/>, 
					then ‘posting CRLs at… cRLDistributionPoints…’ is claimed in <xref to="fdp-csi-ext-1e3"/> and ‘cRLDistributionPoints’ 
						is claimed in <xref to="fdp-cer-ext-1e2-oltleaf"/>. 
					</h:p><h:p>
						If the OCSP standard is selected in <xref to="fdp-csi-ext-1e1"/>, then FDP_OCSP_EXT.1 is also claimed and at 
						least one of ‘OCSP mechanism…in the authorityInfoAccess…’ or ‘…OCSP stapling…’ is claimed in the selection for <xref to="fdp-csi-ext-1e3"/>.                     </h:p><h:p>
						If ‘OCSP mechanism…in the authorityInfoAccess…’ is claimed in <xref to="fdp-csi-ext-1e3"/>, then ‘authorityInfoAccess’ 
							must be claimed in <xref to="fdp-cer-ext-1e1-oltleaf"/>. 
					</h:p><h:p>
						If ‘…OCSP stapling’ is claimed, the ST author identifies the functions 
					using OCSP stapling for server-authenticated TLS or DTLS and describes the interface to provide the OCSP response to 
					each of the functions in the assignment.
					</h:p>
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS and verify that the description of the revocation function meets the 
							requirements of the referenced RFI, how revocation status updates are initiated, and how each supported
							function receives status updates.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine the AGD documentation and verify that instructions for revoking certificates issued 
							by the embedded CA are included, and that the configuration of revocation status information locations is 
							described.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following test.
						<testlist>
							<test id="revoked-cert-test">
								For each revocation method claimed, the evaluator shall attempt to cause the supported function to revoke an 
								issued certificate. The evaluator shall demonstrate that the function no longer accepts the revoked 
								certificate.
							</test>
							<test id="reinstate-suspend-test">
								[conditional:] If status changes allow reinstatement of suspended certificates, then for each method supporting
								reinstatement, the evaluator shall suspend a certificate, demonstrate that it is not trusted, then reinstate
								the certificate and demonstrate that TSF allows subsequent use of the certificate. If the certificate is used
								for persistent signatures, then the evaluator shall also demonstrate that a signature applied by a suspended
								certificate prior to reinstatement is not trusted after the certificate is reinstated.
							</test>
						</testlist>						
					</Tests>				
				</aactivity>
			</f-element>
			<audit-event>
				<audit-event-descr>(conditional, if information is not provided via CRL or OCSP) Revocation</audit-event-descr>
				<audit-event-info>Certificate identifier</audit-event-info>
				<audit-event-info>Reason for revocation</audit-event-info>
			</audit-event>
				
		</f-component>
		
		<ext-comp-def fam-id="FDP_OCSP_EXT" title="OCSP Basic Response Generation">
			<fam-behavior>Components in this family define requirements for the usage of the Online Certificate Status Protocol (OCSP) as a
				method of recording certificate status information.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="OCSP Basic Response Generation" cc-id="fdp_ocsp_ext.1" id="fdp-ocsp-ext-1" status="sel-based">
			<depends on="toe-supports-ocsp"/>
			<comp-lev> requires the TSF to include specific information in any OCSP response that it creates.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Failure to generate certificate status information</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				<no-link>FPT_STM.1</no-link> Reliable Time Stamps
			</dependencies>
			<f-element id="fdp-ocsp-ext-1e1">
				<title>The TSF shall ensure that all mandatory fields in the OCSP basic response contain values in accordance with RFC 
					6960 which meet the following rules.
					<h:ul>
						<h:li>
							The version field shall contain a 0.
						</h:li>
						<h:li>
							The signatureAlgorithm field shall contain the object identifier (OID) for a digital signature algorithm in 
							accordance with <selectables linebreak="yes">
								<selectable>sha384WithRSAEncryption with key size of 3072 bits or greater</selectable>
								<selectable>ecdsa-with-SHA384 using
									<selectables>
									<selectable>secp384r1</selectable>
									<selectable>secp521r1</selectable>
								</selectables></selectable>
								<selectable>ecdsa-with-SHA512 using
									<selectables>
									<selectable>secp384r1</selectable>
									<selectable>secp521r1</selectable>
								</selectables></selectable>															
							</selectables>
						</h:li>
						<h:li>
							The thisUpdate field shall indicate the time at which the status being indicated is known to be correct.
						</h:li>
						<h:li>
							The producedAt field shall indicate the time at which the OCSP responder signed the response.
						</h:li>
						<h:li>
							If the nextUpdate field is populated, the time specified shall not precede the time specified in the 
							thisUpdate field.
						</h:li>
					</h:ul>
				</title>
				<note role="Application">
					This requirement should be claimed if 'the OCSP standard as defined by RFC 6960' is selected in <xref to="fdp-csi-ext-1e1"/>
				</note>
				<aactivity>
					<TSS>
					<h:p>The evaluator shall examine the TSS and verify that the description of the OCSP response function is described 
						and meets the requirements.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall review the AGD documentation and verify that instructions for configuring the OCSP function, 
						including specifying the location of the OCSP responder, if claimed, are described.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following test.
						<testlist>
							<test>
								<h:p>In conjunction with <xref to="revoked-cert-test"/>, the evaluator shall observe that the OCSP response 
								issued by the embedded CA is available at the configured locations and meet the criteria of this requirement.</h:p>
							<h:p>Note: OCSP stapling includes the response signed by the OCSP responder in the TLS handshake data – this 
							‘location’ is used if OCSP stapling or OCSP multi-stapling is claimed, otherwise, the location is included 
							in the issued certificate or at a configured local OCSP responder.</h:p>
							</test>
						</testlist>						
					</Tests>
				</aactivity>
			</f-element>
			<audit-event>
				<audit-event-descr>Failure to generate certificate status information</audit-event-descr>
				<audit-event-info>N/A</audit-event-info>
			</audit-event>
		</f-component>		
	</sec:fdp>
	
	<!-- 			-->
	<!-- 3.1.1 FIA: Identification and Authentication -->
	<!--			-->
	<sec:fia title="Identification and Authentication (FIA)">
		
		<ext-comp-def fam-id="FIA_CMCC_EXT" title="CMC Client Certificate Enrollment">
			<fam-behavior>Components in this family define requirements for the TOE to generate CMC requests.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="CMC Client Certificate Enrollment" cc-id="fia_cmcc_ext.1" id="fia-cmcc-ext-1" status="sel-based">
			<depends on="toe-uses-cmc"/>
			<comp-lev> requires the TSF to generate, export, import, and transport CMC requests that meet client and end-entity compliance
				requirements.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>CMC certificate or revocation requests</h:li>
					<h:li>CMC responses issued</h:li>
				</h:ul>
			</audit>
			<dependencies>
				FIA_X509_EXT.3 X.509 Certificate Requests<h:br/>
				<no-link>FMT_SMR.1</no-link> Security Roles<h:br/>
				<no-link>FTP_ITC.1</no-link> Inter-TSF Trusted Channel
			</dependencies>
			<f-element id="fia-cmcc-ext-1e1">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to generate CMC
					 <selectables>
						<selectable>simple requests</selectable>
						<selectable>full requests</selectable>
					</selectables>
					in accordance with RFC 5272
					 <selectables>
						<selectable>as updated by RFC 6402</selectable>
					    <selectable>as refined by RFC 8996</selectable>
					</selectables>
					which meet the compliance requirements for a client and end-entity.
				</title>
			</f-element>
					
			<f-element id="fia-cmcc-ext-1e2">
						<title>The TSF shall
							 <selectables>
								<selectable>invoke platform-provided functionality</selectable>
								<selectable>provide functionality</selectable>
							</selectables>
							to
							 <selectables>
								<selectable>export CMC requests and import CMC responses under the control of an administrator,</selectable>
								<selectable>require CMC transport over HTTPS in accordance with RFC 5273
							 <selectables>
								<selectable>as updated by RFC 6402</selectable>
								<selectable>as refined by RFC 8996</selectable>
								</selectables>
								with all renewal or re-key requests using mutual authentication
								</selectable>
							 </selectables>.
				</title>
				<note role="application">
					The ST author claims the methods for exchanging CMC messages. If CMC transport over HTTPS is claimed, the HTTPS (with 
					mutual authentication for renewal or re-key requests) is in accordance with <no-link>FCS_HTTPS_EXT.1</no-link>. If the certificate being renewed does not support TLS client authentication, the TSF uses a
					valid certificate suitable for TLS with client authentication having the same issuerName, subjectName, and subjectAltName
					as the certificate being renewed. If the TSF does not support such a certificate, this option is not claimed.
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS to ensure that it describes how CMC client support is provided, the supported
							messages for each profile supported, and each optional feature from the RFI, and verify that the description 
							complies with the requirements.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine AGD guidance to ensure instructions are provided to configure CMC client functionality 
						as necessary to meet requirements, or when multiple options are supported.</h:p>
					</Guidance>
					<Tests>
						<testlist>
							<test id="valid-cmcc-test">
								<h:p>In conjunction with <xref to="cert-request-test"/>, the evaluator shall observe that each CMC message
									sent by the TSF is compliant with the requirements.</h:p>
							</test>
							<test>
								<h:p>[conditional]: If HTTPS transport of CMC is supported, the evaluator will observe that CMC messages are 
								transported over a compliant HTTPS session with the CA. If renewal or re-key is supported, the evaluator shall attempt 
								to renew or re-key a certificate obtained in <xref to="valid-cmcc-test"/>, and verify that compliant mutually authenticated HTTPS is 
								established with the CA.</h:p>
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>	
			<audit-event>
				<audit-event-descr>CMC certificate or revocation requests</audit-event-descr>
				<audit-event-info>None</audit-event-info>
			</audit-event>
			<audit-event>
				<audit-event-descr>CMC responses issued</audit-event-descr>
				<audit-event-info>Any signed response</audit-event-info>				
			</audit-event>
				
		</f-component>

		<ext-comp-def fam-id="FIA_CMCS_EXT" title="Certificate Management over CMS (CMC) Server">
			<fam-behavior>Components in this family define requirements for the TOE to accept CMC requests.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Certificate Management over CMS (CMC) Server" cc-id="fia_cmcs_ext.1" id="fia-cmcs-ext-1" status="sel-based">
			<depends on="toe-enforces-cmc"/>
			<comp-lev> requires the TSF to accept, process, and send CMC requests that meet CMS server and CA requirements.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>CMC messages received containing certificate or revocation requests</h:li>
					<h:li>CMC responses issued</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				FDP_CER_EXT.2 Certificate Request Matching<h:br/>
				<no-link>FPT_STM.1</no-link> Reliable Time Stamps<h:br/>
				<no-link>FTP_ITC.1</no-link> Inter-TSF Trusted Channel
			</dependencies>
			<f-element id="fia-cmcs-ext-1e1">
				<title>The TSF shall be able to accept and process CMC <selectables>
					<selectable>full requests</selectable>
					<selectable>simple requests</selectable>
				</selectables>
					meeting the profile specified in <selectables>
						<selectable>RFC 8756</selectable>
						<selectable> <assignable>CMC profile supported</assignable></selectable>
					</selectables>
					in accordance with RFC 5272, RFC 5273, and RFC 5274, as updated by RFC 6402.				
			</title>
				<note role="Application">
					The ST author claims supported CMC request processing and the supported CMC profiles as indicated in <xref to="fdp-cer-ext-1e4-oltleaf"/>, with matching selections. A CMC profile describes the 
					cryptographic functions and extensions supported. If profiles other than RFC 8756 are supported, the ST author 
					describes the supported cryptographic functions and extensions used for those profiles. 
					Cryptographic functions used in the CMC profile are limited to those specified in the PP or PP-Module which claims conformance 
					to this FP. The mechanism that implements these functions (e.g., whether it is part of the TSF or invoked from its platform) 
					is specified in <xref to="fia-cmcs-ext-1e4"/>. 
				</note>
			</f-element>
			
			<f-element id="fia-cmcs-ext-1e2">
				<title>The TSF shall be able to generate CMC simple responses and <selectables>
					<selectable>CMC full responses</selectable>
					<selectable>no other</selectable>
				</selectables> 
					consistent with the CMC profile which are in accordance with RFC 5272 as updated by RFC 6402, meeting the compliance 
					requirements for CMS server and certification authorities in accordance with RFC 5274 as updated by RFC 6402.					
				</title>
				<note role="Application">
					The ST author claims the supported CMC responses meeting each CMC profile claimed in FIA_CMCS_EXT.1.1. RFC 6402 
					section 4.1 indicates mandatory support for cryptographic functions that are no longer recommended. This PP 
					functional package does not allow such deprecated functions, and instead requires that supported cryptographic 
					functions be specified in a CMC profile.
				</note>				
			</f-element>
			
			<f-element id="fia-cmcs-ext-1e3">
				<title>
					The TSF shall <selectables>
						<selectable>invoke platform-provided functionality to require</selectable>
						<selectable>require</selectable></selectables>
						<selectables>
							<selectable><assignable>transfer of CMC files to entities as authorized by the supported functions</assignable></selectable>
							<selectable>CMC transport over HTTPS for CMC messages from <assignable>external entities as authorized by the supported function</assignable></selectable>
						</selectables>
					in accordance with RFC 5273 as updated by RFC 6402.  
					For CMC requests containing certificate requests other than initial certificate requests authenticated using shared 
					secrets, the TSF shall require HTTPS with client authentication, shall ensure the authenticating entity is the same 
					as the entity signing the CMC request and any subject indicated in the requested certificates are the same as the 
					authenticating entity, or the authenticating entity is <selectables>
						<selectable>an authorized RA for the requested subject</selectable>
						<selectable>no other entity</selectable>
					</selectables>.
				</title>
				<note role="Application">
					<h:p>The ST author claims the supported transport of CMC requests from a supported function and responses to the
						supported function making the request. If CMC file transport is used, the ST author claims the first option and
						describes the method for transferring the files to and from each entity as authorized by the supported function
						in the assignment. If the TSF supports CMC transport to external entities via HTTPS, the second option is claimed,
						and the ST indicates which entities are authorized to request certificates.</h:p>
					<h:p>Cryptographic support is specified in the CMC profile.</h:p>
				</note>
			</f-element>
			
			<f-element id="fia-cmcs-ext-1e4">
				<title>
					The TSF shall require the use of <selectables>
						<selectable>platform-provided</selectable>
						<selectable>TSF</selectable>
					</selectables> cryptographic functionality for supported CMC messages
					using the following functions: <assignable>list of cryptographic functions</assignable>.
				</title>
				<note role="Application">
					The ST author specifies the cryptographic functions used for CMC and whether these functions are part of the TSF or invoked by it
					as part of the TOE platform (e.g., a cryptographic library offered by a general-purpose operating system for third-party applications).
					It is expected that the cryptographic implementation cited here is consistent with any claims made in the PP or PP-Module which 
					claims conformance to this FP, both with regards to where the implementation resides and for what algorithms are used.
				</note>
			</f-element>
						
			<f-element id="fia-cmcs-ext-1e5">
				<title>
					The TSF shall accept, process and send CMC messages as authorized by <selectables>
						<selectable>an RA entity associated with the supported function</selectable>
						<selectable> <assignable>an interface to the supported function</assignable></selectable>
						<selectable>under the control of an administrator <assignable>limited to support of the associated TOE 
							function</assignable></selectable></selectables>
						and shall reject unauthorized requests.										
				</title>
				<note role="Application">
					The ST author indicates how CMC requests are authorized to meet the needs of supported functions. A supported function 
					requiring certificates to be generated by the embedded CA and using CMC to manage those certificates may approve 
					certificates using an entity possessing an RA certificate, via an interface or via manual configuration. If ‘an RA 
					entity…’ is claimed, additional selections are also claimed to account for the initial RA certificate used by the 
					entity. The second option is claimed if certificates are authorized by an interface to the supported function. This 
					option is claimed if a supported certificate management method other than CMC is used to establish initial 
					certificates, or if the supported function informs the CMC function via an implied or explicit interface. 
					For example, an interface can be implied through the use of HTTPS transport controlled by the TOE function. 
					Administrator control of CMC requests is acceptable, and may be required if an RA certificate associated with the 
					function is initialized using manually imported CMC or if the function associates certificates with local users (e.g., 
					administrator SSH certificates), but is limited to certificate requests required by the supported function. If ‘under 
					the control of an administrator’ is claimed, the ST author describes how administrators are limited to certificate 
					requests associated with supported function.
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS to ensure that it describes how CMC server support is provided for each 
						supported TOE function managing certificates from the embedded CA using CMC. The evaluator shall examine the TSS 
						to ensure it describes how initial and subsequent certificates requests are authenticated and authorized for use 
						by the supported function.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine the operational guidance to ensure it contains instructions on how to configure CMC 
						processing to support the TOE’s certificate profile(s) associated to supported functions using CMC. If the TSS 
						indicates that neither AuthenticatedData or Identity Proof Version 2 Control mechanisms using shared secrets are 
						supported, the evaluator shall also examine the operational guidance to ensure that it describes how to 
						authenticate requests for initial subscriber certificates and, if supported, initial certificates for 
						Registration Authority functions, when no other certificates are available.</h:p>
					</Guidance>
					<Tests>
						For each supported TOE function using CMC for managing certificates from the embedded CA, the evaluator shall 
						perform the following tests.
						<testlist>
							<test>
							<h:p>[conditional]: If the supported function uses an administratively installed RA entity to approve certificates 
							in CMC requests, the evaluator shall follow AGD guidance as necessary to initialize and install an RA 
							certificate associated with the supported function. The evaluator shall observe that the initial RA 
							certificate request is authenticated using CMC proof-of-possession, matches the relevant CMC RA certificate 
							profile, and is authorized using a method described in FIA_CMCS_EXT.1.5.</h:p> 
							</test>
						<test>
							<h:p>For each authorization method applicable to initial certificate requests used by the supported function, the 
							evaluator shall cause an initial certificate request to be presented to the TSF that is approved using the 
							method. The evaluator shall confirm that the authorization method is used.</h:p>
						</test>
						<test>
							<h:p>The evaluator shall cause a valid initial certificate request for an authorized external entity to be sent 
							over HTTPS and observe that the TSF sends the response over the established channel.</h:p> 
						</test>
						<test>
							<h:p>[conditional]: If the TSF supports certificate renewal or update of external entities via CMC, the evaluator 
							shall cause the certificate in the response to test 3 to authenticate the HTTPS session for a CMC requests 
							for a certificate renewal using a CMC request and observe that the response includes the requested 
							certificate.</h:p> 
							<h:p>The evaluator then shall cause a certificate update request to be transported over HTTPS for which the 
							certificate message from the requester is empty. The evaluator shall observe that the TSF does not provide 
							the requested certificate in a CMC response.</h:p>							
						</test>
					</testlist>
					</Tests>
				</aactivity>
			</f-element>
			
			<audit-event>
				<audit-event-descr>CMC messages received containing certificate or revocation requests</audit-event-descr>
				<audit-event-info>Identifiers for all entities authenticating the request, including the entity providing client 
					authentication for the CMC transport (if any)</audit-event-info>
				<audit-event-info>The request received</audit-event-info>		
			</audit-event>
			<audit-event>
				<audit-event-descr>CMC responses issued</audit-event-descr>
				<audit-event-info>Any signed response</audit-event-info>				
			</audit-event>
			
		</f-component>
		
		<ext-comp-def fam-id="FIA_CMPC_EXT" title="CMP Certificate Enrollment">
			<fam-behavior>Components in this family define requirements for the TOE to generate CMP requests.</fam-behavior>
		</ext-comp-def>

		<f-component name="CMP Certificate Enrollment" cc-id="fia_cmpc_ext.1" id="fia-cmpc-ext-1" status="sel-based">
			<depends on="toe-enforces-cmp"/>
			<comp-lev> requires the TSF to generate, export, import, and transport CMP requests that meet subject and end-entity compliance
				requirements.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>CMP certificate or revocation requests</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				FIA_X509_EXT.3 X.509 Certificate Requests<h:br/>
				<no-link>FTP_ITC.1</no-link> Inter-TSF Trusted Channel
			</dependencies>
			<f-element id="fia-cmpc-ext-1e1">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to generate CMP requests
					 <selectables>
						<selectable>in accordance with RFC 4210 as updated by RFC 6712 and RFC 9481 (CMP version 2)</selectable>
						<selectable>in accordance with RFC 4210 as updated by RFC 6712 and RFC 9480 (CMP version 3)</selectable>
					</selectables>,
					which meet the compliance requirements for subject and end entities.
				</title>
			</f-element>
			
			<f-element id="fia-cmpc-ext-1e2">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to 
					 <selectables>
						<selectable>export CMP requests and import CMP responses under the control of <selectables>
							<selectable>an administrator</selectable>
							<selectable><assignable>supported function capabilities</assignable></selectable>
						</selectables></selectable>
					 	<selectable>transport CMP messages over HTTPS in accordance with RFC 6712, with all renewal or re-key requests using mutual authentication</selectable>
						<selectable>transport CMP messages over HTTPS in accordance with RFC 9480 (CMP version 3) with all renewal or re-key requests using mutual authentication</selectable>
					</selectables>.
				</title>
				<note role="application">
					<h:p>
						The ST author claims the methods for exchanging CMP messages.
					</h:p>
					<h:p>
						If CMP request and response files are transported, the ST author claims the first option and indicates how the files
						are transferred to the CMP server.</h:p>
						<h:p>
							If the TSF includes an embedded CA that accepts CMP requests under the control or authorization of a supported
							function, the ST author describes the transport mechanism and any authorization decisions in the assignment.
						</h:p>
						<h:p>
							If CMP transport over HTTPS is claimed, the HTTPS (with mutual authentication for renewal or re-key requests) is
							in accordance with <no-link>FCS_HTTPS_EXT.1</no-link>.
						</h:p>	
						<h:p>When HTTPS is claimed, the certificate used to authenticate the session meets the requirements in this FP for a
							TLS client certificate and has the same subjectName and subjectAltName as the certificate being renewed; if
							the TSF does not possess such a certificate, this option is not claimed.
						</h:p>
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS to ensure that it describes how CMP client support is provided and complies 
						with the requirements.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine AGD guidance to ensure instructions are provided to configure CMP client functionality 
						as necessary to meet requirements, or when multiple options are supported.</h:p>
					</Guidance>
					<Tests>
						<testlist>
							<test id="valid-cmpc-test">
								<h:p>In conjunction with <xref to="cert-request-test"/>, the evaluator shall observe that the CMP messages are 
									compliant with the requirements.</h:p>
							</test>
							<test>
								<h:p>[conditional]: if HTTPS transport of CMP is supported, the evaluator shall observe that CMP messages are 
								transported over a compliant HTTPS session with the CA. If renewal or re-key is supported, the evaluator shall attempt 
								to renew or re-key a certificate obtained in <xref to="valid-cmpc-test"/>, and verify that compliant mutually authenticated HTTPS is 
								established with the CA.</h:p>
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>	
			
			<audit-event>
				<audit-event-descr>CMP certificate or revocation requests</audit-event-descr>
				<audit-event-info>None</audit-event-info>
			</audit-event>
			
		</f-component>
		
		<ext-comp-def fam-id="FIA_CMPS_EXT" title="Certificate Management Protocol (CMP) Server">
			<fam-behavior>Components in this family define requirements for the TOE to authenticate CMP requests.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Certificate Management Protocol (CMP) Server" cc-id="fia_cmps_ext.1" id="fia-cmps-ext-1" status="sel-based">
			<depends on="toe-enforces-cmp"/>
			<comp-lev> requires the TSF to receive, process, and respond to CMP requests from authorized clients and RAs.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>CMC messages received containing certificate or revocation requests</h:li>
					<h:li>CMC responses issued</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				FDP_CER_EXT.2 Certificate Request Matching<h:br/>
				<no-link>FPT_STM.1</no-link> Reliable Time Stamps<h:br/>
				<no-link>FTP_ITC.1</no-link> Inter-TSF Trusted Channel
			</dependencies>
			<f-element id="fia-cmps-ext-1e1">
				<title>The TSF shall use the Certificate Management Protocol (CMP) as specified in <selectables>
					<selectable>RFC 4210 as updated by RFC 6712 and RFC 9481 (v2 CMP)</selectable>
					<selectable>RFC 4210 as updated by RFC 6712 and RFC 9480 (v3 CMP)</selectable>
					</selectables>
					to receive, process, and respond to CMP requests received from authorized clients and <selectables> 
					<selectable> <assignable>entities authorized as registration authorities</assignable></selectable>
					<selectable>no other entity</selectable>					
				</selectables>.					
				</title>
				<note role="Application">
					This SFR is claimed if the embedded CA supports CMP server functionality, as indicated in <xref to="fdp-cer-ext-1e4-oltleaf"/>, and the claimed versions match the selections. If Registration Authority is supported, 
					the ST author describes entities that are issued RA roles. Authorized entities may be an administrative user, 
					or a functional entity associated with a supported TOE function. If v3 CMC is also supported, certificates associated with such authorized 
					entities have an extendedKeyUsage field that includes the id-kp-cmcRA purpose. Entities with an RA role are used to authenticate initial 
					requests on behalf of authorized clients that might not have existing certificates issued by the embedded CA.
				</note>
			</f-element>

			<f-element id="fia-cmps-ext-1e2">
				<title>
					The TSF shall <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to authenticate CMP subjects and end-entities for re-enrollment via certificate-based authentication and
					 <selectables>
						<selectable>RA assertion</selectable>
						<selectable>no other method</selectable>
					</selectables>.
				</title>
				<note role="Application">
					Certificate-based authentication refers to signatures used in CMP messages from clients or end entities who possess a certificate
					used for transferring messages directly from the client or end entity. The ST author claims authentication methods 
					used for initial requests and any alternate authentication methods for CMP messages. If RA entities are claimed in 
					<xref to="fia-cmps-ext-1e1"/>, the ST author claims ‘RA assertion’ if RA authentication is used to authorize subject 
					or end entity requests. 
				</note>
			</f-element>
			
			<f-element id="fia-cmps-ext-1e3">
				<title>The TSF shall <selectables>
					<selectable>invoke platform-provided functionality</selectable>
					<selectable>provide functionality</selectable>
				</selectables>
					to authenticate CMP subjects and end-entities for initial enrollment via the CMP basic authenticated scheme using
					 <selectables>
						<selectable>RA attestation</selectable>
						<selectable> <assignable>out of band shared secret</assignable></selectable>
					</selectables>
					as configured by an administrator, <assignable>other method of establishing initial authentication material</assignable>.					
				</title>
				<note role="Application">
					The ST author indicates the methods for establishing initial authentication material for each supported function. 
					If out-of-band methods are used to distribute shared secret information to authenticate initial request, the ST 
					author describes the method, including the requirements for authorized users and any TOE-negotiated out-of-band 
					channel used in the assignment. The ST author claims ‘as configured…’ if the initial authentication of clients or 
					end entities is determined by configuration of the TOE. The ST author describes any other method for initializing 
					subjects if applicable.
				</note>
			</f-element>
			
			<f-element id="fia-cmps-ext-1e4">
				<title>The TSF shall verify proof-of-possession of the private key associated with a public key included in an issued 
					certificate using <selectables>
						<selectable>in-line messaging</selectable>
						<selectable>RA assertion</selectable>
						<selectable>CA key generation</selectable>
					</selectables>.					
				</title>
				<note role="Application">
					The ST author claims ‘in-line messaging’ if certificates are provided to external entities. The ST author claims 
					‘in-line messaging’ or ‘CA key generation’ according to the method supported for certificates assigned to internal 
					TOE entities.
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS and verifies the description of CMP server functionality is described and is 
						compliant with the requirements.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine AGD documentation and verifies that any configurable features of the CMP server 
						functionality required to meet the requirements are included.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following tests.
						<testlist>
							<test>
							<h:p>For each initial authentication method supported, the evaluator shall demonstrate that the TSF is able 
							to authenticate clients using the indicated authentication material. The evaluator shall then attempt to 
							provide invalid authentication material for the method and demonstrate that the TSF does not generate the 
							requested certificate.</h:p>
							</test>
							<test>
							<h:p>For each supported authentication method using certificate-based authentication, the evaluator shall 
							demonstrate that the TSF is able to process a request using the method. The evaluator shall then use 
							certificates not trusted by the TSF for CMP message authentication, and observe the TSF does not generate 
							the requested certificate.</h:p>
							</test>
							<test>
							<h:p>For each supported proof-of-possession method supported, the evaluator shall demonstrate that the TSF 
							is able to process the certificate requests for certificates using the method. The evaluator shall then 
							present invalid proof-of-possession evidence for the certificate request and observe that the TSF does not 
							generate the requested certificate.</h:p>
							</test>
							<test>
								<h:p>For each transport method supported, the evaluator shall demonstrate that the TOE is able to receive 
								and send CMP messages protected by the method.</h:p>
							</test>
							<test>
								<h:p>[conditional]: If version 3 CMP messages are supported, the evaluator shall demonstrate that all 
								supported hashAlg values are accepted by the TOE.</h:p>
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>
			
			<audit-event>
				<audit-event-descr>CMP messages-received containing certificate or revocation requests</audit-event-descr>
				<audit-event-info>Identifiers for all entities authenticating the request, including the entity providing client 
					authentication for the CMC transport (if any)</audit-event-info>
				<audit-event-info>The request received</audit-event-info>		
			</audit-event>
			<audit-event>
				<audit-event-descr>CMC response issued</audit-event-descr>
				<audit-event-info>None</audit-event-info>				
			</audit-event>
							
		</f-component>
		
		<ext-comp-def fam-id="FIA_ESTC_EXT" title="EST Certificate Enrollment">
			<fam-behavior>Components in this family define requirements for the TOE’s use of Enrollment over Secure Transport (EST) to
				obtain certificates from an external CA.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="EST Client Certificate Enrollment" cc-id="fia_estc_ext.1" id="fia-estc-ext-1" status="sel-based">
			<depends on="toe-uses-est"/>
			<comp-lev> defines the ability of the TSF to perform Enrollment over Secure Transport (EST) as a client connecting to an
				external CA.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>EST certificate or revocation requests</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				<no-link>FCS_TLSC_EXT.1</no-link> TLS Client Protocol<h:br/>
				FDP_CER_EXT.2 Certificate Request Matching<h:br/>
				<no-link>FPT_STM.1</no-link> Reliable Time Stamps<h:br/>
				<no-link>FTP_ITC.1</no-link> Inter-TSF Trusted Channel
			</dependencies>
			<f-element id="fia-estc-ext-1e1">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to generate
					 <selectables>
						<selectable>simple</selectable>
						<selectable>full CMC</selectable>
					</selectables>
					requests using Enrollment over Secure Transport (EST) in accordance with RFC 7030 with an EST server associated to 
					a certification authority.
				</title>
			</f-element>
			<f-element id="fia-estc-ext-1e2">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to obtain EST server and CA certificates for authorized EST services via
					 <selectables>
						<selectable>implicit TA database configured by an administrator</selectable>
						<selectable>an explicit TA database populated via a TLS-authenticated EST CA certificate request in accordance 
							with RFC 7030 section 4.1.2 and FCS_TLSC_EXT.2</selectable>
					</selectables>.										
				</title>
			</f-element><f-element id="fia-estc-ext-1e3">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to authenticate EST servers using X.509 certificates that chain to trust store elements from the 
					 <selectables>
						<selectable>implicit TA database</selectable>
						<selectable>explicit TA database</selectable>
					</selectables>
					in accordance with <xref to="fia-x509-ext-1"/> for all EST requests.					
				</title>
			</f-element><f-element id="fia-estc-ext-1e4">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to authenticate its certificate enrollment request to receive <assignable>list of certificates</assignable> from an 
					authorized EST server using <selectables linebreak="yes">
						<selectable>HTTP basic authentication transported over TLS (HTTPS) in accordance with RFC 7030 section 3.2.3</selectable>					
						<selectable>HTTP digest authentication using a cryptographic hash algorithm transported over TLS (HTTPS) in 
							accordance with RFC 7030 section 3.2.3</selectable>
						<selectable>Certificate-based authentication in accordance with RFC 7030 section 3.3.2 using
							 <assignable>pre-existing certificate authorized by the EST server</assignable></selectable>
					</selectables>.
				</title>
			</f-element>
			<f-element id="fia-estc-ext-1e5">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to generate authenticated re-enrollment requests in accordance with RFC 7030 Section 3.3.2, using an existing valid 
					certificate with the same subject name as the requested certificate and which was issued by the CA associated with 
					the EST server. 
				</title>
			</f-element>
			<f-element id="fia-estc-ext-1e6">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable>
					</selectables>
					to update its EST-specific Trust Anchor Database using the “Root CA Key Update” process described in RFC 7030, 
					Section 4.1.3.
				</title>
				<note role="application">
					The ST author claims the supported EST capabilities.
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the ST and verify that EST functionality is described and meets the requirements.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine the AGD guidance and verify that instructions for configuring EST 
							functionality are described, including initializing the implicit TA database if claimed.</h:p>
					</Guidance>
					<Tests>
						<testlist>
							<test>
								<h:p>The evaluator shall demonstrate the TOEs ability to configure and update trust stores 
								associated with EST servers.</h:p>
							</test>
							<test>
								<h:p>In conjunction with <xref to="cert-request-test"/>, the evaluator shall observe that 
									requests using EST are compliant with the requirements.</h:p>
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>
			
			<audit-event>
				<audit-event-descr>EST certificate or revocation requests</audit-event-descr>
				<audit-event-info>None</audit-event-info>
			</audit-event>
						
		</f-component>
		
		<ext-comp-def fam-id="FIA_ESTS_EXT" title="Enrollment over Secure Transport (EST) Server">
			<fam-behavior>Components in this family define requirements for the TOE’s use of Enrollment over Secure Transport (EST) to
				authenticate certificates from an external CA.</fam-behavior>
		</ext-comp-def>

		<f-component name="Enrollment over Secure Transport (EST) Server" cc-id="fia_ests_ext.1" id="fia-ests-ext-1" status="sel-based">
			<depends on="toe-enforces-est"/>
			<comp-lev> defines the ability of the TSF to perform Enrollment over Secure Transport (EST) as a server connecting to an
				external CA.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>EST messages received containing certificate or revocation requests</h:li>
					<h:li>EST responses issued</h:li>
				</h:ul>			
			</audit>
			<dependencies>
				<no-link>FCS_COP.1</no-link> Cryptographic Operation<h:br/>
				<no-link>FCS_TLSC_EXT.1</no-link> TLS Client Protocol<h:br/>
				FDP_CER_EXT.2 Certificate Request Matching<h:br/>
				<no-link>FMT_SMR.1</no-link> Security Roles
				<no-link>FPT_STM.1</no-link> Reliable Time Stamps<h:br/>
				<no-link>FTP_ITC.1</no-link> Inter-TSF Trusted Channel
			</dependencies>
			<f-element id="fia-ests-ext-1e1">
				<title>The TSF shall use the Enrollment over Secure Transport (EST) protocol as specified in RFC 7030, as updated by RFC 
					8996, to receive, process, and respond to certificate simple enrollment requests from authorized clients and
					 <selectables>
						<selectable> <assignable>entities authorized as registration authorities</assignable></selectable>
						<selectable>no other entity</selectable>
					</selectables>.
				</title>
				<note role="Application">
					This SFR is claimed if the TOE supports an EST server associated with an embedded CA to process enrollment requests; 
					the embedded CA is referred to as the EST CA in the RFC.  Updates to RFC 7030 indicated in RFC 8996 applies to all 
					references to RFC 7030 in this SFR. If Registration Authority (RA) functionality is supported, the ST author 
					describes which authorized entities the EST CA issues RA certificates to. Authorized entities may be an 
					administrative user, or a functional entity associated with a supported TOE function. Certificates associated with 
					such authorized entities have an extendedKeyUsage field that includes the id-kp-cmcRA purpose and are used to make 
					authenticated initial requests on behalf of authorized clients that might not have existing certificates issued by 
					the EST CA.
				</note>				
			</f-element>
			<f-element id="fia-ests-ext-1e2">
				<title>The TSF shall <selectables>
					<selectable>invoke platform-provided functionality</selectable>
					<selectable>provide functionality</selectable>
				</selectables>
					to authenticate EST clients for re-enrollment via TLS certificate-based mutual authentication in accordance with 
					RFC 7030 Section 3.3.2.					
				</title>
				<note role="Application">
					Enrollment over Secure Transport (EST) uses the simple Certificate Request Message as specified in RFC 7030. 
					Requirements associated with mutual authenticated TLS as a server are included in the base PP.
				</note>
			</f-element>
			<f-element id="fia-ests-ext-1e3">
				<title>The TSF shall <selectables>
					<selectable>invoke platform-provided functionality</selectable>
					<selectable>provide functionality</selectable>
				</selectables>
					to authenticate EST clients for initial enrollment and for supplemental authentication via <selectables linebreak="yes">
						<selectable>HTTP basic authentication in accordance with RFC 7030 section 3.2.3</selectable>
						<selectable>HTTP digest authentication using a cryptographic hash algorithm in accordance with RFC 7030 section 
							3.2.3</selectable>
						<selectable>TLS certificate-based mutual authentication using a client certificate associated with an authorized 
							RA in accordance with RFC 7030 section 3.3.2</selectable>
					</selectables>.				
				</title>
				<note role="Application">
					HTTP authentication methods are claimed if the method is supported for initial enrollment, when the client does not 
					possess an existing certificate for authentication, or if HTTP authentication are supported as a supplemental 
					authentication method. If HTTP digest authentication is claimed, the associated hash function is required to be 
					claimed in the base cryptographic support functions. Either of the HTTP authentication methods are included in an 
					HTTPS secure connection with an EST client. Requirements associated with server-authenticated HTTPS are included in 
					the base PP. If RA functionality is supported, as indicated in <xref to="fia-ests-ext-1e1"/> the ‘TLS 
					certificate-based…’ method is claimed for authorized RA entity identified in <xref to="fia-ests-ext-1e1"/>. 
					If claimed, requirements associated with mutually authenticated TLS as a server are included in the base.
				</note>
			</f-element>
			<f-element id="fia-ests-ext-1e4">
				<title>The TSF shall authorize EST clients based on <selectables>
					<selectable>the authenticated client certificate is issued by the EST CA and asserts id-kp-cmcRA in its extended key 
						usage extension as specified by RFC 7030 Section 3.7</selectable>
					<selectable> <assignable>policy used by the TOE to determine client authorization in accordance with RFC 7030 section 3.7</assignable></selectable>
				</selectables>						
				</title>
				<note role="Application">
					The ST author specifies claims supported client authorization methods. The first option is claimed when RA 
					functionality is assigned to authorized entities in accordance with <xref to="fia-ests-ext-1e1"/>. If HTTP 
					authentication methods are claimed in <xref to="fia-ests-ext-1e3"/>, the ST author claims the second option and 
					describes how the TOE determines a client is authorized.
				</note>
				<aactivity>
					<TSS>
						<h:p>The evaluator shall examine the TSS to ensure it describes the implementation of this protocol. If the 
						description indicates the use of an RA for initial issuance or authorization of certificates, the evaluator shall 
						examine the TSS to ensure that this role is supported and associated with the specified entities.</h:p>
					</TSS>
					<Guidance>
						<h:p>The evaluator shall examine the operational guidance to ensure it contains instructions on configuring the TOE 
						so that EST conforms to the description in the TSS.</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform the following tests.
						<testlist>
							<test>
							<h:p>The evaluator shall use an EST client to request certificate enrollment of an authorized subject to obtain a 
							new certificate from the TOE using the simple enrollment method described in RFC 7030 Section 4.2, 
							authenticating the request using an existing certificate and corresponding private key as described by RFC 
							7030 Section 3.3.2.</h:p>
							
							<h:p>The evaluator shall confirm that the TOE issues a certificate and returns it to the client.</h:p>
							</test>
							<test>
							<h:p>[conditional]:If HTTP basic authentication or if HTTP digest authentication is selected in FIA_ESTS_EXT.1.3, 
							the evaluator shall use an EST client to request an initial certificate for an authorized entity from the TOE 
							using the simple enrollment method described in RFC 7030 Section 4.2, authenticating the request using a 
							username and password established for the entity in each of the claimed methods, as described by RFC 7030 
							Section 3.2.3.</h:p>
							
							<h:p>The evaluator shall confirm that the TOE issues a certificate and returns it to the client.</h:p>
							</test>
							<test>
							<h:p>[conditional]: If “the authenticated client certificate is issued by the EST CA and asserts id-kp-cmcRA in 
							its extended key usage extension…” is selected in FIA_ESTS_EXT.1.4, the evaluator shall use an EST client to 
							request certificate enrollment of a subject not known to the TOE to be authorized, to request an initial 
							certificate from the TOE using the simple enrollment method described in RFC 7030 Section 4.2, authenticating 
							the request using an RA’s certificate issued by the TOE’s embedded CA, that asserts id-kp-cmcRA in its 
							extended key usage extension. The evaluator shall confirm that the TOE issues a certificate and returns it 
							to the client.</h:p>
							</test>
						<test>
							<h:p>[conditional]: If “the authenticated client certificate is issued by the EST CA and asserts id-kp-cmcRA in its 
							extended key usage extension…” is selected in FIA_ESTS_EXT.1.4, the evaluator shall use an EST client to 
							request certificate enrollment of a subject not known to the TOE to be authorized, to request an initial 
							certificate from the TOE using the simple enrollment method described in RFC 7030 Section 4.2, authenticating 
							the request using a certificate issued by the TOE’s Certification Authority functionality that does not 
							assert id-kp-cmcRA in its extended key usage extension and which is not associated with RA privileges. 
							The evaluator shall confirm that the TOE does not issue a certificate.</h:p>
						</test>
						<test>
							<h:p>The evaluator shall modify the EST client or set up a man-in-the-middle tool between the EST client and TOE 
							to perform the following modification to a valid certificate request. 
							<h:ul>
								<h:li>
									Modify at least one byte in the certificationRequestInfo field of the certificate request message and 
									verify that the TOE rejects the request.								
								</h:li>
							</h:ul></h:p>
						</test>							
						</testlist>
					</Tests>
				</aactivity>
			</f-element>
			
			<audit-event>
				<audit-event-descr>EST messages received containing certificate or revocation requests</audit-event-descr>
				<audit-event-info>Identifiers for all entities authenticating the request, including the entity providing client 
					authentication for the EST transport (if any)</audit-event-info>
				<audit-event-info>The received request</audit-event-info>		
			</audit-event>
			<audit-event>
				<audit-event-descr>EST responses issued</audit-event-descr>
				<audit-event-info>Any signed response</audit-event-info>				
			</audit-event>
			
		</f-component>
		
		<ext-comp-def fam-id="FIA_TSM_EXT" title="Trust Store Management">
			<fam-behavior>Components in this family define requirements for the TOE on how to manage trust stores.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Trust Store Management" cc-id="fia_tsm_ext.1" id="fia-tsm-ext-1" status="sel-based">
			<depends on="toe-manages-trust-stores"/>
			<comp-lev> defines the ability of the TSF to manage trust stores using a specified option to validate certificates.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Any addition, replacement, or removal of trust anchors in the TOE's trust store</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FMT_SMF.1</no-link> Specification of Management Functions<h:br/>
				<no-link>FMT_SMR.1</no-link> Security Roles
			</dependencies>
			<f-element id="fia-tsm-ext-1e1">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>implement functionality</selectable></selectables>
					to manage <assignable>designated trust store or individual trust store elements</assignable> by
					 <selectables linebreak="yes">
						<selectable>Using an update function</selectable>
						<selectable>Use of <assignable>inputs provided by the supported function</assignable></selectable>
						<selectable>Allowing the administrator to manage the trusted <selectables><selectable>self-signed root CA 
							certificate</selectable><selectable>local OCSP certificate</selectable><selectable>'no-check' OCSP certificate</selectable><selectable>public key</selectable>
						</selectables> 
						of a trust store’s elements</selectable>
						<selectable>Allowing the administrator to manage context rules of a trust store</selectable>
						<selectable>Using methods in accordance with RFC 5934</selectable>
					</selectables>
					and 
					 <selectables linebreak="yes">
						<selectable>Validating the certification path of any certificate that is neither a self-signed root CA
							certificate nor an OCSP certificate, <selectables><selectable>when installed 
								by an administrator as a trust store element</selectable><selectable>on use</selectable></selectables> and
							 <selectables><selectable>on demand</selectable><selectable>during <assignable>defined events</assignable></selectable>
							 	<selectable>periodically every <assignable>time</assignable></selectable><selectable>no other time
							</selectable></selectables></selectable>
						<selectable>Prohibit inclusion of certificates that are neither a self-signed root CA nor an OCSP certificate as trust store elements.</selectable>
					</selectables>
				</title>
				<note role="application">
					<h:p>
						This element focuses on the management of trust stores used for certificate path processing. Trust stores consist 
						of the context rules and one or more self-signed root CA certificates containing a trusted public key or ‘raw’ 
						trusted public keys. Trust store elements are single trusted public keys using the context of the trust store for 
						certificate path validation. OCSP certificates trusted by the TOE may also be considered trust store elements, 
						and must be included in a trust store when revocation information is not provided directly by the issuing CA. Revocation 
						status of local (associated with a locally configured OCSP responder) or ‘no-check’ (contains the extension id-pkix-ocsp-nocheck) OCSP certificates are not verified in accordance with the options in RFC 6960 section 4.2.2.2.1. 
					</h:p>
					<h:p>
						The ST author designates which trust stores or trust store elements are managed in the assignment (a subset of those indicated in FIA_X509_EXT.1.6) and specifies one or more options for 
						the management of trust stores used for validating certificates in the second selection.
					</h:p>
					<h:ul>
						<h:li>
							The ‘Using an update function’ option is claimed if the TOE includes trust store updates as part of the TOE's
							update function.
						</h:li>
						<h:li>
							The ‘Use of inputs provided by the supported function’ option is claimed if reference identifiers or other specific 
							context information provided by the function initialize certificate path processing rules.
						</h:li>
						<h:li>
							The ‘Allowing the administrator to manage the trusted…’ option is claimed if the TOE supports administrator 
							management of the public key associated to a trust store. The ST author specifies which trusted public keys 
							are loaded. Local or 'no-check' OCSP certificates are claimed if OCSP certificates are loaded.
						</h:li>
						<h:li>
							The ‘Allowing the administrator to manage context rules of a trust store‘ option is claimed if the TOE supports 
							administrator management of the context rules associated with a trust store. 
						</h:li>
						<h:li>
							The ‘Methods in accordance with RFC 5934’ option is claimed if the Trust Anchor Management Protocol is supported.
						</h:li>						
					</h:ul>
					<h:p>
						The ST author indicates support for validating intermediate CA, OCSP certificates with revocation information provided 
						by the issuing CA, or leaf certificates as trust store elements in the second selection and specifies when full 
						validation of the certificate path for these certificates is performed. 
					</h:p>
					<h:p>
						The first option ‘Validating…’ is claimed if trust stores may include certificates other than root and OCSP (local or ‘no-check') certificates. For example, such trust store elements may include intermediate certificates to enhance performance or to refine the context for certification paths including these CA certificates. It is also common to designate leaf certificates associated with privileged users as trust store elements. If this option is claimed, the ST author also indicates when the revocation checks are performed. The first option ‘when installed…’ is claimed if either of the ‘Allowing the administrator to manage…’ selections are claimed. The ‘on-use’ option is claimed if such certificates are included in a trust store via other options (if ‘Using an update function’ or ‘Using … RFC 5934’ is claimed). The ‘on use’ option may also be claimed for installed certificates. In addition, the ST author indicates other times (if any) that the revocation status of such certificates is checked.
					</h:p><h:p>
						The second option, ‘Prohibit…’ is claimed otherwise – that is, if the managed trust stores do not contain certificates whose revocation status can change after the trust store is initialized.
					</h:p>
				</note>
				<aactivity>
					<TSS>
						<h:p>
						The evaluator shall review the TSS and verify that the description of each trust store includes a description of the
						management methods that meet the requirements, to include management methods of both pre-loaded and installed trust
						store elements if the methods differ. The evaluator shall also ensure the ST states the method used to invalidate a
						trust store element.
						</h:p>
						<h:p>
						[conditional]: If the TSF supports inclusion of certificates that are neither self-signed root CA certificates nor
						OCSP certificates without revocation status, the evaluator shall review the TSS and verify that the description
						indicates when such certificates are checked for revocation status and that the description meets the requirements.
						</h:p>						
					</TSS>
					<Guidance>
						<h:p>
						The evaluator shall review the operational guidance to verify that instructions for all configurable features, if
						any, of the TSF are included.
						</h:p>
						<h:p>
						The evaluator shall examine the operational guidance to verify it contains instructions on how to use each supported method to
						invalidate a trust store element.
						</h:p>
						<h:p>
						[conditional] If administrative management of trust stores (public keys or context) is supported, the evaluator
						shall review the operational guidance and verify that instructions for managing all trust store elements in all
						administrator-managed trust stores is included. 
						</h:p>
					</Guidance>
					<Tests>
						The evaluator shall perform one or more of the following tests:
						<testlist>
							<test>
							<h:p>
								For each supported method for managing a trust store element, the evaluator shall exercise the method 
								to invalidate a trust store element and demonstrate that a certification path terminating in the 
								invalidated element results in the function failing.
							</h:p>
							<h:p>
								Note: This repeats part of <xref to="invalid-cert-test"/>. It is not necessary to repeat the method used to 
								invalidate the trust anchor element that was previously tested.
							</h:p>
							</test>
							<test>
							<h:p>
								[conditional]: If the TSF supports installation of certificates that are neither self-signed root CA 
								certificates nor OCSP certificates without revocation status, the evaluator shall demonstrate that the 
								TSF prevents the installation of each such supported certificate type if the certificate is revoked prior 
								to installation.
							</h:p>
							<h:p>								
								Note: Such certificate types can include leaf certificates associated with context specific to the leaf, 
								or intermediate CA certificates. Checking during installation is not claimed for certificates in which the
								required connection is not available during loading, or if other exemptions for revocation checking apply;
								such certificates are checked on use.
							</h:p>								
							</test>
							<test>
								[conditional]: If the TSF supports the inclusion of certificates that are neither self-signed root CA certificates nor OCSP certificates without revocation status and claims revocation status checks other than “when installed…” the evaluator shall demonstrate for each such certificate type, and for each event that checks revocation status, that a certificate of the indicated type that is revoked prior to the indicated event is not considered valid.
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>			
			
			<audit-event>
				<audit-event-descr>Any addition, replacement, or removal of trust anchors in the TOE's trust store</audit-event-descr>
				<audit-event-info>Identification of trust store element and modification made (add, remove, change)</audit-event-info>		
			</audit-event>
			
		</f-component>


		<ext-comp-def fam-id="FIA_X509_EXT" title="X.509 Certificate Handling">
			<fam-behavior>Components in this family define the behavior and use of X.509 certificates for functions to be performed by the
				TSF. Components in this family require validation of certificates according to a specified set of rules, use of certificates
				for authentication for protocols and integrity verification, generation of certificate requests, certificate enrollment, and
				revocation checking behavior.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="X.509 Certificate Validation" cc-id="fia_x509_ext.1" id="fia-x509-ext-1" status="sel-based">
			<depends on="toe-verifies-certs"/>
			<comp-lev> requires the TSF to check and validate certificates in accordance with the RFCs and rules specified in the component.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Unsuccessful attempt to validate a certificate</h:li>
				</h:ul>
			</audit>
			<dependencies>
				FCS_COP.1 Cryptographic Operation<h:br/>
				FIA_XCU_EXT.1 X.509 Certificate Utilization
			</dependencies>
			<f-element id="fia-x509-ext-1e1">
				<title>
					The TSF shall  <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>implement functionality</selectable></selectables>
					to validate certificates in accordance with the following rules:
					<h:ul> 
						<h:li>Certification path validation meets requirements of RFC 5280 for certificate paths of <selectables>
							<selectable>unlimited path length</selectable>
							<selectable>maximum path length of <assignable>number greater than or equal to 0</assignable> certificates</selectable>
						</selectables> and certificate paths exceeding the maximum path length are invalid.</h:li>
						<h:li>The current time is within the notBefore and notAfter values of all certificates in the certification path.</h:li>
						<h:li>The certification path shall terminate at a trust anchor element appropriate for the supported function.</h:li>
						<h:li>Certificates containing subjectUniqueID or issuerUniqueID fields are considered invalid.</h:li>
						<h:li>Certificates are signed using cryptographic signatures and hashes in accordance with RFC 8603, and <selectables linebreak="yes">
							<selectable><assignable>list of supported cryptographic algorithms</assignable></selectable>
							<selectable>no other algorithms</selectable>
							</selectables>
							and certificates signed using other cryptographic algorithms are considered invalid.</h:li>
						<h:li> 
							<selectables>
								<selectable>CRLs are signed using cryptographic signatures and hashes in accordance with RFC 8603 and <selectables linebreak="yes">
									<selectable><assignable>list of supported cryptographic algorithms</assignable></selectable>
									<selectable>no other algorithms</selectable></selectables>
									and CRLs signed using other cryptographic algorithms are considered invalid;</selectable>
								<selectable>
									OCSP responses are signed using 
									<selectables linebreak="yes">
												<selectable>sha384WithRSAEncryption with key size of 3072 bits or greater,</selectable>
												<selectable>ecdsa-with-SHA384 using 
													<selectables><selectable>secp384r1</selectable><selectable>secp521r1</selectable></selectables>,</selectable>
												<selectable>ecdsa-with-SHA512 using 
                                                     <selectables><selectable>secp384r1</selectable><selectable>secp521r1</selectable></selectables>,
												</selectable></selectables> and <selectables linebreak="yes">
													<selectable><assignable>list of other supported algorithms</assignable></selectable>
													<selectable>no other algorithms</selectable>
												</selectables>
									requested using the preferredSignatureAlgorithm extension
							and OCSP responses are considered invalid if using other algorithms;</selectable>
							<selectable>no other algorithm constraints</selectable>
							</selectables></h:li>
					</h:ul>		
				</title>
					<note role="application">
					<h:p>
						ST authors may claim the assignment of a positive integer indicating a limited capability of the TSF to handle
						long certificate paths in the certification path validation selection; to indicate certificate paths exceeding its 
						capabilities are considered invalid. The option “unlimited path length” is claimed if there are no such 
						limitations. 
					</h:p><h:p>
						Trust anchors can be root CA certificates or public keys, together with context rules determining the appropriate 
						use of a certificate path beyond those required in RFC 5280. Context rules may include initial name constraints, 
						policy constraints, required certificate key usage and extended key usage values, and lists of applications 
						associated with the trust anchor, among other rules that restrict the use of certificate paths terminating at the 
						root CA certificate or public key. A specific formatting of trust anchors is not required, but see RFC 5914 for 
						further discussion.
					</h:p><h:p>
						This SFR element refines RFC 5280. All requirements indicated with a “MUST” in RFC 5280 are implied. In addition, this element requires support for the authorityKeyIdentifier, subjectKeyIdentifier, and keyUsage extensions even though RFC 5280 describes them as optional. The selections in this SFR may imply that additional optional requirements from RFC 5280 are required. For example, basicConstraints, including both the CA and CA values, is required when the TSF supports path lengths greater than 2; cRLDistributionPoints is required if CRLs are supported; and AIA is required if OCSP is supported. Other selections may imply additional extensions must be processed. A restriction on uniqueSubjectID and uniqueIssuerID also refines RFC 5280, which only requires the extensions be 
						ignored.
					</h:p><h:p>
						For the selection on certificate signing rules, the ST author claims one of the certificate signature algorithm 
						limitations. The second option is claimed if any of the signature and hash algorithms described in the FCS_COP 
						family of SFRs from the base PP are supported. For these signature limitations, use of P-521 or SHA-512 is indicated by including the supported algorithms in the assignment, even though its use is not explicitly indicated in RFC 8603.
					</h:p><h:p>
						ST authors similarly claim signature algorithm limitations in the final selection for each supported revocation 
						status (CRL or OCSP) method claimed in FIA_X509_EXT.1.3. If CRL or OCSP methods are not claimed in 
						FIA_X509_EXT.1.3, ‘no other signature algorithm constraints’ is claimed. 
					</h:p>
					</note>
			</f-element>
				<f-element id="fia-x509-ext-1e2">
					<title>
						The TSF shall  <selectables>
							<selectable>invoke platform-provided functionality</selectable>
							<selectable>implement</selectable></selectables> processing of the extensions indicated in RFC 5280, section 4.2,
						<h:ul> 
							<h:li>Authority Key Identifier,</h:li>
							<h:li>Subject Key Identifier</h:li>
							<h:li>keyUsage</h:li>
							and <selectables linebreak="yes">
								<selectable>basicConstraints</selectable>
								<selectable>authorityInfoAccess</selectable>
								<selectable>cRLDistributionPoints</selectable>
								<selectable>certificatePolicies</selectable>
								<selectable>policyMapping</selectable>
								<selectable>Subject alternate name containing any of the following name types <selectables linebreak="yes">
									<selectable>rfc822Name</selectable>
									<selectable>dNSName</selectable>
									<selectable>directoryName</selectable>
									<selectable>uniformResourceIdentifier</selectable>
									<selectable>IPAddress</selectable>
									<selectable> <assignable>other name types</assignable></selectable>
								</selectables></selectable>
								<selectable>extendedKeyUsage</selectable>
								<selectable>nameConstraints</selectable>
								<selectable> <assignable>other extensions</assignable></selectable>
								<selectable>no other extensions</selectable></selectables>.
						</h:ul>		
					</title>
					<note role="application">
						This SFR refines RFC 5280 to require applications to process the authorityKeyIdentifier and subjectKeyIdentifier 
						fields and use them to support certificate chaining within the certificate path. The ST author claims all supported 
						certificate extensions. If other extensions are supported, the ST author describes the extension, values, and any 
						processing to determine whether paths with certificates asserting those extensions are valid. If a certificate has an 
						empty subject name, the subject alternate name will be present and marked critical. If the TSF supports certificates 
						with empty subject fields, the subjectAltName extension and a non-empty list of supported name types is claimed. The 
						extendedKeyUsage is expected for many functions. It is claimed if required by the supported functions. In accordance 
						with RFC 5280, any certificate containing non-supported extensions marked as critical are considered invalid, but 
						otherwise non-supported extensions that are not marked as critical are ignored. 
					</note>
				</f-element>
			<f-element id="fia-x509-ext-1e3">
				<title>
					The TSF shall  <selectables>
						<selectable id="sel-fia-x509-1e3-platfunc">invoke platform-provided functionality</selectable>
						<selectable id="sel-fia-x509-1e3-implfunc">implement functionality</selectable></selectables>
					to validate revocation status of the certificate using <selectables linebreak="yes">
							<selectable id="sel-fia-x509-1e3-ocsp">The Online Certificate Status Protocol (OCSP) as specified in RFC 6960</selectable>
							<selectable id="sel-fia-x509-1e3-crl8603">Certificate Revocation Lists (CRL) as specified in RFC 5280 and refined by RFC 8603</selectable>
							<selectable id="sel-fia-x509-1e3-cr5280">Certificate Revocation Lists as specified in RFC 5280</selectable>
							<selectable id="sel-fia-x509-1e3-valperiod">Based on validity period: Certificates expiring within <assignable>time less than 24 hours</assignable> of the current 
								time are considered valid when no other valid revocation status information is available</selectable>
							<selectable id="sel-fia-x509-1e3-adminnotity">Administrative notification of revocation: <assignable>administrative action upon notification</assignable> using <assignable>
								method to invalidate use of certificates in supported functions</assignable> when the certificate is revoked.</selectable>
							<selectable id="sel-fia-x509-1e3-directassoc">Direct association with Certification Authority: <assignable>direct revocation status information 
								implementations</assignable></selectable>
						</selectables>.
				</title>
					<note role="application">
						<h:p>
						The ST author claims the type of revocation status information supported. It is preferred that OCSP and CRL are 
						supported when certificate validation supports multiple functions as indicated in FIA_X509_EXT.2. However, 
						some functions require alternative approaches to revocation status validation and CAs supporting these functions may not provide OCSP or CRL sources. Certificates supporting these functions use alternative revocation status validation methods.
						</h:p><h:p>
						The option ‘Based on validity period…’ is claimed if certificates supporting a function are only valid for 
						less than 24 hours and issued under a certificate policy that allows 24 hours or longer to process revocation 
						requests. The time allowance in this option is specified in the assignment; if this is configurable, the 
						assignment indicates so and specifies the limits of the assignment. 
						</h:p><h:p>
						The option ‘Administrative notification…’ is claimed if the certificates are used by a function for which 
						out-of-band notification of compromise is practiced and is expected to be claimed when certificates that do not 
						include revocation status information sources are processed. Typically used for OCSP certificates without 
						revocation status source information, certificates which validate software or firmware components or maintain 
						data integrity when the TOE is in a state prohibiting revocation status retrieval or processing. This option 
						assumes public notification or direct notification to administrators by the issuer of the certificate, or for 
						embedded certification authority functionality under the control of the administrator. The assignments in this 
						option are used to describe required administrative actions and methods used to invalidate the function using 
						such certificates. 
						</h:p><h:p>
						The option ‘Direct association with Certification Authority…’ is claimed if the certificates are used for 
						TOE-specific functions and where TOE has direct and reliable communication path with the issuing CA. The CA in this 
						case could be an embedded CA, or a CA dedicated to the TSF. If claimed, the ST author identifies the issuing CA and 
						the method of automated notification in the assignment.   
						</h:p><h:p>
						Certificates that do not have revocation status location indicated in either the CRL DP or AIA are not expected to use CRL or OCSP for revocation status validation. In this case, one of the last three selections is claimed and the basis for invalidating certificates is explained 
						in the assignment. In many of these cases, revocation status for the issuing CA certificates is depended on to indicate the status of leaf certificates, so it is preferred that CRL or OCSP is claimed even if leaf certificates exclusively use alternative methods. It is acceptable to include such intermediate certificates in trust stores to avoid the requirement to check revocation status when connections to obtain certificate status information are not available.
						</h:p>
					</note>	
			</f-element>
			<f-element id="fia-x509-ext-1e4">
				<title>
					The TSF shall  <selectables>
						<selectable id="sel-fia-x509-1e4-notobtain">not obtain revocation status information by the TSF due to <selectables>
							<selectable>determining that the certificate expires within <assignable>time less than 24 hours</assignable></selectable>
							<selectable>determining that the <assignable>supported function</assignable> validates revocation status using <assignable>methods supported by the function</assignable></selectable>
						</selectables> 
						
						</selectable>
						
						<selectable id="sel-fia-x509-1e4-platfunc">invoke platform-provided functionality</selectable>
						<selectable id="sel-fia-x509-1e4-implfunc">implement functionality</selectable></selectables> to obtain supported revocation status information
							via <selectables linebreak="yes">
								<selectable>Network connection to <selectables><selectable>CA</selectable><selectable>CRL distribution 
									point</selectable><selectable>OCSP responder</selectable><selectable id="sel-fia-x509-1e4-altsrc"> <assignable>alternate sources
									</assignable></selectable></selectables></selectable>
								<selectable id="sel-fia-x509-1e4-localrevinfo">Local revocation status information from <selectables><selectable>cached CRL</selectable>
									<selectable id="toe-uses-embedded-ca">embedded CA repository</selectable><selectable>local OCSP responder</selectable>
									<selectable>administrator configuration</selectable></selectables></selectable>
								<selectable>An OCSP TLS Status Request Extension (OCSP stapling) as specified in RFC 6066,</selectable>
								<selectable>An OCSP TLS Multiple Certificate Status Request Extension (OCSP multi-stapling) as specified
								in RFC 6961</selectable></selectables>
				</title>
					<note role="application">
					<h:p>
						The ST author claims the supported options the TSF uses to ensure that supported functions obtain revocation status information. These options must be consistent with the rules for revocation status checking claimed in FIA_X509_EXT.1.1. It is preferred, but not 
						required, that multiple methods are claimed to ensure valid revocation is available when a supported function 
						requires it. If the option to not obtain revocation status information due to the TSF determining that supported functions perform revocation checking is claimed, the ST author specifies the specific functions from FIA_X509_EXT.2 that perform revocation status checking and the methods used by the function, including the relevant SFR references). It is required that at least one option is supported for each supported function indicated in 
						FIA_X509_EXT.2. 
					</h:p>
						<h:p>
						'Network connection...' is claimed if the TOE supports retrieving revocation status information from external sources, 
						to include direct information from a CA, even when the information might not be in the form of a CRL or OCSP. The selection indicates the types of 
						sources for which external revocation status is supported. This method must be claimed if certificates are obtained
						from external CAs.
					</h:p><h:p>
						'Local revocation status information...' is only claimed if the TOE maintains revocation status information available to
						all supported functions using the certificates. The type of status information maintained locally is claimed in the
						selection for this option. If ‘embedded CA repository’ is claimed, FDP_CER_EXT.1/OLTleaf and FDP_CSIR_EXT.1 are also
						claimed. When a default status value is configured for when all other sources are not available, the ST author
						claims local revocation status information and administrator configuration.
					</h:p><h:p>
						OCSP stapling or OCSP multi-stapling are claimed for TLS server certificates supporting the appropriate extensions 
						when OCSP is supported, as described in the referenced RFC and may be claimed if FIA_X509_EXT.2 indicates support 
						TLS or DTLS.
					</h:p>
					</note>	
			</f-element>
			<f-element id="fia-x509-ext-1e5">
				<title>The TSF shall  <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>implement functionality</selectable>
						<selectable>pass context information to the supported function</selectable></selectables> to validate that the 
							context of the certificate path and trust store element is consistent with the supported function use via
							 <selectables linebreak="yes">
							 	<selectable>processing 
							 		<selectables linebreak="yes">
							 		<selectable><assignable>trust store context rules</assignable></selectable>
							 		<selectable>extendedKeyUsage field constraints in the leaf certificate including: <selectables>
							 			<selectable> <assignable>trust store context rules</assignable>,</selectable>
							 		<selectable>extendedKeyUsage (EKU) field constraints in the leaf certificate including: <selectables linebreak="yes">
							 			<selectable>Certificates used for trusted updates and executable code integrity verification shall 
							 				have the Code Signing Purpose (id-kp 3 with OID 1.3.6.1.5.5.7.3.3),</selectable>
							 			<selectable>Client certificates presented for TLS shall have the Client Authentication purpose (id-kp
							 				2 with OID 1.3.6.1.5.5.7.3.2),</selectable>
							 			<selectable>Server certificates presented for TLS shall have the Server Authentication purpose (id-kp 
							 				1 with OID 1.3.6.1.5.5.7.3.1),</selectable>
							 			<selectable>Delegated OCSP signer’s certificates presented for OCSP responses shall have the OCSP 
							 				Signing purpose (id-kp 9 with OID 1.3.6.1.5.5.7.3.9),</selectable>
							 			<selectable>Server certificates presented for EST shall have the CMC Registration Authority (RA) 
							 				purpose (id-kp-cmcRA with OID 1.3.6.1.5.5.7.3.28),</selectable>
							 			<selectable>Certificates representing a Registration Authority have the CMC Registration Authority 
							 				Purpose (id-kp-cmcRA with OID 1.3.6.1.5.5.7.3.28),</selectable>
							 			<selectable>Certificates representing a Registration Authority have the v3 CMP Registration Authority Purpose (id-kp-cmcRA with OID 1.3.6.1.5.5.7.3.28)</selectable>
							 			<selectable>SMIME certificates presented to protect email have the email protection purpose 
							 				(id-kp-emailProtection with OID 1.3.6.1.5.5.7.3.4),</selectable>
							 			<selectable>IPsec and IKE certificates used in conjunction with other functions requiring an 
							 				explicit EKU also have the IPsec-IKE purpose (id-kp-ipsecIKE with OID 1.3.6.1.5.5.7.3.17) in 
							 				accordance with RFC 4945, section 5.1.3.12,</selectable>
							 			<selectable><assignable>other EKU values required by supported functions</assignable></selectable></selectables></selectable>
							 		</selectables> and rejects the certificate if the context requirements are not met,</selectable>
							 		</selectables> </selectable>

								<selectable>passing <selectables><selectable>certification path</selectable><selectable><assignable>context from 
										certification path processing</assignable> passed to the supported function</selectable>
								</selectables></selectable></selectables>.									
				</title>
				<note role="application">
				<h:p>
					The ST author claims whether the TSF processes trust store rules or passes context to the supported function. If the TSF processes trust store context rules, the ST author describes the application context for each supported trust store, if any. Such rules include the interpretation of extensions in a root CA certificate used as a trust store element, the interpretation of required extensions in intermediate CA certificates, and required extensions in the leaf certificate, with interpretations (referenced RFC and/or refined use) on how such extensions and their values limit the applicability of a certification path, any initial name constraints (including reference IDs processed as part of path validation), expected certificate policies, etc. 
				</h:p><h:p>
					The ST author claims "extendedKeyUsage field..." if context depends on the value of the EKU in leaf certificates. This selection is required if the TSF supports the listed functions (Code integrity, OCSP, TLS, DTLS, SMIME), as claimed in 
					FIA_X509_EXT.2.1 or as required in other SFRs in this package. For example, RA purpose is required if FDP_CER_EXT.1/OLTleaf is claimed and a supported certificate request protocol (EST, CMC, or v3 CMP) uses the RA EKU purpose to determine RA privileges associated with a supported function. It is preferred, but not required that each function using certificates indicated in 
					FIA_X509_EXT.2.1 include context information that distinguishes certificates intended for use by the function. While RFC 5280 generally allows the use of ‘anyPurpose’ it indicates that 
					applications may require explicit values. This element clarifies the requirement that certificates without an EKU field or with the ‘anyPurpose’ OID in lieu of 
					the required explicit value are considered invalid if used for applications for which an explicit EKU value is 
					required.
				</h:p><h:p>
					The ST author claims ‘pass context information to the supported function’ and the final option in the last selection 
					to describe certification path context information passed to the supported function. Context information can be the 
					entire certification path used, or specific context (name constraints, policy constraints etc.) made available to the 
					function for its own suitability decision. Any context information derived from certification path processing by the TSF that is passed to the supported function, to include the certification path processing and the resulting context, is described in the assignment. The option to pass information is not to be claimed in lieu of processing the required extendedKeyUsage fields for supported functions unless the ST of the function supported includes the required context processing.
				</h:p>
				</note>	
			</f-element>
			<f-element id="fia-x509-ext-1e6">
				<title>The TSF shall  <selectables>
						<selectable id="toe-manages-trust-stores">manage trust stores</selectable>
						<selectable>use platform-managed trust stores</selectable></selectables>
					used for certification path validation.
				</title>
				<note role="application">
					The ST author claims ‘manage trust stores’ if the TSF provides a management capability for trust stores that 
					terminate the certification paths used by TOE functions, regardless of whether or not the TSF uses platform 
					functionality to perform the management. FIA_TSM_EXT.1 is included in this case. If all management of trust stores 
					is performed by the platform, the ST author claims ‘use platform-managed trust stores.’ 
				</note>	
			<aactivity>
					<TSS>
						<h:p>
						The evaluator shall review the TSS and verify that the description of certificate path validation and context verification meets the 
						requirements.
						</h:p><h:p>
							The evaluator shall review the TSS and verify that all trust stores used for certification path verification are described, to include context associated with the trust store, and any pre-loaded trust store elements, and that the management capabilities associated with each trust store is described.  
						</h:p>
					</TSS>
					<Guidance>
						The evaluator shall ensure that instructions for any configurable features of the validation process are 
						included. If the ST includes provisions for exception processing of certificate revocation status 
						information, the evaluator shall ensure the operational guidance contains instructions on how the indicated 
						options are configured. If the TOE supports any extension that requires configuration to validate, the 
						evaluator shall verify that the operational guidance includes instructions for configuring the processing of 
						that extension.						
					</Guidance>
					<Tests>
						The evaluator shall perform the following tests. The tests for the extendedKeyUsage rules, name constraints 
						and policy constraints, if supported, are performed in conjunction with the uses that require those rules.
						<testlist>
							<test id="invalid-cert-test">					
							The evaluator shall demonstrate that validating a certificate without a valid certification path results
							in the function failing by performing the following:
							<h:ul>
								<h:li>[conditional] If the TSF imposes limits on certification path lengths, the evaluator shall demonstrate that the TSF rejects valid certificates whose certification path exceeds the supported length.</h:li>
								<h:li>[conditional] If the TSF supports a path length greater than one when the trust store element is a root CA certificate, or greater than two when the trust store element is a raw public key, then the evaluator shall  perform the following:
							<h:ul>
								<h:li>
									The evaluator shall establish a certification path in which one of the issuing certificates is not a CA certificate by
									omitting the basicConstraints field in one of the issuing certificates and demonstrate that the TSF rejects the certificate.
								</h:li>
								<h:li>
									The evaluator shall set the basicConstraints field in an issuing certificate to have CA=False and demonstrate that the TSF rejects the certificate.
								</h:li>
								<h:li>
									The evaluator shall omit the CA signing bit of the key usage field in an issuing certificate and demonstrate that the TSF rejects the certificate.
								</h:li>
								<h:li>
									The evaluator shall set the path length field of a valid CA field to a value strictly less than the certification path and demonstrate that the TSF rejects the certificate.
								</h:li>
								<h:li>
									The evaluator shall establish a valid certification path consisting of a leaf certificate and one or more valid CA certificates up to the limit of the certification path length supported (if finite), and terminating in a trust store element, and demonstrate that the TSF accepts the certification path as valid. The evaluator shall then modify a byte in the public key of an intermediate certificate in the certificate path that is not a trust store element and demonstrate that the TSF rejects the leaf certificate and its modified certification path.
								</h:li>
							</h:ul>
								</h:li>
								<h:li>The evaluator shall establish a certification path terminating at an untrusted public key, but which is otherwise valid, and demonstrate that the TSF rejects the certificate.</h:li>
							</h:ul>
						<h:p>
							The evaluator then reinstate trust in the trust store element, but modify a byte in the public key of an 
							intermediate certificate in the certificate path that is not a trust store element and show that the function 
							fails.
						</h:p>
							</test>
							<test>
								<h:p>[conditional]: If the TSF does not support unlimited path length, the evaluator shall demonstrate that 
								validating a valid certificate path of greater length than the TSF supports results in the function 
								failing.</h:p>
							</test>
							<test>							
								<h:p>The evaluator shall demonstrate that a valid certificate path using cryptographic algorithms not allowed 
								for certification path signature functions results in the function failing.</h:p>
								<h:p>
								Note: If the TSF supports signature and hash algorithms for TOE functions, but disallows their use 
									in certification path validation, the evaluator uses one of these signatures or hashes in the 
									construction of the valid certificate path (e.g., SHA-1 might be so restricted). If there are no 
									such signature or hash functions, the evaluator uses an unsupported signature or hash function (e.g., 
									DSA and MD-5 are not supported).
								</h:p>
							</test>
							<test>								
								<h:p>The evaluator shall demonstrate that validating a certificate after its validity period's "notAfter" time
								results in the function failing. The evaluator shall demonstrate that validating a certificate prior to its
								validity period's "notBefore" time results in the function failing.</h:p>								
							</test>
							<test>								
								<h:p>[conditional]: If the TSF supports certificate policies, the evaluator configures the TSF to 
								require a specific policy OID, and demonstrates that a valid certificate path asserting the policy 
								OID results in the function succeeding, and a valid certification path not asserting that policy (or 
								a policy that maps to it) results in the function failing.</h:p>
								<h:p><h:b>Note:</h:b> The policy OID used in the test need not be associated with specific practices of any CA - only the processing and matching of the OIDs is required.</h:p>
							</test>
							<test>
								<h:p>[conditional]: If the TSF supports certificate policies and policy mapping, the evaluator configures 
								the TSF to require a specific policy OID that is mapped to an expected policy. The evaluator 
								demonstrates that a valid certification path that asserts the policy OID and includes the mapping to 
								the expected policy results in the function succeeding, and that a certification path that asserts 
								the policy OID, but not the proper mapping results in the function failing.</h:p>
								<h:p><h:b>Note:</h:b> The policy OID used in the test need not be associated with specific practices of any CA - only the processing and matching of the OIDs is required.</h:p>
							</test>
							<test>
								<h:p>[conditional]: If the TSF supports other extensions, for each supported extension, the evaluator 
								establishes a certification path which asserts the extension and value expected by the function, and 
								demonstrates that the function succeeds. The evaluator then establishes, in turn as applicable, a 
								certification path without the extension, and a certification path with the extension but with an 
								invalid value, and demonstrates that the function requiring such extension and values fails.</h:p>
							</test>
							<test>								
								<h:p>The evaluator demonstrates that a certification path with a critical extension that is not supported 
								by the TSF results in the function failing.</h:p>	
								<h:p>Note: The extension used in this test need not be registered in IANA TLS Security extensions (Transport
									Layer Security (TLS) Extensions (iana.org))</h:p>
							</test>							
							<test>
								<h:p>The evaluator shall test that the TOE can properly handle supported methods for revoked certificates. 
								The evaluator demonstrates that when all supported methods indicate that each certificate in the 
								certification path is valid, the function succeeds. Then, for each supported method, the evaluator 
								demonstrates that when the method indicates a certificate in the certification path is revoked, the 
								function fails. The evaluator shall repeat this test on intermediate, non-trust store elements.</h:p>								
							</test>
							<test>								
								<h:p>[conditional]: If the TSF supports OCSP or CRL, the evaluator shall demonstrate that the TSF does not 
								consider invalid revocation information in determining the status of a certification path. The 
								evaluator shall test for invalid signature, and unauthorized signer of the status information for 
								each of the supported OCSP or CRL methods, where the invalid status information indicates valid and 
								other status information indicates invalid; and where the invalid status information indicates 
								invalid and other status information indicates valid. Other status information can be the most recent 
								cached information, or that from another supported method – when both OCSP and CRL are supported one 
								can provide invalid status information and the other provide valid status information.</h:p>								
								<h:p>Note: an invalid signature can be obtained by modifying a byte of a valid signature; unauthorized 
								signers use valid signatures by an entity not authorized (not delegated by the issuing CA, and if 
								local OCSP responders are supported, not locally trusted) to sign revocation status information.</h:p>
							</test>
							<test>
								<h:p>[conditional]: If the TSF supports validity status determination based on expiration within a short 
								time and at least one other method, the evaluator will demonstrate that expiration time is not 
								considered when another method is available and provides valid status information – the evaluator 
								demonstrates that certification path including a soon-to-expire certificate that has been revoked 
								results in the function failing.</h:p>
							</test>
							<test>								
								<h:p>[conditional]: If the TSF supports multiple revocation status information sources, then for each 
								supported source of revocation status information, the evaluator demonstrates certificate status 
								information resilience by making all but the one source of supported revocation status information 
								unavailable to the TSF. The evaluator demonstrates that the TSF is able to use the available status 
								information.</h:p>								
							</test>
							<test>
								<h:p>[conditional: If a function in 
									FIA_X509_EXT.2 requires TSF processing of context information for path validation] For each supported 
									function requiring TSF processing context information, and for each supported certificate context and 
									usage constraint claimed, the evaluator shall demonstrate that a certification path that does not meet 
									the context constraints required by the function causes the function to fail.</h:p>
													
									<h:p>Note: This test is not performed if ‘pass context information to the supported function’ is the only 
									method of certification path context processing claimed.</h:p>											
							</test>
							<test>
								The evaluator shall establish a certificate with an empty subject field and not containing a subjectAltName extension, but which is otherwise valid and trusted by the TSF. The evaluator shall demonstrate that the TSF rejects the certificate.
							</test>
							<test>
								[conditional]: If certificates with non-empty subject fields are validated and if either name constraints processing is supported or one or more reference ID checking rules are included in trust store context rules, then for each RDN supported, the evaluator shall configure the TOE to enforce a rule on the RDN value, establish a value for the RDN that matches the rule, and perform the following steps: <h:ul>
									<h:li>The evaluator shall present a valid certificate containing a valid DN with the matching RDN value to the supported function and verify that the certificate is accepted.</h:li>
									<h:li>The evaluator shall then present a second certificate where the RDN component does not match the rule, but which is otherwise valid and matches the first certificate. The evaluator shall observe that the certificate is rejected.</h:li>
									<h:li>The evaluator shall present a third certificate, where the DN includes the RDN with a non-matching value as in the second certificate, but which also includes a non-supported (or undefined) RDN term populated with the matching value for the original RDN, and which is otherwise valid and matches the first certificate and demonstrate that the modified certificate is rejected.</h:li>
									<h:li>The evaluator shall present a fourth certificate, where the DN does not include the RDN, but which includes an unsupported (or undefined) RDN with the matching value for the original RDN as in the third certificate, but which is otherwise valid and demonstrate that the modified certificate is rejected.</h:li>
									<h:li>The evaluator shall present a fifth certificate where the DN includes the RDN with a value containing the matching value as a substring of a longer, non-matching value, but which is otherwise valid and demonstrate that the modified certificate is rejected.</h:li>
									<h:li>The evaluator shall present a sixth certificate where the DN includes the RDN as a multi-element RDN, where both elements contain matching values, but which is otherwise valid and observe that the certificate is rejected.</h:li>
								</h:ul> 
							</test>
							<test>
								[conditional]: If the subject_Alt_Name extension is supported and if the TSF either supports name constraints or reference ID matching as part of trust store context rules, then for each name type supported, the evaluator shall configure the TSF to enforce a rule to constrain the values of the name type, and generate a matching value that meets the constraints, as well as a non-matching value that does not meet the constraints. The evaluator shall then perform the following: <h:ul>
									<h:li>The evaluator shall establish a valid certificate that includes the SAN name of the given type and matching value. The evaluator shall present the certificate to a supported function and demonstrate that the certificate is accepted.</h:li>
									<h:li>The evaluator shall establish a second certificate that includes the SAN name of the given type and non-matching value. The evaluator shall present the certificate to a supported function and demonstrate that the certificate is rejected.</h:li>
									<h:li>[conditional]: If the TSF also supports a CN in the subject field, the evaluator shall configure the TSF as necessary to prefer SAN entries over the CN and establish a valid certificate which contains both a subject field including the non-matching value as a CN entry, and the matching value as the SAN entry. The evaluator shall present the certificate to the supported function and demonstrate that the certificate is accepted. The evaluator shall then establish a certificate with the matching name in the CN, and the non-matching name in the SAN entry, but which is otherwise valid. The evaluator shall present the certificate to a supported function and demonstrate that the certificate is rejected.</h:li>
								</h:ul>
							</test>
						</testlist>
					</Tests>
				</aactivity>				
			</f-element>
						
			<audit-event>
				<audit-event-descr>Unsuccessful attempt to validate a certificate</audit-event-descr>
				<audit-event-info>Reason for failure of certificate validation</audit-event-info>
			</audit-event>
 <!-- 			
			<audit-event>
				<audit-event-descr>Unsuccessful attempt to validate a certificate.</audit-event-descr>
				<audit-event-info>Reason for failure.</audit-event-info>
			</audit-event>
			 -->
		</f-component>
				
		<f-component name="X.509 Certificate Support for Functions" cc-id="fia_x509_ext.2" status="sel-based">
			<depends on="toe-verifies-certs" also="toe-requests-certs"/>
			
			<comp-lev> requires the TSF to use certificates to authenticate peers in protocols that support certificates, as well as
				for integrity verification and potentially other functions that require certificates.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit/>
			<dependencies>
				FIA_X509_EXT.1 X.509 Certificate Validation<h:br/>
				FIA_XCU_EXT.1 X.509 Certificate Utilization	
			</dependencies>
			
			<f-element id="fia-x509-ext-2e1">
				<title>
					The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality to validate</selectable>
						<selectable>validate</selectable></selectables>
					X.509v3 certificates in accordance with <xref to="fia-x509-ext-1"/> to support <assignable>supported functions</assignable> using 
					 <selectables linebreak="yes">
						<selectable> <selectables><selectable>TLS</selectable><selectable>DTLS</selectable><selectable>IPsec or IKE
						</selectable><selectable>SMIME</selectable><selectable>SSH</selectable><selectable> <assignable>other 
							authenticated communications protocol</assignable></selectable>
						</selectables>
						</selectable>
						<selectable> <selectables><selectable id="x509-updates">code signing for system software updates</selectable>
							<selectable id="x509-integrity">code 
							signing for software integrity testing</selectable><selectable>integrity verification for TSF protected 
								data</selectable><selectable id="x509-admin-auth">administrator authentication</selectable>
							<selectable id="x509-user-auth">user authentication 
								</selectable><selectable id="x509-other-uses"> <assignable>other uses</assignable></selectable></selectables></selectable>
						</selectables>					
				</title>
				<note role="Application">
					The ST author lists all supported functions that depend on identities associated with certificates in the assignment.  
					For each such function, the ST author claims the protocols and services used by the supported functions that require certificates.
				</note>
			</f-element>
			<f-element id="fia-x509-ext-2e2">
				<title>For each function indicated in FIA_X509_EXT.2.1, the TSF shall
					 <selectables>
						<selectable>invoke the TOE platform to determine</selectable>
						<selectable>determine</selectable></selectables> whether the
					 <selectables>
						<selectable>administrator is allowed to configure certificate acceptance</selectable>
					 	<selectable>supported function determines acceptance via <assignable>method of determining acceptance</assignable></selectable>
					 	<selectable>certificate is accepted</selectable>
						<selectable>certificate is not accepted</selectable></selectables> 
					when valid certificate revocation status information cannot be obtained from a source indicated in FIA_X509_EXT.1.3.
				</title>
				<note role="Application">
					<h:p>
					When multiple methods of revocation status information are available, it is expected that the aggregate reliability 
					of supported methods will limit the use of exception processing. However, it is required that the TOE have a 
					specified behavior in case all status information options are either invalid or not available. This behavior may be specific 
					to certain trust stores or supported functions. It is strongly encouraged that ‘certificate is accepted’ not be claimed for 
					client authentication and more generally when reliable revocation status checks are available. For supported functions where 
					external certificate revocation status information is not expected to be available such as firmware updates or 
					initial network connections for the TSF that cannot establish a network connection, best practice is to use 
					certificates that do not advertise CRL or OCSP locations, and instead support alternate revocation status verification 
					methods.  The option ‘supported function determines acceptance...’ is claimed when the supported function determines revocation status exceptions, for example, by presenting an option to the authorized user of the function, or when the function validates the status of intermediate CA or leaf certificates included in a trust store at times other than when used. In such cases, the ST author describes the methods used in the assignment.
					</h:p>
					<h:p>
						The treatment of invalid revocation status information should not impact the validity of a certificate if other 
						revocation status information is available. It is expected that processing invalid revocation status information 
						is logged.
					</h:p>
				</note>
			<aactivity> 
					<TSS>
							The evaluator shall review the TSS to validate that all functions using certificates are described and that 
							function-specific exception processing rules for handling unavailable valid certificate status information is 
							included.						
					</TSS>
				<Guidance>
					[conditional]: If “administrator is allowed to configure certificate acceptance” is claimed, the evaluator shall inspect the guidance documentation to ensure instructions for configuring 
							application-specific behavior for certificate validation is included.
				</Guidance>
				<Tests>
					<testlist>
						<test>
							<h:p>
								[conditional]: If application-specific default responses for inaccessible certificate status information 
								are supported, then for each function supporting such defaults, the evaluator shall configure a default 
								behavior as necessary for each such response, clear or disable all sources of revocation information 
								available to the function, and establish a certification path that requires an external source for 
								certificate status information. The evaluator shall demonstrate that the TSF exhibits the default 
								behavior when presented with the certification path.
							</h:p><h:p>
								Note: This test is only required if the default mechanism is not included as a local revocation status 
								information method in <xref to="fia-x509-ext-1e3"/>
							</h:p>								
							</test>
						</testlist>
					</Tests>
			</aactivity>
			</f-element>
			
			<audit-event/>
			
		</f-component>
		
		<f-component name="X.509 Certificate Requests" cc-id="fia_x509_ext.3" status="sel-based">
			<depends on="toe-requests-certs"/>
			<comp-lev> requires the TSF to be able to generate Certificate Request Messages and validate responses.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>The following actions should be auditable if FAU_GEN Security audit data generation is included in the PP/ST:
				<h:ul>
					<h:li>Certificate requested</h:li>
					<h:li>Valid certificate received</h:li>
					<h:li>Invalid certificate received</h:li>
				</h:ul>
			</audit>
			<dependencies>
				<no-link>FCS_CKM.1</no-link> Cryptographic Key Generation<h:br/>
				FIA_X509_EXT.1 X.509 Certificate Validation<h:br/>
				FIA_X509_EXT.2 X.509 Certificate Support for Functions<h:br/>
				FIA_XCU_EXT.1 X.509 Certificate Utilization
			</dependencies>
			<f-element id="fia-x509-ext-3e1">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke the TOE platform to generate</selectable>
						<selectable>generate</selectable></selectables>
					Certificate Requests as specified by 
					 <selectables linebreak="yes">
						<selectable>RFC 2986 (PKCS-10)</selectable>
						<selectable id="toe-uses-est">RFC 7030 as updated by RFC 8996 (EST)</selectable>
						<selectable id="toe-uses-cmc">RFC 5272 as updated by RFC 6402 (CMC)</selectable>
						<selectable>RFC 5272 as updated by RFC 8756 (CNSA CMC)</selectable>
						<selectable id="toe-uses-v2-cmp">RFC 4210 as updated by RFC 6712 and RFC 9481 (v2 CMP)</selectable>
					 	<selectable id="toe-uses-v3-cmp">RFC 4210 as updated by RFC 6712 and RFC 9480 (v3 CMP)</selectable>
						</selectables>
					and be able to provide the following information in the request: public key, <selectables linebreak="yes">
						<selectable>Subject DN consisting of values for <selectables linebreak="yes">
							<selectable>U</selectable>
							<selectable>O</selectable>
							<selectable>OU</selectable>
							<selectable>CN</selectable>
							<selectable><assignable>other subject attributes</assignable></selectable>
						</selectables></selectable>
						<selectable>one or more of the following SAN types <selectables linebreak="yes">
							<selectable>rfc822Name</selectable>
							<selectable>dNSName</selectable>
							<selectable>directoryName</selectable>
							<selectable>uniformResourceIdentifier</selectable>
							<selectable>IPAddress</selectable>
							<selectable> <assignable>other SAN types</assignable></selectable>
						</selectables>
						</selectable>
					</selectables>
					and <selectables linebreak="yes">
						<selectable><assignable>list of other certificate field and extension values</assignable></selectable>
						<selectable><assignable>list of identifying information</assignable></selectable>
						<selectable>no other information.</selectable>
					</selectables>
				</title>
				<note role="Application">
					The supported certificate request mechanisms are claimed in the first selection. PKCS-10 is claimed whether a manual 
					request process is used or if the PKCS-10 request is posted to the certification authority (for embedded 
					CAs or as in ACME implementations). Other options embed the certificate request in a formalized certificate management 
					protocol. If EST is claimed, FIA_ESTC_EXT.1 is also claimed; if CMC or CNSA CMC are claimed, FIA_CMCC_EXT.1 is also 
					claimed; if v2 or v3 CMP is claimed, FIA_CMPC_EXT.1 is also claimed.
				</note>
			</f-element>
			<f-element id="fia-x509-ext-3e2">
				<title>The TSF shall
					 <selectables>
						<selectable>invoke platform-provided functionality</selectable>
						<selectable>provide functionality</selectable></selectables>
					to validate the certificate path in accordance with FIA_X509_EXT.1 upon receiving the CA Certificate 
					Response, and validate that the certificate path of the response is consistent with the intended usage.
				</title>
				<note role="Application">
					The certificate path returned should include the CA from which the certificate was requested as the issuing CA and 
					may include intermediate CAs, terminating at a trust store element. The context of the certificate path includes 
					context specified by the trust store and refined by name constraint extensions, policy-related extensions, and other 
					extensions present in the intermediate CA certificates, as well as the extensions in the requested certificate. Since 
					the extensions in the Intermediate CA certificates are not specified in the request, the TSF should perform checks to 
					ensure they do not modify or prohibit the intended use. Also, some extensions present in the requested certificate 
					may be populated by the issuing CA that were different than those requested (due to error, or by policy). The TSF can 
					identify those differences automatically, or present any questionable values for review by an authorized user before 
					installing the certificate.
				</note>
				<aactivity> 
					<TSS>
					<h:p>
							The evaluator shall review the TSS to confirm that it describes the options to obtain certificates 
							representing a TOE function.						
					</h:p><h:p>						
							Note: All certificates obtained from external CAs or from an embedded CA that supports formal requests are 
							included. It is not necessary that certificates obtained from an embedded CA that are only locally trusted 
							by the TOE to represent TOE functionality within the TOE are requested using standard techniques.
					</h:p>
					</TSS>
					<Guidance>
					<h:p>
							The evaluator shall examine the operational guidance documentation and confirm that it contains instructions 
							for obtaining a certificate for TOE functions using the supported options, for configuring the subject name 
							type included in a request, for configuring the name representing the TOE function and any other extensions 
							to be included in the certificate.
					</h:p><h:p>
							The evaluator shall inspect the AGD documentation to ensure instructions for configuring application-specific 
							behavior for certificate validation is included.
					</h:p>
					</Guidance>
					<Tests>
						<testlist>
							<test id="cert-request-test">
									For each certificate required to represent a TOE function, for each name type supported, and for each 
									request option supported for that function, the evaluator shall configure the TOE function name of 
									the selected type and any extensions required by the function and request a certificate using the 
									request method. The evaluator shall observe that the certificate received by the TOE is validated and 
									represents the TOE function.
							</test>
						</testlist>
					</Tests>
				</aactivity>
			</f-element>	
			
			<audit-event>
				<audit-event-descr>Certificate requested</audit-event-descr>
				<audit-event-info>Certificate to be signed</audit-event-info>
			</audit-event>
			<audit-event>
				<audit-event-descr>Valid certificate received</audit-event-descr>
				<audit-event-info>None</audit-event-info>
			</audit-event>
			<audit-event>
				<audit-event-descr>Invalid certificate received</audit-event-descr>
				<audit-event-info>Reason for failure</audit-event-info>
			</audit-event>
							
		</f-component>
		
		<ext-comp-def fam-id="FIA_XCU_EXT" title="Certificate Usage">
			<fam-behavior>Components in this family define how the TSF handles X.509 certificates for specific functions for specific
				protocols.</fam-behavior>
		</ext-comp-def>
		
		<f-component name="Implementation of X.509 Functions" cc-id="fia_xcu_ext.1" id="fia-xcu-ext-1">
			<comp-lev> defines how the TSF verifies or uses X.509 certificates.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>There are no auditable events foreseen.</audit>
			<dependencies/>			
			<f-element id="fia-xcu-ext-1e1">
				<title>The TSF shall
					 <selectables>
						<selectable id="toe-verifies-certs">verify</selectable>
						<selectable id="toe-asserts-certs">assert</selectable></selectables>
					identities included in X.509 certificates.
				</title>
				<note role="application">
					<h:p>
					The ST author claims "verify" when the TOE associates identities included in X.509 certificates with users, external entities or inter-TOE entities authorized to exercise TOE functionality. The ST author claims "assert" when the TOE represents itself or its functions to internal or external entities.
					</h:p><h:p>
						If "verify" is selected, then FIA_X509_EXT.1 and FIA_X509_EXT.2 must be included. If "assert" is selected, FIA_XCU_EXT.2 must be included.
					</h:p>
				</note>
				<aactivity>
					<TSS>
						The evaluator shall review the TSS and verify that the "verify" and "assert" claims are consistent with those selected in the SFR.
					</TSS>
					<Guidance>
						There are no guidance EAs for this component.
					</Guidance>
					<Tests>
						There are no test EAs for this component.
					</Tests>
				</aactivity>
			</f-element>
			<audit-event/>
							
		</f-component>
		<f-component name="X.509 Certificate Acquisition" cc-id="fia_xcu_ext.2" id="fia-xcu-ext-2" status="sel-based">
			<depends on="toe-asserts-certs"/>
			<comp-lev> defines how the TSF requests or obtains certificates to represent specific functions for specific protocols.</comp-lev>
			<management>No specific management functions are identified.</management>
			<audit>There are no auditable events foreseen.</audit>
			<dependencies>
				FIA_X509_EXT.1 X.509 Certificate Validation<h:br/>
				FIA_XCU_EXT.1 X.509 Certificate Utilization
			</dependencies>
			<f-element id="fia-xcu-ext-2e1">
				<title>The TSF shall
					 <selectables>
						<selectable id="toe-requests-certs">request certificates from an <selectables>
							<selectable id="toe-requests-certs-from-external-ca">external</selectable>
							<selectable id="toe-requests-certs-from-embedded-ca">embedded
						</selectable></selectables> CA,</selectable>
						<selectable id="toe-obtains-certs">obtain certificates from an embedded CA</selectable></selectables> to represent <assignable>TOE functions 
						</assignable> for
					 <selectables linebreak="yes">
						<selectable> <selectables>
							<selectable id="sel-fia-xcu-2e1-tls">TLS</selectable>
							<selectable id="sel-fia-xcu-2e1-dtls">DTLS</selectable>
							<selectable id="sel-fia-xcu-2e1-ipsec">IPsec or IKE</selectable>
							<selectable id="sel-fia-xcu-2e1-smime">SMIME</selectable>
							<selectable id="sel-fia-xcu-2e1-ssh">SSH</selectable>
							<selectable id="sel-fia-xcu-2e1-other"> 
								<assignable id="asn-fia-xcu-2e1-other">other authenticated communications protocol</assignable>
							</selectable>
						</selectables>
					</selectable>
						<selectable> <selectables>
						<selectable>code signing for system software updates</selectable>
						<selectable>code signing for software integrity testing</selectable>
						<selectable>integrity verification for TSF protected data</selectable>
						<selectable id="sel-fia-xcu-2e1-adminauth">administrator authentication</selectable>
						<selectable id="sel-fia-xcu-2e1-userauth">user authentication</selectable>
							<selectable id="sel-fia-xcu-2e1-otheruses"> 
								<assignable id="asn-fia-xcu-2e1-otheruses">other uses</assignable></selectable></selectables> </selectable>
						</selectables>.								
				</title>
				<note role="application">
					<h:p>
					The ST author claims the method for obtaining certificates and the source of certificates, and describes the 
					functions represented and how the functions use certificates. The ST author claims ‘request certificates…’ if 
					certificates are requested using standard request formats or protocols, and FIA_X509_EXT.3 is also claimed. If 
					‘embedded CA’ is claimed in the sub-selection, then <no-link>FDP_CER_EXT.1</no-link>/OLTleaf and FDP_CER_EXT.2 are also claimed. If ‘obtain 
					certificates from an embedded certification authority’ is claimed, <no-link>FDP_CER_EXT.1</no-link>/OLTleaf is claimed.
					</h:p><h:p>
						The use of embedded CAs is constrained to only locally trusted functions. That is, the relying party for a certificate issued by the embedded CA is limited to TOE functions. In practice, this limitation typically precludes privileged users from using certificates issued by an embedded CA, especially in environments where administrative access to systems (including both TOE functions and non-TOE functions) is governed by an identity management policy. So, while not mandatory, it is strongly recommended that ‘external’ CA is claimed, and that all functions that provide person-entity authentication to privileged TOE functions support certificate requests to an external CA.
					</h:p>
				</note>
				<aactivity>
					<TSS>The evaluator shall review the ST and confirm that the methods for obtaining certificates for representing its supported functions are described.</TSS>
					<Guidance>There are no guidance EAs for this component.</Guidance>
					<Tests>There are no test EAs for this component.</Tests>
				</aactivity>
			</f-element>
			
			<audit-event/>
							
		</f-component>
	</sec:fia>

</sec:Security_Functional_Requirements>
  
<!--                    -->
<!-- Appendix A: Optional Requirements 	-->
<!--                    -->
	
<appendix id="appendix-optional-plus" title="Optional Requirements">  

    <!-- Contents of the appendix are totally generated by "optional-appendix-plus" xsl template. 
         Includes boilerplate, headers, audit table. So the below is not needed. But there is is. -->
    <!--    <audit-table table="optional">
	  Auditable events for Optional SFRs:<h:br/><h:br/>
	</audit-table>  -->
</appendix> 

<!--                    -->
<!-- Appendix B: Selection-based Requirements 	-->
<!--                    -->

    <appendix id="appendix-sel-based" title="Selection-Based Requirements"> 
       
    <!-- Contents of the appendix are totally generated by "optional-appendix" xsl template. 
         Includes boilerplate, headers, audit table. So the below is not needed. But there is is. -->
    <!--    <audit-table table="sel-based">
	  Auditable events for Selecton-based Requirements:	
	</audit-table>   -->
    </appendix> 
	
<!--                    -->
<!-- Appendix C: References 	-->
<!--                    -->
	
   <bibliography>
		<entry id="bibRFC2986">
			<tag>RFC 2986</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc2986">PKCS #10: Certification Request Syntax Specification
					Version 1.7</h:a>
			</description>
		</entry>   
		<entry id="bibRFC5280 ">
			<tag>RFC 5280</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc5280">Internet X.509 Public Key Infrastructure Certificate
					and Certificate Revocation List (CRL) Profile</h:a>
			</description>
		</entry>   
		<entry id="bibRFC6066">
			<tag>RFC 6066</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc6066">Transport Layer Security (TLS) Extensions: Extension
					Definitions</h:a>
			</description>
		</entry>   
		<entry id="bibRFC6960">
			<tag>RFC 6960</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc6960">X.509 Internet Public Key Infrastructure Online Certificate
					Status Protocol – OCSP </h:a>
			</description>
		</entry>   
		<entry id="bibRFC6961">
			<tag>RFC 6961</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc6961">The Transport Layer Security (TLS) Multiple Certificate Status
					Request Extension</h:a>
			</description>
		</entry>   
		<entry id="bibRFC7030">
			<tag>RFC 7030</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc7030">Enrollment over Secure Transport</h:a>
			</description>
		</entry>   
		<entry id="bibRFC8603">
			<tag>RFC 8603</tag>
			<description>
				<h:a href="https://datatracker.ietf.org/doc/html/rfc8603">Commercial National Security Algorithm (CNSA) Suite Certificate
					and Certificate Revocation List (CRL) Profile</h:a>
			</description>
		</entry>
    </bibliography>
</Package>
