Jak być własnym urzędem certyfikacji (ze zdjęciami)

Spisu treści:

Jak być własnym urzędem certyfikacji (ze zdjęciami)
Jak być własnym urzędem certyfikacji (ze zdjęciami)

Wideo: Jak być własnym urzędem certyfikacji (ze zdjęciami)

Wideo: Jak być własnym urzędem certyfikacji (ze zdjęciami)
Wideo: Jak ustawić konto prywatne na Instagramie ? - Profil prywatny na Instagramie 2024, Może
Anonim

Uzyskanie certyfikatu SSL od dowolnego z głównych urzędów certyfikacji (CA) może kosztować 100 USD i więcej. Dodaj do tego wiadomości, które zdają się wskazywać, że nie wszystkim ustanowionym urzędom certyfikacji można ufać w 100%, a możesz zdecydować się obejść niepewność i wyeliminować koszty, będąc własnym urzędem certyfikacji.

Kroki

Część 1 z 4: Tworzenie certyfikatu CA

Bądź swoim własnym urzędem certyfikacji Krok 1
Bądź swoim własnym urzędem certyfikacji Krok 1

Krok 1. Wygeneruj klucz prywatny urzędu certyfikacji, wydając następujące polecenie

  • openssl genrsa -des3 -out server. CA.key 2048

  • Wyjaśnione opcje

    • openssl - nazwa oprogramowania
    • genrsa - tworzy nowy klucz prywatny
    • -des3 – zaszyfruj klucz za pomocą szyfru DES
    • -out server. CA.key - nazwa twojego nowego klucza
    • 2048 - długość w bitach klucza prywatnego (patrz ostrzeżenia)
  • Przechowuj ten certyfikat i hasło w bezpiecznym miejscu.
Bądź swoim własnym urzędem certyfikacji Krok 2
Bądź swoim własnym urzędem certyfikacji Krok 2

Krok 2. Utwórz żądanie podpisania certyfikatu

  • openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256

  • Wyjaśnione opcje:

    • req - Tworzy żądanie podpisania
    • -verbose - pokazuje szczegóły dotyczące żądania w trakcie jego tworzenia (opcjonalnie)
    • -new - tworzy nowe żądanie
    • -key server. CA.key - klucz prywatny, który właśnie utworzyłeś powyżej.
    • -out server. CA.csr - Nazwa pliku żądania podpisania, które tworzysz
    • sha256 - Algorytm szyfrowania używany do podpisywania żądań (jeśli nie wiesz, co to jest, nie zmieniaj tego. Powinieneś to zmienić tylko wtedy, gdy wiesz, co robisz)
Bądź swoim własnym urzędem certyfikacji Krok 3
Bądź swoim własnym urzędem certyfikacji Krok 3

Krok 3. Wypełnij informacje jak najwięcej

  • Nazwa kraju (kod 2-literowy) [AU]:

    nas

  • Nazwa stanu lub prowincji (pełna nazwa) [Some-State]:

    CA

  • Nazwa miejscowości (np. miasto) :

    Dolina Krzemowa

  • Nazwa organizacji (np. firma) [Internet Widgits Pty Ltd]:

    wikiHow, Inc.

  • Nazwa jednostki organizacyjnej (np. sekcja) :
  • Nazwa pospolita (np. FQDN serwera lub TWOJA nazwa) :

  • Adres e-mail :

Bądź swoim własnym urzędem certyfikacji Krok 4
Bądź swoim własnym urzędem certyfikacji Krok 4

