Potrzebuję pomocy z podpisaniem certyfikatu. Nie potrafię zrozumieć dlaczego preglądarki ciągle twierdzą, że podpisane przeze mnie certyfikaty są niezaufane.
Prowadzę kilka stron intenetowych i postanowiłem wyrobić im certyfikaty SSL. Zdecydowałem sobie, że kupię tylko jeden certyfikat, zrobię go CA i podpiszę nim wszystkie moje strony wraz z wszystkimi ich subdomenami poprzez "wildcarda". Czyli innymi słowy chcę obsługiwać takie domeny:
Code: Select all
main-domain.com
website-1.com
www.website-1.com
pop3.website-1.com
imap.website-1.com
smtp.website-1.com
ftp.website-1.com
sftp.website-1.com
website-2.com
website-3.comCode: Select all
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/lighttpd/main-domain.pem"
ssl.ca-file = "/etc/ssl/lighttpd/main-domain_ca_bundle.crt"
}No i teraz zaczyna się problem, gdy próbuję wygenerować certyfikat dla moich stron. Robię to tak:
1. Generuję klucz prywatny: website-1.key
2. Generuję CSR'a: openssl req -new -key website-1.key -out website-1.csr -config website-1.cnf
3. CSR'a podpisuję głównym certyfikatem: openssl ca -policy policy_anything -in website-1.csr -out website-1.crt
Teraz konfiguracja lighttpd:
Code: Select all
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/lighttpd/website-1.pem"
ssl.ca-file = "/etc/ssl/lighttpd/website-1_ca_bundle.crt"
}website-1_ca_bundle.crt: cat main-domain_ca_bundle.crt main-domain.crt > website-1_ca_bundle.crt
Sprawdzajki ssl'i twierdzą, że brakuje certyfikatów pośrednich. Chciałbym się dowiedzieć, czy to co robię jest w ogóle możliwe, czy też może błądzę i rzecz, którą chcę osiągnąć jest po prostu niewykonalna?
EDIT:
Ok, chyba znalazłem przyczynę problemu. Ten darmowy certyfikat SSL ma oganiczoną liczbę pośrednich CA do 0. Gdy podpisywałem innym self-signed certyfikatem z zachowaniem właściwego organization name, to hierarchia certyfikatów jest zachowywana. Cóż, wygląda na to, że będzie trzeba wydać tych 15 zł na normalny certyfikat
