Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > C/C++: Прочее > Как добавить подписываемый параметр OCSP RESPONSE в ASN1 PKCS7 |
Автор: reallly 15.11.18, 05:56 |
Занимаюсь подписанием строки. Обычная подпись проходит. Сейчас понадобилось добавить подписываемые параметры. С добавлением строк проблем нет: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> void add_signed_printable_string(PKCS7_SIGNER_INFO *si, char *oid, char *str) { ASN1_PRINTABLESTRING *os; signed_string_nid = OBJ_create(oid, str, str); os=ASN1_PRINTABLESTRING_new(); M_ASN1_OCTET_STRING_set(os,(unsigned char*)str,strlen(str)); PKCS7_add_signed_attribute(si,signed_string_nid, V_ASN1_PRINTABLESTRING,(char *)os); } С добавлением content type тоже все понятно: Код: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> PKCS7_add_attrib_content_type(si, OBJ_nid2obj(OID_SIGNED_CONTENT_TYPE)); Но теперь нужно добавить объект X509_NAME и OCSP квитанцию. Как вообще правильно добавляются такие объекты? Пробывал добавлять X509_NAME вручную записывая все параметры, но очень долго получается. Должно получится примерно такое (нужно добавить так же как выглядят 1.3.6.1.4.1.6801.2.8 и 1.3.6.1.5.5.7.48.1.1): <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> [0] (7 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.9.13 signingDescription (PKCS #9) SET (1 elem) PrintableString ESEDO SEQUENCE (2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.9.3 contentType (PKCS #9) SET (1 elem) OBJECT IDENTIFIER 1.2.840.113549.1.7.1 data (PKCS #7) SEQUENCE (2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.9.5 signingTime (PKCS #9) SET (1 elem) UTCTime 2018-11-13 12:08:20 UTC SEQUENCE (2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.9.4 messageDigest (PKCS #9) SET (1 elem) OCTET STRING (32 byte) 166182C25D404360359A8961F9A861F4A11567C9BC0D01BF81EC647E1CA59331 SEQUENCE (2 elem) OBJECT IDENTIFIER 1.2.840.113549.1.9.77 SET (1 elem) UTF8String Как дебажить ошибки.docx SEQUENCE (2 elem) OBJECT IDENTIFIER 1.3.6.1.4.1.6801.2.8 SET (1 elem) SEQUENCE (10 elem) SET (1 elem) SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.4 surname (X.520 DN component) UTF8String ТЕСТ SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.5 serialNumber (X.520 DN component) PrintableString IIN123128350133 SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.6 countryName (X.520 DN component) PrintableString KZ SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.7 localityName (X.520 DN component) UTF8String АСТАНА SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.8 stateOrProvinceName (X.520 DN component) UTF8String АСТАНА SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.10 organizationName (X.520 DN component) UTF8String ТОВАРИЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "777" SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.11 organizationalUnitName (X.520 DN component) UTF8String BIN123840007123 SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.42 givenName (X.520 DN component) UTF8String ТЕСТ SET (1 elem) SEQUENCE (1 elem) OBJECT IDENTIFIER 1.2.840.113549.1.9.1 emailAddress (PKCS #9. Deprecated, use an altName extension instead) SEQUENCE (2 elem) OBJECT IDENTIFIER 1.3.6.1.5.5.7.48.1.1 ocspBasic (OCSP) SET (1 elem) OCTET STRING (1 elem) SEQUENCE (2 elem) ENUMERATED [0] (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 1.3.6.1.5.5.7.48.1.1 ocspBasic (OCSP) OCTET STRING (1 elem) SEQUENCE (4 elem) SEQUENCE (4 elem) [1] (1 elem) SEQUENCE (7 elem) SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component) UTF8String OCSP RESPONDER SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.5 serialNumber (X.520 DN component) PrintableString IIN761231300313 SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.6 countryName (X.520 DN component) PrintableString KZ SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.7 localityName (X.520 DN component) UTF8String АСТАНА SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.8 stateOrProvinceName (X.520 DN component) UTF8String АСТАНА SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.10 organizationName (X.520 DN component) UTF8String АКЦИОНЕРНОЕ ОБЩЕСТВО "НАЦИОНАЛЬНЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ" SET (1 elem) SEQUENCE (2 elem) OBJECT IDENTIFIER 2.5.4.11 organizationalUnitName (X.520 DN component) UTF8String BIN000740000728... |