Krok 4. Podpisz swój certyfikat:

  • openssl ca -extensions v3_ca -out server. CA-signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr

  • Wyjaśnione opcje:

    • ca - ładuje moduł urzędu certyfikacji
    • -extension v3_ca - Ładuje rozszerzenie v3_ca, niezbędne do użytku w nowoczesnych przeglądarkach
    • -out server. CA-signed.crt - Nazwa twojego nowego podpisanego klucza
    • -keyfile server. CA.key - Klucz prywatny utworzony w kroku 1
    • -verbose - pokazuje szczegóły dotyczące żądania w trakcie jego tworzenia (opcjonalnie)
    • -selfsign - Informuje openssl, że używasz tego samego klucza do podpisania żądania
    • -md sha256 - Algorytm szyfrowania do użycia w wiadomości. (Jeśli nie wiesz, co to jest, nie zmieniaj tego. Zmieniaj to tylko wtedy, gdy wiesz, co robisz)
    • -enddate 330630235959Z - Data końcowa certyfikatu. Notacja to YYMMDDHHMMSSZ, gdzie Z jest w GMT, czasem nazywanym czasem „Zulu”.
    • -infiles server. CA.csr - plik żądania podpisania utworzony w powyższym kroku.
Bądź swoim własnym urzędem certyfikacji Krok 5
Bądź swoim własnym urzędem certyfikacji Krok 5

Krok 5. Sprawdź certyfikat CA

  • openssl x509 -noout -text -in server. CA.crt
  • Wyjaśnione opcje:

    • x509 - ładuje moduł x509 w celu sprawdzenia podpisanych certyfikatów.
    • -noout - Nie wyświetlaj zakodowanego tekstu
    • -text - wyświetla informacje na ekranie
    • -in server. CA.crt - Załaduj podpisany certyfikat
  • Plik server. CA.crt może być dystrybuowany do każdego, kto będzie korzystał z Twojej witryny lub używał certyfikatów, które planujesz podpisać.

Część 2 z 4: Tworzenie certyfikatów SSL dla usługi, takiej jak Apache

Bądź swoim własnym urzędem certyfikacji Krok 6
Bądź swoim własnym urzędem certyfikacji Krok 6

Krok 1. Utwórz klucz prywatny

  • openssl genrsa -des3 -out server.apache.key 2048

  • Wyjaśnione opcje:

    • openssl - nazwa oprogramowania
    • genrsa - tworzy nowy klucz prywatny
    • -des3 – zaszyfruj klucz za pomocą szyfru DES
    • -out server.apache.key - nazwa twojego nowego klucza
    • 2048 - długość w bitach klucza prywatnego (patrz ostrzeżenia)
  • Przechowuj ten certyfikat i hasło w bezpiecznym miejscu.
Bądź swoim własnym urzędem certyfikacji Krok 7
Bądź swoim własnym urzędem certyfikacji Krok 7

Krok 2. Utwórz żądanie podpisania certyfikatu

  • openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256

  • Wyjaśnione opcje:

    • req - Tworzy żądanie podpisania
    • -verbose - pokazuje szczegóły dotyczące żądania w trakcie jego tworzenia (opcjonalnie)
    • -new - tworzy nowe żądanie
    • -key server.apache.key - klucz prywatny, który właśnie utworzyłeś powyżej.
    • -out server.apache.csr - Nazwa pliku żądania podpisania, które tworzysz
    • sha256 - Algorytm szyfrowania używany do podpisywania żądań (jeśli nie wiesz, co to jest, nie zmieniaj tego. Powinieneś to zmienić tylko wtedy, gdy wiesz, co robisz)
Bądź swoim własnym urzędem certyfikacji Krok 8
Bądź swoim własnym urzędem certyfikacji Krok 8

Krok 3. Użyj certyfikatu CA do podpisania nowego klucza

  • openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr

  • Wyjaśnione opcje:

    • ca - ładuje moduł urzędu certyfikacji
    • -out server.apache.pem - Nazwa pliku podpisanego certyfikatu
    • -keyfile server. CA.key - Nazwa pliku certyfikatu CA, który będzie podpisywał żądanie
    • -infiles server.apache.csr - Nazwa pliku żądania podpisania certyfikatu
Bądź swoim własnym urzędem certyfikacji Krok 9
Bądź swoim własnym urzędem certyfikacji Krok 9

