Co to są pliki .crt i .key i jak je wygenerować?

59

Mam następującą konfigurację:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

ale nie wiem jak generować .crti .keypliki.

Mohammad Ali Akbari
źródło

Odpowiedzi:

64

Pliki crt i key reprezentują obie części certyfikatu, przy czym klucz jest kluczem prywatnym do certyfikatu, a crt jest certyfikatem podpisanym.

To tylko jeden ze sposobów generowania certyfikatów, innym sposobem byłoby umieszczenie obu w pliku pem lub innym w kontenerze p12.

Istnieje kilka sposobów generowania tych plików. Jeśli chcesz samopodpisać certyfikat, możesz po prostu wydać te polecenia

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

Pamiętaj, że w przypadku certyfikatów z podpisem własnym przeglądarka ostrzega, że ​​certyfikat nie jest „zaufany”, ponieważ nie został podpisany przez urząd certyfikacji znajdujący się na liście zaufania przeglądarki.

Odtąd możesz albo wygenerować własny łańcuch zaufania, tworząc urząd certyfikacji, albo kupić certyfikat od firmy takiej jak Verisign lub Thawte.

Lynxman
źródło
po uruchomieniu „openssl genrsa 1024> host.key” Dostałem to w terminalu: „e to 65537 (0x10001)” czy to błąd?
Mohammad Ali Akbari
1
Tak, oznacza to, że openssl nie może zapisać losowego ziarna do domyślnego pliku, którego używa, który jest zdefiniowany przez openssl.cnf, domyślnie w CentOS / RHEL ten plik znajduje się w /etc/pki/tls/openssl.cnf. W takim przypadku spróbuj wykonać te same polecenia, co root.
lynxman,
Próbuję go jako root, ale znów dostaję „e to 65537 (0x10001)”
Mohammad Ali Akbari
1
Czy masz aktywowany SELinux na swoim komputerze? Sprawdź / var / log / messages, aby zobaczyć, dlaczego openssl nie może zapisać pliku
lynxman,
3
letsencrypt.org to darmowy dostawca ssl. Spójrz na to, zamiast płacić dużo pieniędzy tym firmom.
Kaan
6

Są to publiczne (.crt) i prywatne (.key) części certyfikatu SSL. Zobacz to pytanie, aby uzyskać mnóstwo istotnych informacji, np. Jeśli chcesz samodzielnie wygenerować certyfikat lub go kupić.

mad_vs
źródło
Podstawowe pytanie, ale - Zakładam, że powinienem skopiować plik .key do mojego ~/.sshfolderu, kiedy przesyłam plik CSR do mojego dostawcy ssl?
Qasim
1
@Qasim Pliki SSL nie mają nic wspólnego z SSH (do czego należy folder .ssh).
mad_vs