.de  Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de  Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de  Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie  n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.ie  \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.de  IX
..
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.nr rF 0
.if  \n(.g .if rF .nr rF 1
.if  (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" fudge factors for nroff and troff
.    
.if  n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.if  t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.\" simple accents for nroff and troff
.    
.if  n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if  t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.\" troff and (daisy-wheel) nroff accents
.    
.ds : \k:\h'-(\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \k:\h'-(\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.\" corrections for vroff
.    
.if  v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if  v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.\" for low resolution devices (crt and lpr)
.    
.if  \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "CONFIG 5SSL"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\" This file is distributed under the same license as original manpage
.\" Copyright of the original manpage:
.\" Copyright © 1998-2004 The OpenSSL Project, 1995-1998 Eric A. Young, Tim J. Hudson (OpenSSL)
.\" Copyright © of Polish translation:
.\" Daniel Koć (PTM) <kocio@linuxnews.pl>, 2002.
.\" Robert Luberda <robert@debian.org>, 2014.
.TH KONFIGURACJA 5SSL 2014\-07\-22 1.0.1i OpenSSL
.if  n .ad l
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.nh
.SH NAZWA
config \- biblioteka plików konfiguracyjnych OpenSSL CONF
.SH OPIS
.IX Header DESCRIPTION
Biblioteka OpenSSL \s-1CONF\s0 służy do wczytywania plików
konfiguracyjnych.  Obsługuje główny plik konfiguracyjny OpenSSL
\fBopenssl.cnf\fP oraz kilka innych, jak na przykład pliki \fB\s-1SPKAC\s0\fP i
pliki rozszerzenia certyfikatów dla narzędzi \fBx509\fP. Aplikacje OpenSSL mogą
także używać biblioteki \s-1CONF\s0 do swych własnych celów.
.PP
Plik konfiguracyjny jest podzielony na sekcje. Każda z nich rozpoczyna się
wierszem \fB[ nazwa_sekcji ]\fP 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.
.PP
Pierwsza sekcja pliku konfiguracyjnego ma specjalne znaczenie i określana
jest jako sekcja \fBdomyślna\fP. 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.
.PP
Środowisko jest mapowane na sekcję o nazwie \fB\s-1ENV\s0\fP.
.PP
Komentarze należy poprzedzać znakiem \fB#\fP.
.PP
Każda sekcja pliku konfiguracyjnego składa się z par nazwa,wartość w formie
\fBnazwa=wartość\fP.
.PP
Łańcuch \fBnazwa\fP może zawierać dowolne znaki alfanumeryczne jak również
niektóre znaki przestankowe, takie jak \fB.\fP \fB,\fP \fB;\fP oraz \fB_\fP.
.PP
Łańcuch \fBwartość\fP składa się z ciągu znaków pomiędzy znakiem \fB=\fP a końcem
wiersza, z wyłączeniem wszelkich spacji poprzedzających oraz końcowych.
.PP
Łańcuch wartości podlega przesłanianiu zmiennych. Robi się to przez użycie
formy \fB$zmienna\fP lub \fB${zmienna}\fP: zastępuje to wartość nazwanej zmiennej
w bieżącej sekcji. Można także zastąpić wartość z innej sekcji przy użyciu
formy \fB$sekcja::nazwa\fP lub \fB${sekcja::nazwa}\fP.  Zmienne środowiskowe
przesłania się za pomocą konstrukcji \fB$ENV::nazwa\fP.  W ten sam sposób można
także definiować zmienne środowiskowe, jeśli tylko program wyszukuje je za
pośrednictwem biblioteki \fB\s-1CONF\s0\fP zamiast bezpośredniego wywołania
\f(BIgetenv()\fR.
.PP
Można cytować poszczególne znaki przez dowolny znak cytowania lub znak
\fB\e\fP. Przez postawienie znaku \fB\e\fP na końcu wiersza łańcuch \fBwartość\fP
można rozciągać na kilka wierszy. Tę samą funkcję pełnią też sekwencje
\fB\en\fP, \fB\er\fP, \fB\eb\fP oraz \fB\et\fP.
.SH "KONFIGURACJA BIBLIOTEKI OPENSSL"
.IX Header "OPENSSL LIBRARY CONFIGURATION"
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
\fBopenssl\fP 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.
.PP
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 \fBopenssl\fP jest \fBopenssl_conf\fP. Inne
aplikacje mogą używać alternatywnych nazw takich jak \fBaplikacja_conf\fP.
.PP
Sekcja konfiguracji powinna się składać ze zbioru par \fBnazwa\fP,\fBwartość\fP,
zawierających odpowiednią konfigurację modułu. \fBnazwa\fP oznacza nazwę
\fImodułu konfiguracji\fP, znaczenie \fBwartości\fP zależy od modułu: może na
przykład oznaczać inną, specyficzną dla modułu,
sekcję\ konfiguracji. Przykład:
.PP
.Vb 1
\& 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 ...
.Ve
.PP
Obecnie istnieją dwa moduły konfiguracyjny: jeden dla obiektów \s-1ASN1\s0,
a drugi dla konfiguracji \s-1SILNIKA\s0.
.SS "\s-1MODUŁ KONFIGURACJI OBIEKTU ASN1\s0"
.IX Subsection "ASN1 OBJECT CONFIGURATION MODULE"
Nazwą tego modułu jest \fBoid_section\fP. Wartość\ tej zmiennej wskazuje na
sekcję zawierającą pary nazwa,wartość OID\-ów: nazwą jest krótka i długa
nazwa \s-1OID\-u\s0, wartością jest numeryczny \s-1OID\s0. Chociaż niektóre
polecenia użytkowe \fBopenssl\fP już zawierają swoją własną sekcję\ \s-1OBIEKTU
ASN1\s0, to jednak nie wszystkie to robią. Używając modułu konfiguracji
\s-1OBIEKTU ASN1\s0, \fBwszystkie\fP polecenia użytkowe \fBopenssl\fP,
mogą\ widzieć zarówno nowe obiekty, jak i wszystkie zgodne aplikacje. Na
przykład:
.PP
.Vb 1
\& [new_oids]
\&
\& jakiś_nowy_oid = 1.2.3.4
\& jakiś_inny_oid = 1.2.3.5
.Ve
.PP
OpenSSL 0.9.8 umożliwia także ustawienie wartości na długą nazwę z
przecinkiem i numerycznym \s-1OID\s0. Przykład:
.PP
.Vb 1
\& krótkaNazwa = jakaś długa nazwa obiektu, 1.2.3.4
.Ve
.SS "\s-1MODUŁ KONFIGURACJI SILNIKA\s0"
.IX Subsection "ENGINE CONFIGURATION MODULE"
Moduł konfiguracji \s-1SILNIKA\s0 ma nazwę \fBengines\fP. Wartość tej zmiennej
wskazuje na sekcję zawierającą dalsze informacje o konfiguracji
\s-1SILNIKA\s0.
.PP
Sekcja wskazywana przez \fBengines\fP jest tabelą nazw silników (patrz jednak
\&\fBengine_id\fP poniżej), a kolejne sekcje zawierają konfigurację specyficzną
dla każdego \s-1SILNIKA\s0.
.PP
Każda sekcja specyficzna dla \s-1SILNIKA\s0 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 \fIpolecenia\fP, która jest nazwą pary nazwa,wartość. Rozpoznawane
polecenia przedstawiono poniżej.
.PP
Na przykład:
.PP
.Vb 1
\& [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" ...
.Ve
.PP
Polecenie \fBengine_id\fP jest używane do nadania nazwy \s-1SILNIKOWI\s0. Jeśli
jest używane, musi występować pierwsze. Na przykład:
.PP
.Vb 3
\& [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
.Ve
.PP
Polecenie \fBdynamic_path\fP ładuje i dodaje \s-1SILNIK\s0 z podanej
ścieżki. Jest to odpowiednik wysyłania polecenia kontrolnego
\fB\s-1SO_PATH\s0\fP z bieżącą wartością ścieżki, po której dodano
\fB\s-1LIST_ADD\s0\fP z wartością 2 i \fB\s-1LOAD\s0\fP do dynamicznego
\s-1SILNIKA\s0. Jeśli nie jest to pożądane zachowanie, to te alternatywne
kontrolki mogą zostać wysłane do dynamicznego \s-1SILNIKA\s0 za pomocą
odpowiednich poleceń kontrolnych.
.PP
Polecenie \fBinit\fP określa, czy inicjować \s-1SILNIK\s0. Jeśli wartością jest
\fB0\fP, to \s-1SILNIK\s0 nie będzie inicjowany. Jeśli wartością jest \fB1\fP, to
natychmiast wykonywana jest próba inicjacji \s-1SILNIKA\s0. Jeśli nie podano
polecenia \fBinit\fP, to będzie wykonana próba inicjacji \s-1SILNIKA\s0 po
przetworzeniu wszystkich poleceń z jego sekcji.
.PP
Polecenie \fBdefault_algorithms\fP ustawia domyślne algorytmy, których
\s-1SILNIK\s0 będzie dostarczał przy użyciu funkcji
\f(BISILNIK_set_default_string()\fR.
.PP
Jeśli nazwa nie pasuje do żadnej z powyższych nazw poleceń, to przyjmuje
się, że jest to polecenie kontrolne wysyłane do \s-1SILNIKA\s0. Wartością
polecenia jest argument podanej nazwy. Jeśli wartością jest łańcuch
\fB\s-1EMPTY\s0\fP, to do polecenia nie jest wysyłana żadna wartość.
.PP
Na przykład:
.PP
.Vb 1
\& [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
.Ve
.SH UWAGI
.IX Header NOTES
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 \fB\s-1HOME\s0\fP, która może nie istnieć w systemach innych
niż uniksowe, co powodowało błąd.
.PP
Można to obejść za pomocą sekcji \fBdomyślnej\fP, 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 \fB\s-1PRZYKŁADY\s0\fP.
.PP
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 \s-1DN\s0 to samo pole może się pojawić wielokrotnie \-
rozwiązaniem jest zwykle pomijanie znaków przed początkową \fB.\fP, na
przykład:
.PP
.Vb 2
\& 1.OU="Moje pierwsze OU"
\& 2.OU="Moje Drugie OU"
.Ve
.SH PRZYKŁADY
.IX Header EXAMPLES
Oto przykładowy plik konfiguracyjny, zawierający niektóre z wymienionych
wyżej elementów:
.PP
.Vb 1
\& # 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 \e
\& rozciągać się na kilka wierszy \e
\& jeśli użyje się znaków \e\e na końcu wiersza
\&
\& komunikat = Witaj świecie\en
\&
\& [ sekcja_druga ]
\&
\& pozdrowienia = $sekcja_pierwsza::komunikat
.Ve
.PP
Następny przykład pokazuje, jak bezpiecznie przesłaniać zmienne
środowiskowe.
.PP
Załóżmy, że chcemy, aby zmienna \fBtmpfile\fP wskazywała nazwę pliku
roboczego. Katalog, w którym ten plik się znajduje, można odczytać ze
zmiennych środowiskowych \fB\s-1TEMP\s0\fP lub \fB\s-1TMP\s0\fP, 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 \fB\s-1TEMP\s0\fP, następnie
\fB\s-1TMP\s0\fP, a jeśli żadna z nich nie będzie zdefiniowana, zostanie użyty
katalog \fB/tmp\fP.
.PP
.Vb 5
\& 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
.Ve
.SH BŁĘDY
.IX Header BUGS
W obecnej chwili nie ma sposobu na wykorzystanie znaków w zapisie ósemkowym
\fB\ennn\fP. Wszystkie łańcuchy są zakończone znakiem null, więc ten znak nie
może się pojawiać w wartościach.
.PP
Cytowanie nie jest całkiem porządne: po użyciu sekwencji w rodzaju  \fB\en\fP
nie można więcej używać cytowania w tym samym wierszu.
.PP
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.
.SH "ZOBACZ TAKŻE"
.IX Header "SEE ALSO"
\&\fIx509\fP\|(1), \fIreq\fP\|(1), \fIca\fP\|(1)
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są:
Daniel Koć (PTM) <kocio@linuxnews.pl>
i
Robert Luberda <robert@debian.org>.
.PP
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ą \fB 1.0.1i \fPoryginału.
