Запрос на сертификат представляет собой структуру CertificationRequest в формате АСН.1 (см. [2]):
CertificationRequest ::= SEQUENCE | |
{ | |
certificationRequestInfo | CertificationRequestlnfo, |
signatureAlgorithm | Algorithmldentifier |
| {{SignatureAlgorithms}}, |
signature | BIT STRING |
} |
Поля структуры имеют следующие значения:
certificationRequestInfo - информация запроса на сертификат, содержащая, в частности, открытый ключ субъекта, сформированная в соответствии с 4.1.1;
signatureAlgorithm - информация об алгоритме подписи, который использовался при формировании подписи данных поля certificationRequestInfo структуры CertificationRequest, сформированная в соответствии с 4.1.2;
signature - подпись данных поля certificationRequestInfo структуры CertificationRequest, сформированная в соответствии с 4.1.3.
4.1.1 Поле certificationRequestInfo структуры CertificationRequest
Поле certificationRequestInfo структуры CertificationRequest задается структурой CertificationRequestInfo в формате АСН.1:
CertificationRequestInfo ::= SEQUENCE | |
{ | |
version | INTEGER { v1(0) } (v1,...), |
subject | Name, |
subjectPKInfo | SubjectPublicKeylnfo {{PKInfoAlgorithms}}, |
attributes[0] | Attributes{{CRIAttributes}} |
} |
Поля структуры имеют следующие значения:
version - номер версии стандарта. Для стандарта PKCS#10 v1.7 данное поле должно принимать значение 0;
subject - имя субъекта, чей открытый ключ используется для формирования сертификата;
subjectPKInfo - набор элементов, содержащих информацию об открытом ключе сертификата и сам ключ;