A Certificate Signing Request (CSR) is used in a hierarchical PKI to request a new certificate from a Certificate Authority.

Most commonly, a CSR is seen in an X.509 environment where the CSR conforms to the PKCS#10 Certificate Request Standard.

The end-user places into the CSR the public key they want certified, along with a proof-of-possession of the private key, and information about the organization or person requesting the cert such as company name, contact email, domain name, subjecAltName(s), desired validity period, etc.

In most protocols there is no guarantee that the information in the final certificate will appear exactly the same an in the CSR; the CA is allowed to modify names, expiry date, algorithms, etc according to its policies.