LINUX.ORG.RU
ФорумAdmin

Сменить алгоритм отпечатка openssl ca

 ,


0

1

Здравствуйте. Использую openssl для создания сертификатов, но они имеют отпечаток sha1, которые google chrome блокирует.

Данный отпечаток, если я правильно понимаю, накладывается при подписи, но у команды «openssl ca» опции fingerprint нету, -sha256 принимается только при создании ключа, но на выходе получаю тот же отпечаток sha1. В файлу openssl.cnf опция default_md результата не даёт, доступной опции fingerprint там замечено не было.

Сам корневой сертификат имеет sha1, но как я понял это не имеет значения так как он самоподписанный, поэтому менять его не нужно.

Подскажите на каком этапе и с помощью чего можно подписать свой сертификат своим CA оставив отпечаток отличный от sha1. Или всё же надо полностью пересоздавать CA?


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

Ты сам проверял? Я проверил у меня не работает или я не там смотрю. В шапке я уже говорил что при создании запроса -sha256 результата не даёт, к тому же меня интересует команда для «openssl ca».

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

Вроде намек был прозрачный. Очевидно браузер отвергает цепочку если есть хотя бы один слабый по его мнению хеш.

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

Очевидно что вопрос не про то почему браузер отвергает, а как создать с нужным отпечатком.

А про корневой сертификат это уже потом разбираться буду, скорее всего это не имеет значения т.к. корневой всегда самоподписанный и следственно защищённость этой подписи не имеет ни какого смысла.

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

Когда подписываешь запрос, ты можешь указать -sha256, т.е. в твоем примере это будет

openssl x509 -sha256 -req -days 3650 -in newcsr.csr -signkey root.key -out newroot.pem

Корневой может быть с Sha1WithRsa а самый нижний может быть хоть через Md5WithEcdsa

корневой всегда самоподписанный и следственно защищённость этой подписи не имеет ни какого смысла

У всех могут быть разные мысли по этому поводу, в том числе у хрома. В вопросе вроде сказано что проблема в том что хром отвергает.

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

В шапке написано что есть такая проблема, но вопрос заключается не в этом.

Ещё раз повторю, ты сам проверял то что предлагаешь и у тебя работает? Потому что у меня то что ты предлагаешь не работает или я не там смотрю.

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

Вот специально для тебя проверил:

mkdir /tmp/delme && cd /tmp/delme
openssl genrsa 2048 > ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem -subj "/C=US/ST=California/L=SanJose/O=SnakeOil/OU=LOR/CN=ok"
openssl x509 -noout -text -in ca.pem  | grep Signa
openssl ecparam -name secp384r1 -genkey -noout -out my-key.pem
openssl req -sha1 -new -key my-key.pem -out my-cert.csr -subj "/C=US/ST=California/L=SanJose/O=SnakeOil/OU=LOR/CN=my"
openssl x509 -md5 -req -in my-cert.csr -days 365 -CA ca.pem -CAkey ca-key.pem -set_serial 42 -out cert.pem
openssl x509 -noout -text -in cert.pem  | grep Signa

Корневой sha1+rsa, реквест на эллиптических кривых, подпись md5+rsa

redixin ★★★★
()

оставив отпечаток отличный от sha1

Подозреваю что ты не совсем в курсе что такое отпечаток. Покажи какой командой ты смотришь то что называешь отпечатком.

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

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

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

Это ты путаешь. Браузер блокирует по хешу подписи.

но они имеют отпечаток sha1, которые google chrome блокирует

Отпечаток вообще не содержится в сертификате, в сертификате содержится открытый ключ, отпечаток которого можно посчитать в любой момент любым алгоритмом.

Странно знать что такое отпечаток, но в то же время искать его там где его нет.

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

Я понимаю что такое отпечаток, но в этих сертификатах всех тонкостей могу не знать, поэтому описал всю ситуацию в целом.

Я добавил корневой сертификат CA, сертификат сайта он показывает как действительный, но при этом ругается на незащищённое соединение. Ссылается на ERR_CERT_COMMON_NAME_INVALID. Но CN указан верно. Поэтому предположил что возможно ему не нравится отпечаток.

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

Быстрое гугление говорит что хром показывает такую ошибку если в сертификате нет subject alternative name

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