Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2011(UTC) Сообщений: 10 Откуда: Саратов
|
Требуется добавить в запрос extension Private Key Usage Period(2.5.29.16). Делаю следующим образом: Код:CX509Extension KeyUsagePeriodExtension = new CX509ExtensionClass();
CObjectId KeyUsagePeriod = new CObjectIdClass();
KeyUsagePeriod.InitializeFromName(CERTENROLL_OBJECTID.XCN_OID_PRIVATEKEY_USAGE_PERIOD);
KeyUsagePeriodExtension.Initialize(KeyUsagePeriod, EncodingType.XCN_CRYPT_STRING_BASE64, "" );
req.X509Extensions.Add((CX509Extension)KeyUsagePeriodExtension);
Необходимо ли в 4й строке KeyUsagePeriodExtension.Initialize(KeyUsagePeriod, EncodingType.XCN_CRYPT_STRING_BASE64, "" ) последним параметром указывать что-то? Или достаточно того что прописано в настройках УЦ? Если ничего не записывать то в запросе будет Код:2.5.29.16: Флаги = 0, Длина = 0
Период использования закрытого ключа
EMPTY
Верно ли это? В MSDN примеры только на С++ с заполнением структуры CERT_PRIVATE_KEY_VALIDITY. Хочу сделать тоже самое на C# не прибегая к P/Invoke. Отредактировано пользователем 12 января 2011 г. 12:49:14(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:Необходимо ли в 4й строке KeyUsagePeriodExtension.Initialize(KeyUsagePeriod, EncodingType.XCN_CRYPT_STRING_BASE64, "" ) последним параметром указывать что-то? Или достаточно того что прописано в настройках УЦ? Зависит от того, что Вы хотите увидеть в запросе. Настройки УЦ в работе Вашего примера не участвуют. Зависит от поведения ЦС, обнаружившего в запросе расширение с таким содержанием. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2010(UTC) Сообщений: 36 Откуда: Саратов
|
Kirill Sobolev написал:Зависит от поведения ЦС, обнаружившего в запросе расширение с таким содержанием. Кирилл, у меня стандартно установленный КриптоПро УЦ. Как определить его "поведение", не проводя экспериментов? Стоит задача добавить в сертификат расширение 2.5.29.16. Срок действия закрытого ключа для большинства сертификатов должен будет совпадать со сроком действия самого сертификата - один год.
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.01.2011(UTC) Сообщений: 10 Откуда: Саратов
|
Нашел нить решения: Записывать туда надо закодированную в Base64 DER-последовательность. ASN.1 синтаксис этого экстеншена Код:PrivateKeyUsagePeriod ::= SEQUENCE {
notBefore [0] GeneralizedTime OPTIONAL,
notAfter [1] GeneralizedTime OPTIONAL
}
Получаем что-то типо Код:SEQUENCE {
GeneralizedTime '20001231205959.999Z'
GeneralizedTime '20001231205959.999Z'
}
Теперь нужно закодировать эту последовательность в DER. Есть ли какой либо инструмент, желательно бесплатный, который позволит преобразовать ASN.1 нотацию в DER?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
1) Хороший вариант - настроить модуль политики ЦС на автоматическое добавление этого расширения в сертификат в зависимости от расширения "Улучшенный ключ". 2) Плохой вариант - добавлять расширение на клиенте каким-то образом, на ЦС настроить его перекладывание из запроса на сертификат. В этом случае клиенты могут класть туда всякую чушь, потому что это расширение на ЦС никак не анализируется.
Еще момент - если срок действия закрытого ключа больше или равен сроку действия сертификата, то расширение на ЦС при использовании первого варианта добавлено не будет. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2010(UTC) Сообщений: 36 Откуда: Саратов
|
Kirill Sobolev написал:Еще момент - если срок действия закрытого ключа больше или равен сроку действия сертификата, то расширение на ЦС при использовании первого варианта добавлено не будет. За это предложение - отдельное спасибо, Кирилл! Всю голову сломал, почему оно не добавляется.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:почему оно не добавляется Потому что в этом нет смысла. Получается открытый ключ в сертификате истек, а закрытый продолжает действовать! Парадокс - в один и тот же момент времени подпись и действительна, потому что сделана на действующем ключе, и недействительна - потому что проверяется истекшим сертификатом. |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.09.2008(UTC) Сообщений: 13  Откуда: СПб, ООО "ИТСК"
|
вопрос:
если сертификат действителен с 08.02.2011 10:42:46 по 08.02.2012 10:42:46 а закрытый ключ его действителен с 08.02.2011 07:51:06 по 08.02.2012 07:51:06
будет ли данный сертификат правильным? и пройдет ли он корректно проверку утилитами cryptcp и csptestf
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:будет ли данный сертификат правильным? правильным для чего? Цитата:и пройдет ли он корректно проверку утилитами cryptcp и csptestf проверку на что? ни одна из этих утилит сама не проверяет срок действия закрытого ключа. |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 22.09.2008(UTC) Сообщений: 13  Откуда: СПб, ООО "ИТСК"
|
Правильным с точки зрения использования для подписи и шифрования. могут ли не совпадать интервалы (время начала и окончания) действия самого СКП и ЗК, причем периоды у них одинаковые=1год? Господа из Росэлторга утверждают, что наш сертификат не проходит проверку именно вашими утилитами. в то время, как дамп ASN.1 проходит абсолютно нормально. Прошу ознакомится: http://t.roseltorg.ru/cp...p;mid=HZJUJ&act=readПри этом читал ваш форум и наткнулся на вот какую тему: http://www.cryptopro.ru/....aspx?g=posts&t=1532делаю выводы на основании прочитанного: срок действия закр.ключа =< срок действия СКП, а вот про интервалы ничего не сказано... нашел только следующее: "...Как правило, срок действия закрытого ключа и срок действия СКП делают равным при их применении в целях шифрования и/или аутентификации и/или ЭЦП с условим использования механизма создания доказательства момента подписи (например, штампы времени)..." "...Обычно датой создания закрытого ключа принято считать дату начала действия сертификата ключа подписи..."
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close