Как я вручную прохожу проверку подлинности, CA подписал сертификат SSL

Вы указываете название сервера, буквально. Выберите тот, которым Вы хотите, чтобы Ваш сервер был, Вам решать.

Это будет имя по умолчанию для любых сервисов, Вы работаете на сервере, если Вы не указываете иначе. Например, это часто будет хостом по умолчанию для удаленного соединения с сервером к такому как с SSH. Тем не менее, много других протоколов будут указаны для использования имен хостов за пределами имени хоста сервера. Например, редко будет основная роль Apache для обслуживания файлов на имени хоста сервера по умолчанию.

С Debian, /etc/hostname читается /etc/init.d/hostname.sh сценарий init и отразит любые изменения о перезагрузке. Для изменения динамично без перезагрузки можно также выполнить команду hostname $NEWHOSTNAME.

2
задан 4 May 2012 в 19:32
2 ответа

Мне нравится быстрый переход с curl -Iv https://www.example.com . curl выгружает соответствующие биты SSL (и будет использовать список имеющихся у него центров сертификации).

Если вам нужно сделать больше вручную, вы можете запустить openssl verify с правильными параметрами, в частности, параметр -CApath:

$ openssl verify --help
usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] [-crl_check] [-engine e] cert1 cert2 ...

Я предполагаю, что ваша проблема заключается в том, что сервер не публикует промежуточный пакет сертификатов. См. https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR657 (или, более конкретно, инструкции по электронной почте от Verisign о том, как установить сертификат ).

7
ответ дан 3 December 2019 в 08:39

Это связано с тем, что вы не используете в командной строке -CApath или -CAfile . Эти параметры сообщают openssl, где искать файлы доверенного центра сертификации: в каталоге или в конкретном файле.

С ним:

openssl s_client -CAfile /etc/ssl/ca-bundle.pem -connect www.bofa.com:443
CONNECTED(00000003)
depth=3 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify return:1
depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 2006 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G5
verify return:1
depth=1 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = Terms of use at https://www.verisign.com/rpa (c)06, CN = VeriSign Class 3 Extended Validation SSL CA
verify return:1
depth=0 1.3.6.1.4.1.311.60.2.1.3 = US, 1.3.6.1.4.1.311.60.2.1.2 = Delaware, businessCategory = Private Organization, serialNumber = 2927442, C = US, postalCode = 60603, ST = Illinois, L = Chicago, street = 135 S La Salle St, O = Bank of America Corporation, OU = Network Infrastructure, CN = www.bankofamerica.com
verify return:1

Без него:

openssl s_client -connect www.bofa.com:443CONNECTED(00000003)
depth=3 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify error:num=19:self signed certificate in certificate chain
verify return:0

Имеет ключевое значение.

4
ответ дан 3 December 2019 в 08:39

Теги

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