Как указать синтаксис для значений частных OID при настройке в OpenSSL?

У меня есть следующие вопросы, связанные с поддержкой OpenSSL Private OID:

  1. Просматривая конфигурации openssl и другие артефакты в Интернете, я обнаружил, что OpenSSL поддерживает настройку частных OID, но мне не ясно, как указать синтаксис значений для атрибутов, связанных с этими OID?
  2. Могу ли я настроить, чтобы настроенные мной частные OID использовались только в имени субъекта или имени издателя сертификата, а не в других полях или для любого другого объекта?

person Jay    schedule 31.01.2013    source источник


Ответы (1)


Вы можете определить короткие имена для OID внутри oid_section, например так myOid = 1.2.3.4

Чтобы определить, какую форму вы хотите, чтобы определенный OID принимал, вы можете добавить определения на верхнем уровне файла openssl.cnf (не внутри какого-либо блока). Эти определения используют компилятор mini-ASN.1, добавленный в OpenSSL 0.9.8.

1.2.3.4=critical,ASN1:UTF8String:Some random data

Вы также можете ознакомиться с синтаксисом компилятора mini-ASN.1 или документацию OpenSSL по созданию произвольных расширений.

Я не знаю, как запретить OpenSSL разрешать использование определенных OID в любом месте, но помните, что OID, которые вы определяете в своем openssl.cnf, будут отображаться как необработанные OID для любой проверяющей стороны, которая анализирует эти сертификаты без вашего участия. определения.

Например, если вы определяете 1.3.6.1.4.1.808808080.1 как «myOid». При разборе сертификата с этим DN субъекта в системе, которую вы настроили, он будет отображаться как /CN=something/O=something else/myOid=myValue, а в других системах он будет отображаться как /CN=something/O=something else/1.3.6.1.4.1.808808080.1=myValue.

person Paul Kehrer    schedule 31.01.2013
comment
Спасибо за ответ. Итак, допустим, я добавляю новый OID 1.2.3.4, но я хочу, чтобы этот OID использовался только в полях Subject и Issuer, а не в других полях, нет возможности, я могу указать это в OpenSSL, верно? Он будет использоваться для всех полей, где применимы OID. правильно? - person Jay; 01.02.2013
comment
Правильно, нет никакого способа предотвратить это, насколько мне известно. - person Paul Kehrer; 01.02.2013