Krok 4. Wypełnij informacje jak najwięcej:

  • Nazwa kraju (kod 2-literowy) [AU]:

    nas

  • Nazwa stanu lub prowincji (pełna nazwa) [Some-State]:

    CA

  • Nazwa miejscowości (np. miasto) :

    Dolina Krzemowa

  • Nazwa organizacji (np. firma) [Internet Widgits Pty Ltd]:

    wikiHow, Inc.

  • Nazwa jednostki organizacyjnej (np. sekcja) :
  • Nazwa pospolita (np. FQDN serwera lub TWOJA nazwa) :

  • Adres e-mail :

Bądź swoim własnym urzędem certyfikacji Krok 10
Bądź swoim własnym urzędem certyfikacji Krok 10

Krok 5. Zapisz kopię swojego klucza prywatnego w innej lokalizacji

Utwórz klucz prywatny bez hasła, aby uniemożliwić Apache monitowanie o hasło:

  • openssl rsa -in server.apache.key -out server.apache.unsecured.key

  • Wyjaśnione opcje:

    • rsa - Uruchamia program szyfrujący RSA
    • -in server.apache.key - nazwa klucza, który chcesz przekonwertować.
    • -out server.apache.unsecured.key - Nazwa pliku nowego niezabezpieczonego klucza
Bądź swoim własnym urzędem certyfikacji Krok 11
Bądź swoim własnym urzędem certyfikacji Krok 11

Krok 6. Użyj wynikowego pliku server.apache.pem wraz z kluczem prywatnym wygenerowanym w kroku 1, aby skonfigurować plik apache2.conf

Część 3 z 4: Tworzenie certyfikatu użytkownika do uwierzytelniania

Bądź swoim własnym urzędem certyfikacji Krok 12
Bądź swoim własnym urzędem certyfikacji Krok 12

Krok 1. Wykonaj wszystkie kroki opisane w _Tworzenie certyfikatów SSL dla Apache_

Bądź swoim własnym urzędem certyfikacji Krok 13
Bądź swoim własnym urzędem certyfikacji Krok 13

Krok 2. Przekonwertuj podpisany certyfikat na PKCS12

openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12

Część 4 z 4: Tworzenie certyfikatów e-mail S/MIME

Bądź swoim własnym urzędem certyfikacji Krok 14
Bądź swoim własnym urzędem certyfikacji Krok 14

Krok 1. Utwórz klucz prywatny

openssl genrsa -des3 -out private_email.key 2048

Bądź swoim własnym urzędem certyfikacji Krok 15
Bądź swoim własnym urzędem certyfikacji Krok 15

Krok 2. Utwórz żądanie podpisania certyfikatu

openssl req -new -key private_email.key -out private_email.csr

Bądź swoim własnym urzędem certyfikacji Krok 16
Bądź swoim własnym urzędem certyfikacji Krok 16

Krok 3. Użyj certyfikatu CA do podpisania nowego klucza

openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr

Bądź swoim własnym urzędem certyfikacji Krok 17
Bądź swoim własnym urzędem certyfikacji Krok 17

Krok 4. Przekonwertuj certyfikat na PKCS12

openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12

Bądź swoim własnym urzędem certyfikacji Krok 18
Bądź swoim własnym urzędem certyfikacji Krok 18

Krok 5. Utwórz certyfikat klucza publicznego do dystrybucji

openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "Klucz publiczny WikiHow"

Porady

Zawartość kluczy PEM można zmieniać, wydając następujące polecenie: openssl x509 -noout -text -in certificate.pem

Ostrzeżenia

  • Klucze 1024-bitowe są uważane za przestarzałe. Klucze 2048-bitowe są uważane za bezpieczne dla certyfikatów użytkowników do 2030 r., ale są uważane za niewystarczające dla certyfikatów głównych. Rozważ te luki podczas tworzenia certyfikatów.
  • Większość nowoczesnych przeglądarek domyślnie wyświetla ostrzeżenie „Niezaufany certyfikat”, gdy ktoś odwiedza Twoją witrynę. Toczyło się wiele dyskusji na temat sformułowania tych ostrzeżeń, ponieważ użytkownicy nietechniczni mogą zostać zaskoczeni. Często najlepiej jest użyć głównego autorytetu, aby użytkownicy nie otrzymywali ostrzeżeń.

Zalecana: