| OPENSSL(1SSL) | OpenSSL | OPENSSL(1SSL) |
openssl - program wiersza poleceń do biblioteki OpenSSL
openssl polecenie [ opcje ... ] [ parametry ... ]
openssl no-XXX [ opcje ]
openssl -help | -version
OpenSSL to zestaw narzędzi kryptograficznych implementujący protokoły sieciowe Secure Sockets Layer (SSL) i Transport Layer Security (TLS) oraz wymagane przez nie standardy kryptograficzne.
Program openssl to program wiersza poleceń przeznaczony do używania różnych funkcji kryptograficznych biblioteki crypto OpenSSL z poziomu powłoki. Można go używać do:
o Tworzenia i zarządzania kluczami prywatnymi, publicznymi i ich parametrami o Operacji kryptograficznych na kluczach publicznych o Wystawiania certyfikatów X.509, CSR oraz CRL o Obliczania skrótów wiadomości i kodów uwierzytelniania wiadomości o Szyfrowania i deszyfrowania o Testowania klientów i serwerów SSL/TLS o Obsługi poczty z podpisem S/MIME lub zaszyfrowanej o Generowania i weryfikowania żądań znaczników czasowych
Program openssl dostarcza wielu różnych poleceń (polecenie w rozdziale „SKŁADNIA” powyżej). Każde ma mnóstwo opcji i argumentów, pokazanych powyżej jako opcje i parametry.
Dostępna jest szczegółowa dokumentacja i przykłady użycia dla najpopularniejszych podpoleceń (np. openssl-x509(1)). Podpoleceniem openssl-list(1) można wypisać listę podpoleceń.
Polecenie no-XXX sprawdza obecność polecenia o podanej nazwie. Jeśli XXX nie jest dostępne, zwraca 0 (kod powodzenia) i wypisuje no-XXX; w przeciwnym razie zwraca 1 i wypisuje XXX. W obydwu przypadkach efekty są kierowane na standardowe wyjście i nic nie pojawia się na standardowym wyjściu błędów. Dodatkowe argumenty wiersza poleceń są zawsze ignorowane. Ponieważ każdy szyfr jest wywoływany przez polecenie o takiej samej nazwie jak on sam, łatwo sprawdzić dostępność szyfrów w openssl z poziomu powłoki. (no-XXX nie potrafi wykrywać pseudopoleceń takich jak quit, list, czy samego no-XXX).
Wiele poleceń korzysta z zewnętrznego pliku konfiguracyjnego do kilku lub wszystkich argumentów i może posiadać opcję -config określającą taki plik. Domyślną nazwą pliku jest openssl.cnf w domyślnym miejscu przechowywania certyfikatów, który można sprawdzić poleceniem openssl-version(1) z opcją -d lub -a. Zmienna środowiskowa OPENSSL_CONF może posłużyć do określenia innego położenia pliku lub wyłączenia ładowania konfiguracji (podając pusty łańcuch).
Plik konfiguracyjny może być używany między innymi do ładowania modułów i określania parametrów do generowania certyfikatów oraz liczb losowych. Więcej szczegółów w podręczniku config(5).
Poniższe aliasy zapewniają wygodny dostęp do najpopularniejszych kodowań i szyfrów.
W zależności od sposobu skonfigurowania i zbudowania OpenSSL, nie wszystkie poniższe szyfry mogą być obecne. Więcej informacji w podręczniku openssl-enc(1).
Dostępne opcje zależą od konkretnego polecenia. Niniejszy rozdział opisuje najczęstsze opcje z ich standardowym zachowaniem.
Poniższe opcje można podać bez polecenia, aby uzyskać pomoc lub informacje o wersji.
openssl verify [flagi...] -- -cert1.pem...
Zob. podręcznik openssl-format-options(1).
Zob. podręcznik openssl-passphrase-options(1).
Przed OpenSSL 1.1.1, częstą praktyką było przechowywanie informacji o stanie generatora liczb losowych w pliku, który był ładowany przy starcie i nadpisywany przy wyjściu. We współczesnych systemach operacyjnych zwykle nie jest to dłużej konieczne, ponieważ OpenSSL pobierze ziarno z zaufanego źródła entropii, zapewnionego przez system operacyjny. Poniższe opcje są wciąż obsługiwane w celu obsługi specjalnych platfor lub przypadków, które mogą ich wymagać.
Zwykle błędem jest używanie tego samego pliku z ziarnem więcej niż jednokrotnie, a każde zastosowanie -rand powinno być połączone z -writerand.
Zob. podręcznik openssl-verification-options(1).
Zob. podręcznik openssl-namedisplay-options(1).
Wiele poleceń używa SSL, TLS lub DTLS. Domyślnie polecenia używają TLS, a klienty informują o najniższej i najwyższej obsługiwanej przez nie wersji, po czym serwery wybierają najwyższą wersję oferowaną przez klienta, którą obsługuje również serwer.
Poniższych opcji można użyć, aby ograniczyć wersje protokołu, jakich będzie można użyć oraz aby wybrać, czy będzie stosowane TCP (SSL i TLS) czy UDP (DTLS). Proszę zauważyć, że nie wszystkie protokoły i opcje mogą być dostępne, w zależności od sposobu, w jaki zbudowano OpenSSL.
Silnik zostanie użyty do identyfikatorów kluczy podanych opcją -key i podobnymi opcjami, gdy poda się opcję taką jak -keyform engine.
Specjalnym przypadkiem jest silnik „loader_attic”, który jest przeznaczony do wewnętrznych testów OpenSSL i obsługuje ładowanie kluczy, parametrów, certyfikatów i CRL-i z plików. Gdy korzysta się z tego silnika, pliki z takimi poświadczeniami są odczytywane poprzez ten silnik. Korzystanie z postaci „file:” jest opcjonalne, wystarczy sam plik (ścieżka).
Opcje określające klucze, takie jak -key i podobne, mogą korzystać z podstawowej postaci URI ładowania kluczy silnika OpenSSL „org.openssl.engine:”, aby pobierać klucze prywatne i publiczne. Składnia URI jest następująca, w uproszczonej postaci:
org.openssl.engine:{id-silnika}:{id-klucza}
Gdzie „{id-silnika}” jest identyfikatorem/nazwą silnika a „{id-klucza}” jest identyfikatorem klucza akceptowanym przez silnik. Na przykład, gdy używa się silnika, które łączy się z implementacją PKCS#11, podstawowe URI klucza wyglądałoby mniej więcej tak (przy okazji jest to przykład silnika PKCS#11, będącego częścią OpenSC):
-key org.openssl.engine:pkcs11:label_jakis-klucz-prywatny
Jako trzecia możliwość, silniki i dostawcy zapewniający swoje własne OSSL_STORE_LOADER(3), nie wymagają „org.openssl.engine:”. W przypadku implementacji PKCS#11, która zaimplementowała taki mechanizm ładujący, URI PKCS#11, zgodne z definicją z RFC 7512, powinno dać się stosować bezpośrednio:
-key pkcs11:object=jakis-klucz-prywatny;pin-value=1234
Biblioteki OpenSSL mogą przyjmować pewne parametry konfiguracyjne ze środowiska.
Informacje o wszystkich zmiennych środowiskowych używanych przez biblioteki OpsnSSL, takie jak OPENSSL_CONF, OPENSSL_MODULES i OPENSSL_TRACE, znajdują się w podręczniku openssl-env(7).
Informacje o sposobach stosowania zmiennych środowiskowych w konfiguracji, opisano w rozdziale „środowisko” w podręczniku config(5).
Informacje o określonych poleceniach opisano w podręcznikach openssl-engine(1), openssl-rehash(1) i tsget(1).
Informacje o odpytywaniu lub podawaniu flag architektury procesora opisano w podręcznikach OPENSSL_ia32cap(3), OPENSSL_s390xcap(3) i OPENSSL_riscvcap(3).
openssl-asn1parse(1), openssl-ca(1), openssl-ciphers(1), openssl-cms(1), openssl-crl(1), openssl-crl2pkcs7(1), openssl-dgst(1), openssl-dhparam(1), openssl-dsa(1), openssl-dsaparam(1), openssl-ec(1), openssl-ecparam(1), openssl-enc(1), openssl-engine(1), openssl-errstr(1), openssl-gendsa(1), openssl-genpkey(1), openssl-genrsa(1), openssl-kdf(1), openssl-list(1), openssl-mac(1), openssl-nseq(1), openssl-ocsp(1), openssl-passwd(1), openssl-pkcs12(1), openssl-pkcs7(1), openssl-pkcs8(1), openssl-pkey(1), openssl-pkeyparam(1), openssl-pkeyutl(1), openssl-prime(1), openssl-rand(1), openssl-rehash(1), openssl-req(1), openssl-rsa(1), openssl-rsautl(1), openssl-s_client(1), openssl-s_server(1), openssl-s_time(1), openssl-sess_id(1), openssl-smime(1), openssl-speed(1), openssl-spkac(1), openssl-srp(1), openssl-storeutl(1), openssl-ts(1), openssl-verify(1), openssl-version(1), openssl-x509(1), config(5), crypto(7), openssl-env(7). ssl(7), x509v3_config(5)
Opcje list -XXX-algorytmy dodano w OpenSSL 1.0.0; informacje o dostępności innych poleceń opisano w poszczególnych podręcznikach systemowych.
Opcja -issuer_checks została uznana za przestarzałą według stanu na OpenSSL 1.1.0 i jest po cichu ignorowana.
Opcje -xcertform i -xkeyform są przestarzałe od OpenSSL 3.0 i nie odnoszą skutku.
Tryb interaktywny, który można było przywołać uruchamiając „openssl” bez żadnych argumentów, usunięto w OpenSSL 3.0; obecnie uruchomienie programu bez argumentów odpowiada podaniu „openssl help”.
Copyright 2000-2025 The OpenSSL Project Authors. Wszystkie prawa zastrzeżone.
Licencjonowane na warunkach licencji Apache License 2.0 („Licencja”) Korzystanie dozwolone tylko w zgodzie z Licencją. Jej kopia jest dostępna w pliku LICENSE w źródłach lub na stronie <https://www.openssl.org/source/license.html>.
Tłumaczenie niniejszej strony podręcznika: Daniel Koć <kocio@linuxnews.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
| 28 maja 2025 r. | 3.5.0 |