Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 15.11.2018, 08:20   #1
!Николай!
Новичок
Джуниор
 
Регистрация: 15.11.2018
Сообщений: 1
Восклицание Как добавить подписываемый параметр OCSP RESPONSE в ASN1 PKCS7

Занимаюсь подписанием строки. Обычная подпись проходит. Сейчас понадобилось добавить подписываемые параметры.

С добавлением строк проблем нет:

Код:
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 тоже все понятно:

Код:
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):
Код:
                [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...
Более полный текст во вложении Пример.txt
Вложения
Тип файла: txt Пример.txt (15.2 Кб, 125 просмотров)
!Николай! вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
УЦ с поддержкой протокола OCSP Katy Moore Фриланс 1 29.04.2017 09:24
Как получить response от MySQL + Delphi project1 БД в Delphi 0 07.12.2014 19:07
Как добавить новый параметр(2)? Конс C# (си шарп) 0 22.05.2014 12:08
Как добавить новый параметр Конс C# (си шарп) 0 22.05.2014 00:34
Добавить запуск через параметр Dzib Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 08.09.2012 18:31


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840