LINUX.ORG.RU

OpenSSL сертификат с полями на русском


0

0

Подскажите как можно создать запрос сертификата с помощью openssl, в котором некоторые поля (например, город и название организации) будут указаны на русском.

Ниже показан одна из попыток. Что я только не читал и не делал. Все попытки оканчивались одинаково, менялось только описание ошибки.

rpopov@nemo:~$ locale -a|grep -i utf

ru_RU.utf8

ru_UA.utf8

rpopov@nemo:~$ LANG=ru_RU.utf8 openssl req -newkey rsa:1024 -keyform PEM -keyout dozorkey.pem -out dozoreq.pem -utf8

Generating a 1024 bit RSA private key

............................++++++

..++++++

writing new private key to 'dozorkey.pem'

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:RU

State or Province Name (full name) [Some-State]:None

Locality Name (eg, city) []:Москва

problems making Certificate Request

26826:error:0D07A086:asn1 encoding

routines:ASN1_mbstring_copy:invalid utf8string:a_mbstr.c:132:

rpopov@nemo:~$

Опишите последовательность действий, которая сможет мне помочь??? Возможно ли такое вообще???

Этот запрос планируется подсунуть MSCA, который сгенерирует по нему сертификат, поля с русским текстом которого при просмотре в Windows/Linux должны быть читаемыми.


Ответ на: комментарий от lunc

Ну что вы, батенька, сразу в код???

Решение в man'ах! Правда, не совсем очевидное.

А программерам надо оторвать все выступающие части, вместо того, чтобы написать "обратите внимание на эту часть мана", они выводят вышеприведённую херню...

RaD
() автор топика
Ответ на: комментарий от RaD

Были у меня какие-то проблеммы в OpenSSL API (года два назад) с DSA подписями для сертификатов и цепочками сертификатов. Тогда оказалось проще разобраться в коде откуда ошибка берется...

lunc
()

Я делаю так:
# Генерация запроса csr
openssl req -new -key tmp/$uid.key -utf8 -config tmp/config -out tmp/$uid.csr
# Подписывание сертификата
openssl x509 -req -in tmp/$uid.csr -out tmp/$uid.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 1095
# Генерация PKCS#12
openssl pkcs12 -export -in tmp/$uid.crt -inkey tmp/$uid.key -out tmp/$uid.p12

UTF8 использую только в качестве CN, в windows сертификат pkcs12 отображает правильно.
В linux thunderbird работает правильно в KDE то что по русски отображает как \xDC\x32\xA1 бага короче.

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

Правильно, ещё можно

string_mask = utf8only

в конфигурационный файл, раздел [req]

Spectrum
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.