bionic (5) config.5ssl.gz

Provided by: manpages-pl_0.7-1_all bug

NAZWA

       config - biblioteka plików konfiguracyjnych OpenSSL CONF

OPIS

       Biblioteka OpenSSL CONF służy do wczytywania plików konfiguracyjnych.  Obsługuje główny plik
       konfiguracyjny OpenSSL openssl.cnf oraz kilka innych, jak na przykład pliki SPKAC i pliki rozszerzenia
       certyfikatów dla narzędzi x509. Aplikacje OpenSSL mogą także używać biblioteki CONF do swych własnych
       celów.

       Plik konfiguracyjny jest podzielony na sekcje. Każda z nich rozpoczyna się wierszem [ nazwa_sekcji ] i
       kończy wraz z początkiem następnej sekcji lub wraz z końcem pliku. Nazwa sekcji może się składać ze
       znaków alfanumerycznych oraz znaków podkreślenia.

       Pierwsza sekcja pliku konfiguracyjnego ma specjalne znaczenie i określana jest jako sekcja domyślna.
       Zwykle nie ma nazwy i znajduje się na początku pliku, przed pierwszą nazwaną sekcją.  Nazwy są
       wyszukiwane najpierw w nazwanych sekcjach (o ile takie są), a następnie w sekcji domyślnej.

       Środowisko jest mapowane na sekcję o nazwie ENV.

       Komentarze należy poprzedzać znakiem #.

       Każda sekcja pliku konfiguracyjnego składa się z par nazwa,wartość w formie nazwa=wartość.

       Łańcuch nazwa może zawierać dowolne znaki alfanumeryczne jak również niektóre znaki przestankowe, takie
       jak . , ; oraz _.

       Łańcuch wartość składa się z ciągu znaków pomiędzy znakiem = a końcem wiersza, z wyłączeniem wszelkich
       spacji poprzedzających oraz końcowych.

       Łańcuch wartości podlega przesłanianiu zmiennych. Robi się to przez użycie formy $zmienna lub ${zmienna}:
       zastępuje to wartość nazwanej zmiennej w bieżącej sekcji. Można także zastąpić wartość z innej sekcji
       przy użyciu formy $sekcja::nazwa lub ${sekcja::nazwa}.  Zmienne środowiskowe przesłania się za pomocą
       konstrukcji $ENV::nazwa.  W ten sam sposób można także definiować zmienne środowiskowe, jeśli tylko
       program wyszukuje je za pośrednictwem biblioteki CONF zamiast bezpośredniego wywołania getenv().

       Można cytować poszczególne znaki przez dowolny znak cytowania lub znak \. Przez postawienie znaku \ na
       końcu wiersza łańcuch wartość można rozciągać na kilka wierszy. Tę samą funkcję pełnią też sekwencje \n,
       \r, \b oraz \t.

