OpenSSL - CA. Kamil Bartocha November 28, 2010. 1 Tworzenie CA przy użyciu OpenSSL



Podobne dokumenty
Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL

Wygeneruj 8192-bitowy klucz RSA SHA-256 dla naszego głównego urzędu certyfikacji: ...++

Bezpieczeństwo systemów komputerowych, r.

Wykład 6. komputerowych Kryptografia asymetryczna główne slajdy. 9 listopada Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Instrukcja pozyskiwania certyfikatu

1 Przykłady algorytmów kryptograficznych

# katalog, w który zapisywane są certyfikaty crl_dir=$dir/crl

Przykłady algorytmów kryptograficznych. Algorytmy symetryczne. Algorytmy asymetryczne

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Konstrukcja urzędów certyfikacji standardu OpenSSL, zarządzanie certyfikatami

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 13

Instrukcja sprawdzani, podpisywani i szyfrowania plików do systemu CerBeR

MikroTik Serwer OpenVPN

Szyfrowanie w aplikacjach biblioteka Openssl

POLITYKA BEZPIECZEŃSTWA W MODULE IRAP

Java Code Signing UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Przewodnik użytkownika

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

Bezpieczeństwo systemów informatycznych

SENDMAIL (SMTP) + POP3 + SSL Użycie certyfikatów niekwalifikowanych w oprogramowaniu Sendmail wersja 1.3

SENDMAIL (SMTP) + POP3 + SSL Użycie certyfikatów niekwalifikowanych w oprogramowaniu Sendmail. wersja 1.2 UNIZETO TECHNOLOGIES SA

POSTFIX (SMTP) + POP3 + SSL. Użycie certyfikatów niekwalifikowanych w oprogramowaniu POSTFIX. wersja 1.4

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Tomcat. wersja 1.1

VSFTPd Użycie certyfikatów niekwalifikowanych w oprogramowaniuvsftpd. wersja 1.3 UNIZETO TECHNOLOGIES SA

Bezpieczeństwo Usług Sieciowych OpenSSL. dr inż. Tomasz Surmacz. 26 listopada 2014

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Toccat. wersja 1.0 UNIZETO TECHNOLOGIES S.A.

Płace Optivum. Jakie czynności musi wykonać pracownik, aby otrzymywać drogą elektroniczną paski z list płac?

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0 UNIZETO TECHNOLOGIES S.A.

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0

The Bat Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu The Bat. wersja 1.0

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

MultiInfo. Certyfikat dostępu do usługi

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Sieci i Aplikacje TCP/IP. Ćwiczenie nr 7

Provisioning Self-Sign Certificates

Laboratorium nr 4 Sieci VPN

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Instytut Teleinformatyki

Podpisywanie i bezpieczne uruchamianie apletów wg

Praca w programie dodawanie pisma.

Elementy zaczerpnięte z: Encryption & Security Tutorial (Peter Gutmann)

OpenVPN na dd-wrt

Laboratorium nr 6 VPN i PKI

Wspomaganie certyfikacji witryn internetowych za pomocą urzędów lokalnych

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Tworzenie certyfikatów OpenPGP/GnuPG w programie Kleopatra (element pakietu Gpg4win)

PGP - Pretty Good Privacy. Użycie certyfikatów niekwalifikowanych w programie PGP

PureFTPd Użycie certyfikatów niekwalifikowanych w oprogramowaniupureftpd. wersja 1.3

1 Tworzenie własnego zaproszenia dla powłoki bash

Strona 1 NUMPAGES INSTRUKCJA OBSŁUGI KARTY DARK. CENTRUM USŁUG ZAUFANIA SIGILLUM Wersja 1.0

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

FINNCA INS Instrukcja dla subskrybentów

Sieciowa instalacja Sekafi 3 SQL

Instrukcja użytkownika

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Procedura uzyskania certyfikatu do ZSMOPL na potrzeby ewaluacji

Stunnel - tunelowanie poczty po SSL Data: o godz. 00:01:32 Temat: FreeBSD - oprogramowanie itp.

Wstęp do systemów wielozadaniowych laboratorium 21 Szyfrowanie

Certum Certificates For WHMCS. Instalacja, Konfiguracja i Zarządzanie

Win Admin Monitor Instrukcja Obsługi

Laboratorium nr 5 Sieci VPN

Usługi sieciowe systemu Linux

System Użytkowników Wirtualnych

Uruchomienie nowego kontekstu aplikacji

Public Key Infrastructure (PKI) Krzysztof Boryczko Remigiusz Górecki

Strona 1 NUMPAGES INSTRUKCJA OBSŁUGI KARTY DARK. CENTRUM USŁUG ZAUFANIA SIGILLUM Wersja 1.1

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Wprowadzenie do OpenSSL

F8WEB CC Polityka Lokalnego Centrum Certyfikacji LCC

INSTRUKCJA INSTALACJI I OBSŁUGI GPG4Win

Konfiguracja OpenVPN Parę słów o VPN i OpenVPN

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Backend Administratora

Podstawy Secure Sockets Layer

Instrukcja obsługi programu altbackup

I. Uruchomić setup i postępować według instrukcji

Karty kryptograczne w ±rodowisku Linux

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Sieci VPN. Zdalna praca i bezpieczeñstwo danych

11. Autoryzacja użytkowników

Polityka Certyfikacji dla Certyfikatów PEMI

Konfiguracja urządzeń Connectra (SSL VPN) w zintegrowanym środowisku zarządzania Check Point SmartCenter

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Bezpieczna poczta elektroniczna tunelowanie po protokole SSL

Implementacje IPsec - Linuks

Stanisław Jankowski

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

OpenSSL. Praca z OpenSSL wprowadzenie 3. (99.8% serwerów wspiera wersj e 3.0 SSL, 99.4% wspiera wersj e 1.0 TLS) Stan z kwietnia 2013.

Instrukcja instalacji oprogramowania dla środowiska MacOS

APACHE SSL Linux. Użycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE SSL Linux. wersja 1.5

System Symfonia e-dokumenty

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

trainxx tramxx

Transkrypt:

OpenSSL - CA Kamil Bartocha November 28, 2010 1 Tworzenie CA przy użyciu OpenSSL 1.1 Przygotowanie CA Najwygodniejszym rozwiązaniem jest stworzenie struktury katalogów, która będzie przechowywała pliki CA. Mogą to być np. dwa katalogi signedcerts (do przechowywania podpisanych certyfikatów) i private do przechowywania klucza prywatnego CA. mkdir -p myca/signedcerts mkdir myca/private cd myca W kolejnym kroku należy stworzyć bazę certyfikatów. W pliku serial przechowywany będzie numer kolejnego certyfikatu, a w pliku index.txt rejestr certyfikatów. echo 01 > serial touch index.txt Następnie należy stworzyć plik konfiguracji myca/caconfig.cnf na podstawie przykładu: My sample caconfig.cnf file. Default configuration to use when one is not provided on the command line. [ ca ] default_ca = local_ca Default location of directories and files needed to generate certificates. 1

[ local_ca ] dir = [KATALOG DLA CA]/myCA certificate = $dir/cacert.pem database = $dir/index.txt new_certs_dir = $dir/signedcerts private_key = $dir/private/cakey.pem serial = $dir/serial Default expiration and encryption policies for certificates. default_crl_days = 365 default_days = 1825 default_md = md5 policy = local_ca_policy x509_extensions = local_ca_extensions Default policy to use when generating server certificates. The following fields must be defined in the server certificate. [ local_ca_policy ] stateorprovincename organizationname organizationalunitname x509 extensions to use when generating server certificates. [ local_ca_extensions ] subjectaltname = DNS:[ADRES] basicconstraints = CA:false nscerttype = server The default root certificate generation policy. [ req ] default_bits = 2048 default_keyfile = [KATALOG CA]/private/cakey.pem default_md = md5 2

prompt = no distinguished_name = root_ca_distinguished_name x509_extensions = root_ca_extensions Root Certificate Authority distinguished name. Change these fields to match your local environment! [ root_ca_distinguished_name ] = [NAZWA] stateorprovincename = [REGION] = [KRAJ] = [EMAIL] organizationname = [NAZWA ORGANIZACJI] organizationalunitname = [NAZWA CZESCI ORG] [ root_ca_extensions ] basicconstraints = CA:true Domyślnie, program OpenSSL wczytuje konfigurację z pliku /etc/ssl/openssl.cnf. Należy zatem przestawić na czas pracy z CA ścieżkę do konfiguracji: export OPENSSL_CONF=[sciezka]/myCA/caconfig.cnf 1.2 Tworzenie certyfikatu CA Następnie można wygenerować certyfikat główny dla CA: openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1825 Gdzie poszczególne parametry oznaczają: req podpolecenie openssl, -x509 wygenerowanie certyfikatu w standardzie x.509, -newkey generowanie nowej pary kluczy, rsa:2048 wybór algorytmu RSA i klucza o rozmiarze 2048 bitów, -out cacert.pem plik, do którego zostanie zapisany certyfikat, -outform PEM wybór formatu pliku, -days 1825 czas ważności certyfikatu. 3

Do wyświetlania zawartości certyfikatu służy następujące polecenie: openssl x509 -in./cacert.pem -noout -text 1.3 Tworzenie certyfikatu np. dla serwera www W kolejnym kroku możemy stworzyć certyfikat dla serwera WWW organizacji podpisując go stworzonym CA. Należy w tym celu stworzyć nowy plik konfiguracyjny myca/wwwserver.cnf, wg. wzoru: exampleserver.cnf [ req ] prompt distinguished_name = no = server_distinguished_name [ server_distinguished_name ] = www.[nazwa] stateorprovincename = [REGION] = [KRAJ] = [EMAIL] organizationname = [ORGANIZACJA] organizationalunitname = [JEDNOSTKA] Konfigurację tę używamy zmieniając zawartość zmiennej środowiskowej openssl, a następnie generujemy certyfikat. export OPENSSL_CONF=[SCIEZKA]/myCA/wwwserver.cnf openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM \ -out tempreq.pem -outform PEM Dodatkowo generowany jest klucz prywatny dla serwera (do połączeń po https), ale jest on domyślnie zaszyfrowany. Jeśli zostanie w takiej postaci wgrany do serwera www (np. apache), to przy każdym starcie będzie wymagane wprowadzenie hasła. Klucz taki należy zatem odszyfrować poleceniem: openssl rsa < tempkey.pem > server_key.pem Następnie CA może podpisać certyfikat serwera www: export OPENSSL_CONF=[SCIEZKA]/myCA/caconfig.cnf openssl ca -in./tempreq.pem -out server_crt.pem 4

W wyniku tych operacji otrzymujemy dwa pliki server_crt.pem (certyfikat) oraz server_key.pem (odszyfrowany klucz prywatny dla serwera). 1.4 Tworzenie prośby o podpisanie certyfikatu CA przez nadrzędne CA Stworzony wcześniej certyfikat dla naszego CA jest typu self-signed (tzn. podpisany przez to samo CA, na które jest wystawiony). Certyfikaty tego typu są uznawane za mniej bezpieczne i powinny być docelowo podpisane przez nadrzędną jednostkę certyfikującą. Aby wygenerować plik prośbę o podpis, należy wykonać polecenie: openssl req -new -key./private/cakey.pem -out./myreq.pem Plik myreq.pem może zostać teraz wysłany do nadrzędnego CA. 1.5 Tworzenie CRL (Certificate Revocation List) Lista CRL pozwala wycofywać certyfikaty przed czasem upływu ich ważności. Należy ją publikować w ściśle określonych odstępach czasu, a oprogramowanie korzystające z certyfikatów powinno automatycznie sprawdzać jej zawartość (nie zawsze tak się dzieje). W przypadku gdy używana jest konfiguracja CA (tzn. stosowny plik został wczytany do zmiennej środowiskowej OPENSSL_CONF) lista tworzona jest poleceniem: openssl ca -gencrl -out mycrl.pem Można również podać wprost położenie pliku z certyfikatem CA oraz kluczem prywatnym: openssl ca -gencrl -keyfile./private/cakey.pem -cert./cacert.pem -out mycrl.pem Certyfikaty dodaje się do listy za pomocą polecenia: openssl ca -revoke [plik z certyfikatem do cofniecia] Następnie należy okresowo generować nowe listy CRL. Do sprawdzania zawartości listy służy polecenie: openssl crl -in./mycrl.pem -noout -text 5