<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo tworzyć i **automatyzować przepływy pracy** przy użyciu najbardziej zaawansowanych narzędzi społecznościowych na świecie.\
**Certyfikat klucza publicznego** to cyfrowe ID używane w kryptografii do udowodnienia, że ktoś jest właścicielem klucza publicznego. Zawiera szczegóły klucza, tożsamość właściciela (podmiotu) oraz cyfrowy podpis od zaufanego organu (wydawcy). Jeśli oprogramowanie ufa wydawcy i podpis jest prawidłowy, możliwa jest bezpieczna komunikacja z właścicielem klucza.
Certyfikaty są głównie wydawane przez [organizacje certyfikujące](https://en.wikipedia.org/wiki/Certificate_authority) (CA) w ramach [infrastruktury klucza publicznego](https://en.wikipedia.org/wiki/Public-key_infrastructure) (PKI). Inną metodą jest [sieć zaufania](https://en.wikipedia.org/wiki/Web_of_trust), w której użytkownicy bezpośrednio weryfikują klucze innych użytkowników. Powszechnym formatem certyfikatów jest [X.509](https://en.wikipedia.org/wiki/X.509), który można dostosować do konkretnych potrzeb, zgodnie z RFC 5280.
- **Numer seryjny** jednoznacznie identyfikuje certyfikat w systemie Organizacji Certyfikującej (CA), głównie w celu śledzenia unieważnienia.
- Pole **Podmiot** reprezentuje właściciela certyfikatu, który może być maszyną, osobą fizyczną lub organizacją. Zawiera szczegółowe dane identyfikacyjne, takie jak:
- **Kraj (C)**, **Miejscowość (L)**, **Stan lub prowincja (ST, S lub P)**, **Organizacja (O)** i **Jednostka organizacyjna (OU)** dostarczają informacje geograficzne i organizacyjne.
- **Nazwa wyróżniająca (DN)** zawiera pełną identyfikację podmiotu.
- **Wydawca** podaje informacje o osobie, która zweryfikowała i podpisała certyfikat, zawierając podobne podpola jak Podmiot dla CA.
- **Okres ważności** jest oznaczony znacznikami **Nie wcześniej niż** i **Nie później niż**, zapewniając, że certyfikat nie jest używany przed określoną datą ani po niej.
- Sekcja **Klucz publiczny**, kluczowa dla bezpieczeństwa certyfikatu, określa algorytm, rozmiar i inne techniczne szczegóły klucza publicznego.
- **Rozszerzenia x509v3** zwiększają funkcjonalność certyfikatu, określając **Użycie klucza**, **Rozszerzone użycie klucza**, **Alternatywną nazwę podmiotu** i inne właściwości, aby dostosować certyfikat do konkretnego zastosowania.
- **Użycie klucza** identyfikuje kryptograficzne zastosowania klucza publicznego, takie jak podpis cyfrowy lub szyfrowanie klucza.
- **Rozszerzone użycie klucza** bardziej precyzuje przypadki użycia certyfikatu, np. do uwierzytelniania serwera TLS.
- **Alternatywna nazwa podmiotu** i **Podstawowe ograniczenie** definiują dodatkowe nazwy hostów objęte certyfikatem oraz czy jest to certyfikat CA czy jednostki końcowej.
- Identyfikatory, takie jak **Identyfikator klucza podmiotu** i **Identyfikator klucza wydawcy**, zapewniają unikalność i możliwość śledzenia kluczy.
- **Dostęp do informacji o wydawcy** i **Punkty dystrybucji listy unieważnień** dostarczają ścieżki do weryfikacji wydającego CA i sprawdzenia stanu unieważnienia certyfikatu.
- **CT Precertificate SCTs** oferują dzienniki przejrzystości, kluczowe dla publicznego zaufania do certyfikatu.
**OCSP** (**RFC 2560**) polega na współpracy klienta i respondera w celu sprawdzenia, czy cyfrowy certyfikat klucza publicznego został unieważniony, bez konieczności pobierania pełnego **CRL**. Ta metoda jest bardziej wydajna niż tradycyjny **CRL**, który zawiera listę unieważnionych numerów seryjnych certyfikatów, ale wymaga pobrania potencjalnie dużego pliku. CRL może zawierać do 512 wpisów. Więcej szczegółów można znaleźć [tutaj](https://www.arubanetworks.com/techdocs/ArubaOS%206_3_1_Web_Help/Content/ArubaFrameStyles/CertRevocation/About_OCSP_and_CRL.htm).
Transparentność Certyfikatów pomaga zwalczać zagrożenia związane z certyfikatami, zapewniając, że wydawanie i istnienie certyfikatów SSL są widoczne dla właścicieli domen, CA i użytkowników. Jej cele to:
Rejestry certyfikatów to publicznie audytowalne, tylko do odczytu zapisy certyfikatów, utrzymywane przez usługi sieciowe. Rejestry te dostarczają dowodów kryptograficznych w celach audytowych. Zarówno wydawcy certyfikatów, jak i publiczność mogą przesyłać certyfikaty do tych rejestrów lub zapytać o nie w celu weryfikacji. Chociaż dokładna liczba serwerów rejestrów nie jest ustalona, oczekuje się, że będzie ich mniej niż tysiąc na całym świecie. Serwery te mogą być niezależnie zarządzane przez CA, dostawców usług internetowych lub dowolną zainteresowaną jednostkę.
Istnieją różne formaty przechowywania certyfikatów, z różnymi zastosowaniami i kompatybilnością. Ten podsumowanie obejmuje główne formaty i udziela wskazówek dotyczących konwersji między nimi.
Aby przekonwertować plik w formacie PEM na format DER, można użyć narzędzia OpenSSL. Poniżej znajduje się polecenie, które można użyć do wykonania tej konwersji:
Gdzie `certificate.pem` to nazwa pliku w formacie PEM, który chcesz przekonwertować, a `certificate.der` to nazwa pliku wynikowego w formacie DER. Po wykonaniu tego polecenia, plik w formacie PEM zostanie przekonwertowany na format DER.
Aby przekonwertować plik w formacie PEM na format P7B, można użyć narzędzia OpenSSL. Poniżej znajduje się polecenie, które można użyć do wykonania tej konwersji:
Gdzie `certificate.pem` to ścieżka do pliku w formacie PEM, który chcesz przekonwertować, a `certificate.p7b` to nazwa pliku wynikowego w formacie P7B. Po wykonaniu tego polecenia, plik w formacie P7B zostanie utworzony i będzie zawierał certyfikat z pliku PEM.
Aby przekonwertować plik w formacie PEM na format PKCS8, można użyć narzędzia OpenSSL. Poniżej przedstawiono polecenie, które można wykorzystać do wykonania tej konwersji:
W powyższym poleceniu należy zamienić `private_key.pem` na nazwę pliku zawierającego klucz prywatny w formacie PEM, który chcemy przekonwertować. Po wykonaniu tego polecenia, zostanie utworzony plik `private_key_pkcs8.pem`, który będzie zawierał klucz prywatny w formacie PKCS8.
4. Zostaniesz poproszony o wprowadzenie hasła dla pliku PFX. Wprowadź odpowiednie hasło i zatwierdź.
5. Po zakończeniu procesu, plik PFX zostanie utworzony w bieżącym folderze. Możesz go teraz użyć do różnych celów, takich jak importowanie certyfikatu do przeglądarki lub serwera.
Pamiętaj, że plik PFX zawiera zarówno certyfikat, jak i klucz prywatny, dlatego ważne jest, aby zachować go w bezpiecznym miejscu i nie udostępniać go publicznie.
Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo tworzyć i **automatyzować przepływy pracy** przy użyciu najbardziej zaawansowanych narzędzi społecznościowych na świecie.\
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.