Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline AI99  
#1 Оставлено : 22 июня 2023 г. 14:45:46(UTC)
AI99

Статус: Новичок

Группы: Участники
Зарегистрирован: 22.06.2023(UTC)
Сообщений: 3
Российская Федерация

Всем привет, помогите пожалуйста сформировать запрос p10 в котором будет содержатся такая структура

SEQUENCE :
OBJECT IDENTIFIER : [1.3.6.1.4.1.311.21.7]

OCTET STRING :

SEQUENCE :

OBJECT IDENTIFIER : [1.2.643.2.1.1.2.1.10]

INTEGER : 1

соответственно содержание значений в ноде "OCTET STRING" будет постоянно меняться

Отредактировано пользователем 22 июня 2023 г. 14:49:10(UTC)  | Причина: Не указана

Offline TolikTipaTut1  
#2 Оставлено : 22 июня 2023 г. 16:06:26(UTC)
TolikTipaTut1

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 468

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
ASN1 структуры крайне легко (во всяком случае, с точки зрения логики) с помощью BouncyCastle можно генерирть. Ваш пример реализовывается вот так (писал на powershell, на c# не сложнее должно получиться):
Код:
[System.Convert]::ToBase64String(
    [Org.BouncyCastle.Asn1.DerSequence]::new(
        @(
            [Org.BouncyCastle.Asn1.DerObjectIdentifier]::new("1.3.6.1.4.1.311.21.7"), 
            [Org.BouncyCastle.Asn1.DerOctetString]::new(
                [Org.BouncyCastle.Asn1.DerSequence]::new(
                    @(
                        [Org.BouncyCastle.Asn1.DerObjectIdentifier]::new("1.2.643.2.1.1.2.1.10"), 
                        [Org.BouncyCastle.Asn1.DerInteger]::new(1)
                    ) -as [Org.BouncyCastle.Asn1.Asn1Encodable[]]
                ).GetDerEncoded()
            )
        ) -as [Org.BouncyCastle.Asn1.Asn1Encodable[]]
    ).GetDerEncoded()
)


Потом можете добавить полученные байтики в атрибут какой-то, например...
Offline AI99  
#3 Оставлено : 22 июня 2023 г. 22:36:59(UTC)
AI99

Статус: Новичок

Группы: Участники
Зарегистрирован: 22.06.2023(UTC)
Сообщений: 3
Российская Федерация

Спасибо. вы дали мне за что зацепится и реализовал то что у меня заработало и много переделывать не пришлось.
var oidFirst = new CObjectId();
oidFirst.InitializeFromValue("1.3.6.1.4.1.311.21.7");

var seq = new DerSequence(
new DerObjectIdentifier("1.5.6.28.59.847.1.1.1"),
new DerInteger(1)).GetEncoded();

var template = new CX509Extension();
template.Initialize(oidFirst,EncodingType.XCN_CRYPT_STRING_ANY, Convert.ToBase64String(seq));
objPkcs10.X509Extensions.Add(template);

Отредактировано пользователем 22 июня 2023 г. 22:45:50(UTC)  | Причина: Не указана

Offline AI99  
#4 Оставлено : 22 июня 2023 г. 22:37:18(UTC)
AI99

Статус: Новичок

Группы: Участники
Зарегистрирован: 22.06.2023(UTC)
Сообщений: 3
Российская Федерация

1

Отредактировано пользователем 22 июня 2023 г. 22:39:40(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.