KONFIGURACJA BIBLIOTEKI OPENSSL

       W OpenSSL 0.9.7 i późniejszych aplikacje mogą automatycznie konfigurować niektóre aspekty OpenSSL,
       używając do tego głównego pliku konfiguracyjnego OpenSSL lub alternatywnego pliku konfiguracyjnego.
       Narzędzie użytkowe openssl zawiera w sobie taką funkcjonalność: dowolne podpolecenie używa głównego pliku
       konfiguracyjnego OpenSSL, chyba że podpoleceniu przekazano opcję nakazującą użycie alternatywnego pliku
       konfiguracyjnego.

       Aby włączyć konfigurację biblioteki, sekcja domyślna musi zawierać odpowiednią linię, wskazującą na
       główną sekcję konfiguracji. Domyślną nazwą używaną przez narzędzie użytkowe openssl jest openssl_conf.
       Inne aplikacje mogą używać alternatywnych nazw takich jak aplikacja_conf.

       Sekcja konfiguracji powinna się składać ze zbioru par nazwa,wartość, zawierających odpowiednią
       konfigurację modułu. nazwa oznacza nazwę modułu konfiguracji, znaczenie wartości zależy od modułu: może
       na przykład oznaczać inną, specyficzną dla modułu, sekcję konfiguracji. Przykład:

        openssl_conf = openssl_init

        [openssl_init]

        oid_section = nowe_oidy
        engines = sekcja_silnika

        [nowe_oidy]

        ... tutaj nowe oidy  ...

        [sekcja_silnika]

        ...  tutaj rzeczy związane z silnikiem ...

       Obecnie istnieją dwa moduły konfiguracyjny: jeden dla obiektów ASN1, a drugi dla konfiguracji SILNIKA.

   MODUŁ KONFIGURACJI OBIEKTU ASN1
       Nazwą tego modułu jest oid_section. Wartość tej zmiennej wskazuje na sekcję zawierającą pary
       nazwa,wartość OID-ów: nazwą jest krótka i długa nazwa OID-u, wartością jest numeryczny OID. Chociaż
       niektóre polecenia użytkowe openssl już zawierają swoją własną sekcję OBIEKTU ASN1, to jednak nie
       wszystkie to robią. Używając modułu konfiguracji OBIEKTU ASN1, wszystkie polecenia użytkowe openssl,
       mogą widzieć zarówno nowe obiekty, jak i wszystkie zgodne aplikacje. Na przykład:

        [new_oids]

        jakiś_nowy_oid = 1.2.3.4
        jakiś_inny_oid = 1.2.3.5

       OpenSSL 0.9.8 umożliwia także ustawienie wartości na długą nazwę z przecinkiem i numerycznym OID.
       Przykład:

        krótkaNazwa = jakaś długa nazwa obiektu, 1.2.3.4

   MODUŁ KONFIGURACJI SILNIKA
       Moduł konfiguracji SILNIKA ma nazwę engines. Wartość tej zmiennej wskazuje na sekcję zawierającą dalsze
       informacje o konfiguracji SILNIKA.

       Sekcja wskazywana przez engines jest tabelą nazw silników (patrz jednak engine_id poniżej), a kolejne
       sekcje zawierają konfigurację specyficzną dla każdego SILNIKA.

       Każda sekcja specyficzna dla SILNIKA jest używana do ustawiania domyślnych algorytmów, ładowania
       bibliotek dynamicznych, przeprowadzania inicjowania oraz wysyłania poleceń kontrolnych. Właściwa operacja
       zależy od nazwy polecenia, która jest nazwą pary nazwa,wartość. Rozpoznawane polecenia przedstawiono
       poniżej.

       Na przykład:

        [sekcja_silnika]

        # Konfiguracja SILNIKA nazwanego "foo"
        foo = sekcja_foo
        # Konfiguracja SILNIKA nazwanego "bar"
        bar = sekcja_bar

        [sekcja_foo]
        ... polecenia specyficzne dla SILNIKA "foo" ...

        [sekcja_bar]
        ... polecenia specyficzne dla SILNIKA "bar" ...

       Polecenie engine_id jest używane do nadania nazwy SILNIKOWI. Jeśli jest używane, musi występować
       pierwsze. Na przykład:

        [sekcja_silnika]
        # Normalnie ta sekcja obsłużyłaby SILNIK nazwany "foo"
        foo = sekcja_foo

        [sekcja_foo]
        # Nadpisuje domyślną nazwę i używa "myfoo" zamiast niej.
        engine_id = myfoo

       Polecenie dynamic_path ładuje i dodaje SILNIK z podanej ścieżki. Jest to odpowiednik wysyłania polecenia
       kontrolnego SO_PATH z bieżącą wartością ścieżki, po której dodano LIST_ADD z wartością 2 i LOAD do
       dynamicznego SILNIKA. Jeśli nie jest to pożądane zachowanie, to te alternatywne kontrolki mogą zostać
       wysłane do dynamicznego SILNIKA za pomocą odpowiednich poleceń kontrolnych.

       Polecenie init określa, czy inicjować SILNIK. Jeśli wartością jest 0, to SILNIK nie będzie inicjowany.
       Jeśli wartością jest 1, to natychmiast wykonywana jest próba inicjacji SILNIKA. Jeśli nie podano
       polecenia init, to będzie wykonana próba inicjacji SILNIKA po przetworzeniu wszystkich poleceń z jego
       sekcji.

       Polecenie default_algorithms ustawia domyślne algorytmy, których SILNIK będzie dostarczał przy użyciu
       funkcji SILNIK_set_default_string().

       Jeśli nazwa nie pasuje do żadnej z powyższych nazw poleceń, to przyjmuje się, że jest to polecenie
       kontrolne wysyłane do SILNIKA. Wartością polecenia jest argument podanej nazwy. Jeśli wartością jest
       łańcuch EMPTY, to do polecenia nie jest wysyłana żadna wartość.

       Na przykład:

        [sekcja_silnika]

        # Konfiguracja silnika nazwanego "foo"
        foo = sekcja_foo

        [sekcja_foo]
        # Ładuje silnik z obiektu dynamicznego
        dynamic_path = /ścieżka/do/sinlikfoo.so
        # Polecenie kontrolne specyficzne dla foo
        jakaś_kontrolka = jakaś_wartość
        # Inne polecenie kontrolne, niepobierająca wartości
        inna_kontrolka = EMPTY
        # Przekazuj wszystkie domyślne algorytmy
        default_algorithms = ALL

UWAGI

       Jeżeli plik konfiguracyjny stara się przesłonić nieistniejącą zmienną, ustawiany jest znacznik błędu i
       plik nie zostaje wczytany. Może się to stać podczas próby przesłaniania niezdefiniowanej zmiennej
       środowiskowej.  Na przykład w poprzedniej wesji OpenSSL domyślny plik konfiguracji OpenSSL używał
       wartości HOME, która może nie istnieć w systemach innych niż uniksowe, co powodowało błąd.

       Można to obejść za pomocą sekcji domyślnej, w której znajdą się domyślne wartości: jeżeli wśród zmiennych
       środowiska nie znajdzie się danej wartości, zostanie użyta właśnie wartość domyślna. Aby ten sposób
       działał właściwie, wartość domyślna musi zostać zdefiniowana w pliku wcześniej niż przesłonięcie.
       Przykłady można znaleźć w rozdziale PRZYKŁADY.

       Jeśli ta sama wartość jest zdefiniowana więcej niż jeden raz, wszystkie wystąpienia poza ostatnim zostaną
       pominięte bez komunikatu o błędzie. W sytuacjach takich jak DN to samo pole może się pojawić wielokrotnie
       - rozwiązaniem jest zwykle pomijanie znaków przed początkową ., na przykład:

        1.OU="Moje pierwsze OU"
        2.OU="Moje Drugie OU"

PRZYKŁADY

       Oto przykładowy plik konfiguracyjny, zawierający niektóre z wymienionych wyżej elementów:

        # To jest sekcja domyślna

        HOME=/temp
        RANDFILE= ${ENV::HOME}/.rnd
        configdir=$ENV::HOME/config

        [ sekcja_pierwsza ]

        # Jesteśmy w sekcji pierwszej

        # Cytowanie pozwala na używanie spacji poprzedzających i końcowych
        cokolwiek = " dowolna nazwa zmiennej "

        tekst = Łańcuch który może \
        rozciągać się na kilka wierszy \
        jeśli użyje się znaków \\ na końcu wiersza

        komunikat = Witaj świecie\n

        [ sekcja_druga ]

        pozdrowienia = $sekcja_pierwsza::komunikat

       Następny przykład pokazuje, jak bezpiecznie przesłaniać zmienne środowiskowe.

       Załóżmy, że chcemy, aby zmienna tmpfile wskazywała nazwę pliku roboczego. Katalog, w którym ten plik się
       znajduje, można odczytać ze zmiennych środowiskowych TEMP lub TMP, lecz mogą one nawet nie mieć nadanej
       żadnej wartości. Jeśli po prostu użyjemy nazw zmiennych środowiskowych i okaże się, że one nie istnieją,
       to podczas próby otwarcia pliku wystąpi błąd. Przy wykorzystaniu sekcji domyślnej możemy spowodować, że
       najpierw będzie poszukiwana zmienna TEMP, następnie TMP, a jeśli żadna z nich nie będzie zdefiniowana,
       zostanie użyty katalog /tmp.

        TMP=/tmp
        # Powyższa wartość jest używana, kiedy TMP nie ma w środowisku
        TEMP=$ENV::TMP
        # Powyższa wartość jest używana, kiedy TEMP nie ma w środowisku
        tmpfile=${ENV::TEMP}/tmp.filename

BŁĘDY

       W obecnej chwili nie ma sposobu na wykorzystanie znaków w zapisie ósemkowym \nnn. Wszystkie łańcuchy są
       zakończone znakiem null, więc ten znak nie może się pojawiać w wartościach.

       Cytowanie nie jest całkiem porządne: po użyciu sekwencji w rodzaju  \n nie można więcej używać cytowania
       w tym samym wierszu.

       Pliki są wczytywane tylko w jednym przebiegu. Z tego powodu przesłanianie zmiennych działa tylko, jeżeli
       są one zdefiniowane we wcześniejszych wierszach danego pliku.

ZOBACZ TAKŻE

       x509(1), req(1), ca(1)

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Daniel Koć (PTM)
       <kocio@linuxnews.pl> i Robert Luberda <robert@debian.org>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  1.0.1i oryginału.