Certificate Signing Request (RFC 2986)
CertificationRequest ::= SEQUENCE {
certificationRequestInfo CertificationRequestInfo,
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING
}
CertificationRequestInfo ::= SEQUENCE {
version INTEGER { v1(0) },
subject Name,
subjectPKInfo SubjectPublicKeyInfo, -- the new public key
attributes [0] IMPLICIT Attributes -- optional, e.g., SANs as extensions
}
The CSR signature proves the applicant possesses the corresponding private key.
The CA does not implicitly trust the subject DN in the CSR — it validates separately.