Флаг OpenSSL x509 Purpose “Какая-либо Цель”, Что это?

Посмотрите на журналы событий для чего-либо, что произошло во время завершения работы и взгляда на то, что произошло, когда компьютер перезапустил, иногда процесс зарегистрируется, это не завершало работу правильно.

Затем используйте инструмент как Проводник Процесса и пристально смотрите на то, что работает. Попытайтесь уничтожить определенные процессы, прежде чем Вы будете завершать работу и видеть, повторяется ли проблема, можно затем исключить те задачи, которые Вы уничтожили как являющийся преступниками. Также ищите задачи, которые, возможно, были оставлены позади чем-то, что Вы делали. Сделайте этот каждый раз, пока Вы не можете сузить, какие процессы, кажется, виновная сторона.

5
задан 10 February 2010 в 19:51
7 ответов

От: http://en.wikipedia.org/wiki/Digital_certificate

Ключевое использование: Цель открытого ключа (например, шифровка, подпись, сертификат, подписывающийся...).

Посмотрите - флаг цели в openssl документах: http://www.openssl.org/docs/apps/x509.html#CERTIFICATE_EXTENSIONS

0
ответ дан 3 December 2019 в 01:34
  • 1
    Я не спрашивал, что всю другую цель bools представленный, я спрашивал что " Любой Purpose" был и как это было установлено. Это не определяется ни в одной из двух ссылок, которые Вы отправили мне. –  Nick 10 February 2010 в 21:06
  • 2
    Ваш являются правильными, тот флаг явно не документируется, я принял это " Любой Purpose" означал бы любую из перечисленных целей. Я посмотрел на код в openssl/crypto/x509v3/v3_purp.c и crypto/x509v3/x509v3.h. grep исходное дерево для: X509_PURPOSE_ANY я интерпретирую его как являющийся расширением сертификата, который означает сертификат, подходит для любой цели. т.е. тот флаг является просто другим x.509 расширением сертификата. –  tajh 10 February 2010 в 23:46

В сертификатах X.509, как и в большинстве других случаев, если термин не определен явно, он наследует значение из непосредственно окружающего его контекста. Если этот контекст - «жизнь», то фраза «Любая цель» означает буквально это.

Итак, проверьте Политику сертификатов, Соглашение с подписчиком и Соглашение с проверяющей стороной выдающего ЦС, и если они ничего не говорят о флаге, то это означает то, что написано на коробке.

1
ответ дан 3 December 2019 в 01:34

Большинство сертификатов выпускаются с целью (или набором целей), которой они ограничены, например, аутентификация клиента, аутентификация сервера, обмен ключами и подпись кода. Если они используются для не одобренной цели (например, с использованием вашего сертификата электронной почты для подписи кода), они недействительны.

Расширение любой цели просто означает, что сертификат всегда должен соответствовать ограничениям использования, что равносильно тому, что действительно для всех видов использования.

0
ответ дан 3 December 2019 в 01:34

KeyUsage - это расширение v3, которое может присутствовать или не присутствовать в сертификате.

Полезная (если слегка датированная) сводка значений id-ce-keyUsage: http://www.alvestrand.no/objectid/2.5.29.15.html [недавно добавленные значения 7 = encipherOnly и 8 = decipherOnly]

Хитрость в том, что это "OID=2.5.29.15 keyUsage extension" /могут или не могут/ присутствовать в конкретном сертификате.

То, что OpenSSL, вероятно, предполагает с PURPOSE_ANY, это то, что это расширение было /не присутствует/, и, следовательно, это "зависит от вашей собственной политики", чтобы решить, для чего его использовать или не использовать. В противном случае, нет значения растровой карты, соответствующего "ЛЮБОЙ"...

1
ответ дан 3 December 2019 в 01:34

«Назначение» OpenSSL - это не просто прямое отражение расширения Key-Usage сертификата v3.

OpenSSL сам определяет набор «целей», а затем имеет некоторая логика, которая определяет, соответствует ли данный сертификат выбранной цели на основе расширений сертификатов, включая, помимо прочего, использование ключа и расширения расширенного использования ключа.

«Любая цель» - это то, что вы получите, если пройдете -нацеливайте любые на openssl verify , или если вы пишете код, который устанавливает цель контекста OpenSSL на «любое» значение, например, SSL_CTX_set_purpose () .

