Структура: CertificationRequestInfo (версия, субъект, SubjectPublicKeyInfo и атрибуты, обычно extensionRequest с subjectAltName и использованием ключа) плюс подпись над этой структурой, сделанная закрытым ключом. Метка PEM: -----BEGIN CERTIFICATE REQUEST-----.
Что попадёт в сертификат, решает CA: публичные CA берут открытый ключ и проверенные имена, а большинство остальных запрошенных полей игнорируют или заменяют. Клиенты ACME отправляют CSR на шаге финализации (RFC 8555, § 7.4), и имена в нём должны точно совпадать с идентификаторами заказа. CSR не содержит секретов, но для его создания нужен закрытый ключ, поэтому создавать CSR следует там, где будет храниться ключ.
Типичная команда: openssl req -new -key key.pem -subj "/CN=example.com" -addext "subjectAltName=DNS:example.com,DNS:www.example.com". Декодер CSR проверяет подпись и показывает запрошенные имена, а генератор CSR создаёт CSR локально.