Client options for EST [
RFC 7030] and EST extensions [
RFC 8295] are specified in this section.
TLS implementations are configured as specified in [
RFC 9151]; the notable exception is that only EC-based algorithms are used.
At the EST interface, servers only enroll clients that they have established a prior relationship with independently of the EST service. To accomplish this, client owners/operators interact in person with the human acting as the Registration Authority (RA) to ensure the information included in the transmitted certificate request, which is sometimes called a Certificate Signing Request (CSR), is associated with a client. The mechanism by which the owner/operator interacts with the RA as well as the information provided is beyond the scope of this document. The information exchanged by the owner/operator might be something as simple as the subject name included in the CSR to be sent or a copy of the certificate that will be used to verify the certificate request, which is provided out of band.
Mutual authentication occurs via "Certificate TLS Authentication" (
RFC 7030,
Section 2.2.1). Clients provide their certificate to servers in the TLS Certificate message, which is sent in response to the server's TLS Certificate Request message. Both servers and clients reject all attempts to authenticate based on certificates that cannot be validated back to an installed TA.
Clients always use an explicit TA database (
RFC 7030,
Section 3.6.1). At a minimum, clients support two TAs: one for the PKI and one for symmetric keys.
Clients check that the server's certificate includes the id-kp-cmcRA Extended Key Usage (EKU) value (
RFC 6402,
Section 2.10).
Clients that support processing of the CMS Content Constraints extension [
RFC 6010] ensure returned CMS content is from an SOA or an entity authorized by an SOA for that CMS content; see
Section 7.1 for SOA certificates.
This section profiles SODP's interfaces for EST [
RFC 7030] and EST extensions [
RFC 8295].
The Package Availability List (PAL) is limited to 32 entries, where the 32nd PAL entry links to an additional PAL (i.e., PAL Package Type 0001).
The PAL is XML [
XML].
The CA certificates located in the explicit TA database are distributed to the client when it is registered. This TA distribution mechanism is out of scope.
CA certificates provided through this service are as specified in Sections [
5] and [
6] of this document.
CSRs follow the specifications in
Section 4.2 of
RFC 8756, except that the CMC-specific ChangeSubjectName and the POP Link Witness V2 attributes do not apply. Only EC-based algorithms are used.
Client certificates provided through this service are as specified in
Section 7 of this document.
The HTTP content type of "text/plain" (
RFC 2046,
Section 4.1) is used to return human-readable errors.
There are no additional requirements for requests beyond those specified in Sections [
3.4] and [
3.6.3] of this document.
The HTTP content type of "text/plain" (
RFC 2046,
Section 4.1) is used to return human-readable errors.
Requests are as specified in [
RFC 8756] with the notable exception that only EC-based algorithms are used.
Additional attributes for returned CMS packages can be found in [
RFC 7906].
Certificates provided through this service are as specified in
Section 7 of this document.
PKCS#12 [
RFC 7292] -- sometimes referred to as "PFX" (Personal Information Exchange) or "P12" -- is used to provide server-generated asymmetric private keys and the associated certificate to clients. This interface is a one-way interface as the RA requests these from the server.
PFXs [
RFC 7292] are exchanged using both password privacy mode and integrity password mode. The PRF algorithm for PBKDF2 (the KDF for PBES2 and PBMAC1) is HMAC-SHA-384, and the PBES2 encryption scheme is AES-256.
The HTTP content type of "text/plain" (
RFC 2046,
Section 4.1) is used to return human-readable errors.
/serverkeygen/return is not supported at this time.
Clients use this service to retrieve partially filled PKIRequests with no public key or proof-of-possession signature, i.e., their values are set to zero length, either a zero length BIT STRING or OCTET STRING. The pKCS7PDU attribute, defined in [
RFC 2985], includes the partially filled PKIRequest as the only element in the CsrAttrs sequence. Even though the CsrAttrs syntax is defined as a set, there is only ever exactly one instance of values present.
CRLs provided through this service are as specified in
Section 9 of this document.
Clients that claim to support SODP interoperation will be able to process the following messages from an SODP server:
-
additional encryption and origin authentication (RFC 8295, Section 5); and
-
server-provided Symmetric Key Content Type [RFC 6032] encapsulated in an Encrypted Key Content Type using the EnvelopedData choice [RFC 6033] with an SOA certificate that includes the CMS Content Constraints extension (see Section 7.1).
Client-supported algorithms to decrypt the server-returned symmetric key are as follows:
-
Message Digest: See Section 4 of RFC 8755.
-
Digital Signature Algorithm: See Section 5 of RFC 8755.
-
Key Agreement: See Section 6.1 of RFC 8755.
-
Key Wrap: AES-256 Key Wrap with Padding [RFC 6033] is used. AES-128 Key Wrap with Padding is not used.
-
Content Encryption: AES-256 Key Wrap with Padding [RFC 6033] is used. AES-128 Key Wrap with Padding is not used.
/symmetrickeys/return is not used at this time.
/eecerts, /firmware, and /tamp are not used at this time.