Большинство целей задокументировано в man x509 раздел CERTIFICATE EXTENSIONS - в нем объясняется, для каких свойств сертификат должен быть действительным для данная цель - но это не документирует любую цель. В источнике в верхней части crypto / x509v3 / v3_purp.c вы можете видеть, что функция проверки, выполняемая для X509_PURPOSE_ANY , - это no_check () , что просто возвращает 1: фактически отключает проверку цели.

Я не уверен, можно ли создать ситуацию, в которой любой сертификат не будет действителен для любой цели. Я также не уверен, в чем разница между установкой цели any и отсутствием установки цели вообще, что должно привести к полному обходу проверки цели.

В частности, OpenSSL X509_PURPOSE_ANY / «Любая цель» / -цель любая концепция не то же самое, что RFC 5280 anyExtendedKeyUsage KeyPurposeId.

0
ответ дан 3 December 2019 в 01:34

Обычно я устанавливаю "AnyPurpose" на корневом CA (это означает, что это корневой CA и может выдавать сертификаты любому другому промежуточному или подчиненному CA), а затем, при выдаче промежуточного CA, я устанавливаю ограничения. ...

Мой корневой УЦ имеет:

  • AnyPolice 2.5.29.32.0,
  • CA:True 2.5.4.37,
  • AnyPurpose 2.5.29.15,
  • DigitalSignature 2.5.4.37.3,
  • CRL Distribution Points 2.5.29. 31,

На моем промежуточном TLS CA для примера я установил:

  • Web ServerAuth TLS 1.3.6.1.5.5.7.3.1,
  • Web ClientAuth 1.3.6.1.5.5.7.3. 2

Это ограничение TLS CA от наследования от всех атрибутов корневого центра сертификации (ограничительные OIDs, перечисленные здесь, позволят подписывать только TLS сертификаты, а с помощью pathlen:0 я буду запрещать суб-ЦС).

Все зависит от того, как вы настроите свою инфраструктуру PKI.

В своей сети я делаю по одному промежуточному CA для каждой цели, например:

  • Промежуточный CA для электронной почты
  • Промежуточный CA для TLS
  • Промежуточный CA для программного обеспечения
  • Промежуточный CA для идентификации
  • Промежуточный CA для компонентов

В этом случае, если возникает проблема с почтовым сертификатом, мне нужно лишь отозвать Email CA, в то время как все остальные промежуточные CA в порядке.

В больших центрах сертификации, например, есть выделенный промежуточный CA для EV.

Примечание: Это для персональной PKI, если вы хотите сделать что-то в соответствии с RFC и лучшими практиками, как это делают большие центры сертификации, то есть много дополнительных штрихов, например, включить гораздо больше OID и настроить их все...

Например, вы можете прочитать некоторые стандарты по этой ссылке:

https://cabforum. org/wp content/uploads/Baseline_Requirements_V1.pdf

Другой пример, для EV сертификатов есть много дополнительных шагов по установке OIDs:

  • Domain Validated 2.23.140.1.2.1
  • Organization Validated 2.23.140.1.2.2

И так как моя установка не нуждается в них, Я не тратил время на поиск и тестирование необходимых OID для работы

.
1
ответ дан 3 December 2019 в 01:34

Любое назначение: Да и Любое назначение СА: Да строки из openssl x509 -purpose являются специальными. Она специфична для openssl и представляет собой то, на что будет проверяться сертификат при использовании с древними версиями программного обеспечения, которые не проверяют наличие расширений.

Эти флаги специального назначения не могут быть выключены или отключены. От openssl проверка цели определена в openssl/crypto/x509v3/v3_purp.c как статический X509_PURPOSE xstandard[] = { ... }. Функция проверки проверки X509_PURPOSE_ANY возвращает 1.

Наиболее близкой к официальной документации по этому флагу, вероятно, являются сообщения доктора Стивена Н. Хенсона, автора v3_purp.c - http://marc.info/?l=openssl-users&m=96219426811480 и http://openssl.6102.n7.nabble.com/quot-critical-CA-FALSE-quot-but-quot-Any-Purpose-CA-Yes-quot-td29933.html.

Цитирую Стива:

'Настройка "Любая цель" - это то, что пропускает что угодно и не производит никаких проверок вообще. Изначально она была помещена туда, чтобы люди могли использовать разбитые сертификаты, если у них не было другого выбора и они могли жить с последствиями.... С тех пор проверки ЦС стали обязательными в коде, даже если установлена настройка "Any Purpose". Так что если бы вы действительно попытались использовать этот сертификат в качестве CA, он был бы отклонен"

3
ответ дан 3 December 2019 в 01:34

Теги

Похожие вопросы