С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.11.2018
Сообщений: 1
1

Как добавить подписываемый параметр OCSP RESPONSE в ASN1 PKCS7

15.11.2018, 08:39. Показов 1657. Ответов 0
Метки нет (Все метки)

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

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

C++
1
2
3
4
5
6
7
8
9
10
11
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 тоже все понятно:

Код:

C++
1
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...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2018, 08:39
Ответы с готовыми решениями:

Свойства Response.Expires = 60 Response.Expiresabsolute = Now() - 1 Response.AddHeader 'pragma','no-cache' Response.AddHeader 'cache-control','p
Нашел в Инете строчки для запрета буфиризации и кэширования страници бравзером Response.Expires =...

Как добавить параметр в url javascript
Привет всем! Вопрос от новичок javascript. Как добавить параметр в url javascript? Например у...

Как добавить параметр в запрос ADOQuery
Подскажите как добавить параметр в ADOQuery, чтобы в дальнейшем его можно было в SQL запросе...

Как добавить в переменную пришедший параметр?
Всем привет у меня есть некий скрипт: <?php $from = ""; $email = ""; $topic = ""; ...

0
15.11.2018, 08:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2018, 08:39
Помогаю со студенческими работами здесь

Как добавить параметр id к обработчику RecyclerView
Т.к у RV нет обработчика, как у того же ListView, то пришлось реализовать самому. Нашёл здесь...

Как добавить двоичный параметр в реестр?
Люди, как добавить двоичный параметр в реестр. Строковый параметр я знаю ...

Как добавить третий параметр в ассоциативный массив?
Где задать вопрос по php? Хотелось бы приблительно оценит

Как добавить свой параметр в стандартный метод KeyPress
Имееется код: Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru