Skonfigurowałem SSL na moim serwerze internetowym, teraz potrzebuję dwóch plików:
- certyfikat
- klucz certyfikatu
Jak utworzyć samopodpisany certyfikat do celów testowych?
Skonfigurowałem SSL na moim serwerze internetowym, teraz potrzebuję dwóch plików:
Jak utworzyć samopodpisany certyfikat do celów testowych?
Odpowiedzi:
Ubuntu, nawet ten „minimalny” smak, ma ssl-cert
fabrycznie zainstalowany pakiet, co oznacza, że nie musisz nic robić.
Pliki, których szukasz, są już w twoim systemie:
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
Zaawansowane:
Jeśli z jakiegoś powodu musisz utworzyć nowy certyfikat, możesz uruchomić
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Jeśli chcesz zmienić datę ważności certyfikatu, możesz manipulować skryptem make-ssl-cert pod adresem /usr/sbin/make-ssl-cert
. Około 124 ma linię podobną do tej:
openssl req -config $TMPFILE -new -x509 -nodes \
Gdzie możesz zmienić datę ważności, dodając -days
argument:
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Więcej opcji można znaleźć na stronie podręcznikareq
.
/usr/share/ssl-cert/ssleay.cnf
.
www.test.mydomain.com
), Używając hostname
polecenia w interfejsie CLI maszyny wirtualnej. Następnie ponownie wygeneruj klucz, tak jak sugerujesz, za --force-overwrite
pomocą Common Name (CN) klucza, a następnie dopasuj adres URL testu. Wreszcie na komputerze hosta instalacja klucza jako zaufanego głównego urzędu certyfikacji (w Ustawieniach Chrome / Zaawansowane) dała mi pożądany zielony pasek adresu.
make-ssl-cert
polecenie uratowało mi dzień!
Jak już wspomniano, Ubuntu Server zawiera niezbędne narzędzia. W zależności od wersji serwera musisz sprawdzić konkretną dokumentację . Spróbuję podsumować proces generowania samopodpisanego certyfikatu bieżącego LTS (12.04) .
Najpierw wygeneruj klucze dla żądania podpisania certyfikatu (CSR):
openssl genrsa -des3 -out server.key 2048
To od Ciebie zależy, czy wpiszesz hasło, czy nie. Jeśli to zrobisz, za każdym razem, gdy ponownie uruchomisz usługę przy użyciu tego certyfikatu, musisz podać hasło. Możesz utworzyć „niezabezpieczony” klucz bez hasła z bezpiecznego:
openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key
A teraz stworzysz CSR z klucza. Za pomocą CSR i klucza można wygenerować samopodpisany certyfikat:
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Ostatni krok polega na zainstalowaniu certyfikatu i klucza, w Debian / Ubuntu zwykle w /etc/ssl
:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Wreszcie aplikacje korzystające z certyfikatu / klucza muszą zostać odpowiednio skonfigurowane.