| ||||
| ||||
Здравствуйте. Возникло несколько вопросов по созданию OCSP запроса. 1й,теоретический: CryptoPro-OCSP Server в полной мере следует нотации rfc2560 4.1.1? 2й, практический: В том же rfc2560 4.1.1 идет описание структуры, которую ожидает OCSP responder: OCSPRequest ::= SEQUENCE { tbsRequest TBSRequest, optionalSignature [0] EXPLICIT Signature OPTIONAL } TBSRequest ::= SEQUENCE { version [0] EXPLICIT Version DEFAULT v1, requestorName [1] EXPLICIT GeneralName OPTIONAL, requestList SEQUENCE OF Request, requestExtensions [2] EXPLICIT Extensions OPTIONAL } Signature ::= SEQUENCE { signatureAlgorithm AlgorithmIdentifier, signature BIT STRING, certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL} Version ::= INTEGER { v1(0) } Request ::= SEQUENCE { reqCert CertID, singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } CertID ::= SEQUENCE { hashAlgorithm AlgorithmIdentifier, issuerNameHash OCTET STRING, -- Hash of Issuer's DN issuerKeyHash OCTET STRING, -- Hash of Issuers public key serialNumber CertificateSerialNumber } Соответственно, надо сделать соответствие структур к запросу. Верны ли следующие реализации? Какие типы данных ожидает CryptoPro-OCSP Server? typedef struct { TBSRequest tbsRequest; Signature *optionalSignature; } OCSPRequest; typedef struct { DWORD version; CERT_NAME_BLOB requestorName; Request *requestList; CERT_EXTENSION *requestExtensions; } TBSRequest; typedef struct { CRYPT_ALGORITHM_IDENTIFIER signatureAlgorithm; CRYPT_BIT_BLOB *signature; CERT_CONTEXT *certs; } Signature; typedef struct { CRYPT_ALGORITHM_IDENTIFIER hashAlgorithm; CERT_NAME_BLOB issuerNameHash; CERT_PUBLIC_KEY_INFO issuerKeyHash; CRYPT_INTEGER_BLOB certificateSerialNumber; } CertID; typedef struct { CertID *reqCert; CERT_EXTENSION *singleRequestExtensions; } Request; | ||||
Ответы: | ||||
| ||||
Это не распространяемая информация? | ||||