Здравствуйте, вот такая у меня проблема, хочу повесить веб морду к почте, и зделать по https доступ к ней, сгенерировал сертификаты, делал по методичке что в гугле нашел, все прошло успешно,открыл яст, далее apache2 открыл вкладку с вирт хостами, занес туда новый, поставил галку напротив поддержки ssl ну вот и пошло поехало, нехочет он теперь стартовать,пишит в логах
[Sun Nov 18 12:27:10 2007] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
[Sun Nov 18 12:27:10 2007] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Nov 18 12:27:10 2007] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Sun Nov 18 12:27:10 2007] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib
Всю голову сломал в чем может быть дело, причем сертификаты я сам себе подписал, проблем вроде быть не должно, удаляю этот вхост все ок, добавляю с поддержкой SSL, фигня получается, может кто сталкивался?
а создовать отдельный вирт хост на порту 443 идентичный тому что на 80 порту токо ведущий уже в другую папку нужно?
я что то зделал, теперь у меня при попытке набора https:// выдается уже ошибка в броузере такого рода
Как именно делались сертификаты? Апач точно "слушает" 443?
Имел подобную ошибку после кривой "методички". Все решилось корректной генерацией ключей и запуском апача через rcapache2 startssl.
апач точно запускается с поддержкой SSL, сгенерировал проде без проблем, делал по мануалу в нете, может он и не правильный, я не знаю, если есть ссылка на правильный, прошу поделиться... апач слушает и 80 и 443
апач точно запускается с поддержкой SSL, сгенерировал проде без проблем, делал по мануалу в нете, может он и не правильный, я не знаю, если есть ссылка на правильный, прошу поделиться... апач слушает и 80 и 443
Сначала создается центр сертификации. Если оно уже есть, то пропустить первый кусок. Центр для того, чтобы для различных своих внутренних сайтов\серверов с разными именами иметь доверенный центр и не париться с верисигном. Если контора работате "на публику" - тут придется попариться...
#!/bin/bash
CA=будущее имя файла сертификата без расширения
#Создание зашифрованного ключа своего корневого CA
#(предварительно создаётся БД CA):
mkdir CA
echo "01" > CA/serial
touch CA/index.txt
mkdir CA/crt
chmod 700 CA/crt
mkdir CA/private
chmod 700 CA/private
mkdir CA/csr
chmod 700 CA/csr
openssl genrsa -des3 -out CA/key/$CA.key 2048
chmod 400 CA/private/$CA.key
#Параноики могут спрятать ca.key в сейф и доставать
#только для подписи сертификатов.
#Создаём самоподписанный корневой сертификат (в CN указать что-то вида:
# "имя компании root Certificate"):
openssl req -new -x509 -days 3650 -key CA/private/$CA.key -out CA/$CA.crt
#Посмотреть на результат
openssl x509 -in CA/$CA.crt -text
Следующий шаг - создание непосредственно сертификата сервера. CN=имя хоста полное, как в браузере будет набираться, чтобы не материлось на несоответсвие имен.
#!/bin/bash
CA=имя файла корневого сертификата.crt
KEY=server
#Создать сертификат сервера
echo "Begin make key2"
openssl genrsa -des3 -out CA/private/$KEY.key2 2048
echo "End make key2"
#Создание запроса на сертификат сервера (CN должен быть равен имени хоста,
#которое будет указано в настройках клиентских программ; некоторые клиентские
#программы - Thunderbird - воспринимают записи типа *.company.ru):
echo "Begin make csr"
openssl req -new -key CA/private/$KEY.key2 -out CA/csr/$KEY.csr
echo "End make csr"
#Подпись запроса на сертификат сервера от имени собственного корневого CA:
echo "Begin make crt. Phase 1"
openssl ca -in CA/csr/$KEY.csr -out CA/crt/$KEY.crt
echo "Phase 2"
openssl verify -CAfile CA/$CA CA/crt/$KEY.crt
echo "End make crt"
#Снять пароль с сертификата(key, not crt!!!) сервера
echo "Begin clear key2"
openssl rsa -in CA/private/$KEY.key2 -out CA/private/$KEY.key
echo "End clear key2"
Да, еще я правил openssl.cnf секцию СА для соответствия путей к сертификатам(можно было и скрипт поправить для соответствия конфигу - тут кому чего нравится) и собственно имен(названий) файлов корневого сертификата.
[ CA_default ]
#dir = ./demoCA # Where everything is kept
dir = ./CA # Where everything is kept
#certs = $dir/certs # Where the issued certs are kept
certs = $dir/crt # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
#certificate = $dir/cacert.pem # The CA certificate
certificate = $dir/ИМЯ ФАЙЛА МОЕГО СЕРТИФИКАТА.crt # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
#private_key = $dir/private/cakey.pem # The private key
private_key = $dir/private/ИМЯ ФАЙЛА МОЕГО ПРИВАТНОГО КЛЮЧА.key # The private key
В итоге имеем пару - приватный ключ и сертификат. Подсунуть в апач, и рестартануть его. Проверено на прошлой неделе на дефолтной установке OpenSuSe 10.3 - работает.
зделал как написанно, заработало, но только для дефорт хоста само сабой, а как зделать что бы работало для всех ума не приложу, все пробовал теже ошибки что и раньше...
зделал как написанно, заработало, но только для дефорт хоста само сабой, а как зделать что бы работало для всех ума не приложу, все пробовал теже ошибки что и раньше...
Создавайте/редактируйте виртуальные хосты на базе /etc/apache2/vhosts.d/vhost-ssl.template
вот, кажется я нашел в чем проблема, при создании сертификатов и подключения их к одному из вирт хостов, при рестарте, пишет вот такую ошибку в логах
---
[Mon Nov 19 19:11:51 2007] [warn] RSA server certificate CommonName (CN) `www.t.ru.' does NOT match server name!?
[Mon Nov 19 19:11:51 2007] [warn] RSA server certificate CommonName (CN) `www.t.ru.' does NOT match server name!?
---
[Mon Nov 19 19:11:51 2007] [warn] RSA server certificate CommonName (CN) `www.t.ru' does NOT match server name!?
[Mon Nov 19 19:11:51 2007] [warn] RSA server certificate CommonName (CN) `www.t.ru' does NOT match server name!?
---
Просто мой вирт хост имеет домен www.t.ru он прописан на моих днс, и как я его не вводи в сертификате, он зарага ругается... что якобы такого нет, хотя даже с сервера я епго пингую, и без проблем...
P.S> вот вопрос еще, если у меня есть вирт хост, то мне надо создавать точно такой же но на 443 порту? тоесть делать полный дубль но на порту 443???
ну хоть кто нибудь есть у кого блин работает больше двух вирт хостов на одной физ. сервере с поддержкой ССЛ!!!!!!! ХЕЛП!!!!!! на втором апаче!!!!!!!!!!!! ПОМОГИТЕ!!!!!!
Директиву ServerName, на соответствие с сертификатами, для каждого виртуального хоста проверь.
Скинул эту же идею в личку Quicksand
Для всех пояснение: Имя сервера для апача и для сертификата должно быть одинаково буква в букву, т.е. если обращение идет www.server.net то и в сертификате должно быть www.server.net Скорее всего это и есть, ибо ругается
[Mon Nov 19 19:11:51 2007] [warn] RSA server certificate CommonName (CN) `www.t.ru.' does NOT match server name
Я не знаю кто я. Не помню ни серии своей, ни инвентарного номера...
часть проблемы решил, стало хоть работать, но все вирт хосты работают с одним и тем же сертификатом, тоесто когда создаю новые и пытаюсь прицепить, они ругаются на неправильность((( тоесть не могу нормально сгенерировать(
ну хоть кто нибудь есть у кого блин работает больше двух вирт хостов на одной физ. сервере с поддержкой ССЛ!!!!!!! ХЕЛП!!!!!! на втором апаче!!!!!!!!!!!! ПОМОГИТЕ!!!!!!
у кого больше одного ssl на одном физ. сервере, те просто покупают дополнительные йапишники в нужном количестве и делают на сетевухе алиасы.