Назад | Перейти на главную страницу

OpenSSL всегда показывает «неподдерживаемый» для всех значений UTF8 subjectAltName «otherName».

Кажется, что OpenSSL не работает при попытке прочитать subjectAltName / otherName / UTF8 значения, которые были написаны сами по себе:

Подходящий openssl.cnf конфигурация (с использованием официального, но случайного OID):

[alt_names]
DNS.1   = www.foo.com
DNS.2   = www.bar.org
IP.1    = 192.168.1.1
IP.2    = 192.168.69.144
email = email@me

otherName = 1.3.6.1.4.1.1;UTF8:some other identifier

Пример из дампа CSR, сгенерированного из этой конфигурации:

            TLS Web Server Authentication
        X509v3 Subject Alternative Name: 
            DNS:www.foo.com, DNS:www.bar.org, IP Address:192.168.1.1, IP Address:192.168.69.144, email:email@me, othername:<unsupported>
Signature Algorithm: sha1WithRSAEncryption
    6f:4a:1d:8f:43:7e:4d:d1:0c:7e:05:9d:1f:f0:98:b1:69:cf:

Может кто подскажет, делаю ли я что-то не так? Это сводит меня с ума.

Репутации недостаточно, чтобы проголосовать за @StackzOfZtuff ..

К вашему сведению, вам нужно будет найти строку «OCTET STRING» чуть ниже строки «OBJECT: X509v3 Subject Alternative Name», затем strparse:

# print section offset via
openssl asn1parse -in yourcert.pem
# parse otherName from "OCTET STRING" 
openssl asn1parse -in yourcert.pem -strparse <offset>

Вероятно, все еще не поддерживается. Попробуйте asn1parse.

В <unsupported> Результат был обычным в 2010 году. Я предполагаю: это все еще так.

Разработчик OpenSSL сказал это на список рассылки (Архивировано Вот.):

Стивен Хенсен, 02.01.2010:

В настоящее время OpenSSL не отображает никаких значений otherName. Он не может знать точное значение этого поля в целом, потому что формат может быть совершенно произвольным. В лучшем случае он мог анализировать содержимое.

И если вы используете openssl asn1parse в файле, чтобы найти смещение :X509v3 Subject Alternative Name раздел, а затем используйте -strparse вариант с этим смещением, затем otherName фактически будет отображаться.