cynic Mon Feb 5 04:43:38 2001 EDT
Added files:
/phpdoc/cs/functions openssl.xml
Log:
should be completely translated
Index: phpdoc/cs/functions/openssl.xml
+++ phpdoc/cs/functions/openssl.xml
<reference id="ref.openssl">
<title>OpenSSL funkce</title>
<titleabbrev>OpenSSL</titleabbrev>
<partintro>
<para>
Tato extenze vyu��v� funkce <ulink url="&url.openssl;">OpenSSL</ulink> pro
tvorbu a ov��ov�n� podpis� a pe�et�n� (k�dov�n�) a otv�r�n� (dek�dov�n�) dat.
K pr�ci s touto extenz� pot�ebujete OpenSSL >= 0.9.6.
</para>
<para>
OpenSSL nab�z� mnoho vlastnost�, kter� tato extenze v sou�asnosti nepodporuje.
N�kter� z nich mohou b�t v budoucnu p�id�ny.
</para>
</partintro>
<refentry id="function.openssl-free-key">
<refnamediv>
<refname>openssl_free_key</refname>
<refpurpose>Uvolnit prost�edky kl��e</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>openssl_free_key</function></funcdef>
<paramdef>int <parameter>key_identifier</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
<function>openssl_free_key</function> uvoln� kl�� asociovan� s p�edan�m
<parameter>key_identifier</parameter> z pam�ti.
</para>
</refsect1>
</refentry>
<refentry id="function.openssl-get-privatekey">
<refnamediv>
<refname>openssl_get_privatekey</refname>
<refpurpose>P�ipravit soukrom� PEM kl�� k pou�it�</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>openssl_get_privatekey</function></funcdef>
<paramdef>string <parameter>key</parameter></paramdef>
<paramdef>string
<parameter><optional>passphrase</optional></parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>Pri �sp�chu vrac� kl��, p�i chyb� <literal>false</literal>.
</para>
<para>
<function>openssl_get_privatekey</function> rozparsuje sourkom� PEM kl��
<parameter>key</parameter> a p�iprav� ho k pou�it� v dal��ch funkc�ch.
Voliteln� argument <parameter>passphrase</parameter> mus� b�t p�ed�n, pokud
je tento kl�� zak�dov�n (chr�n�n heslem).
</para>
</refsect1>
</refentry>
<refentry id="function.openssl-get-publickey">
<refnamediv>
<refname>openssl_get_publickey</refname>
<refpurpose>
Z�skat z certifik�tu ve�ejn� kl�� a p�ipravit ho k pou�it�
</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>openssl_get_publickey</function></funcdef>
<paramdef>string <parameter>certificate</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
P�i �sp�chu vrac� identifik�tor kl��e, p�i chyb� <literal>false</literal>.
</para>
<para>
<function>openssl_get_publickey</function> z X.509 certifik�tu
<parameter>certificate</parameter> vyextrahuje ve�ejn� kl�� a p�iprav� ho
k pou�it� v dal��ch funkc�ch.
</para>
</refsect1>
</refentry>
<refentry id="function.openssl-open">
<refnamediv>
<refname>openssl_open</refname>
<refpurpose>Otev��t zape�et�n� data</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>openssl_open</function></funcdef>
<paramdef>string <parameter>sealed_data</parameter></paramdef>
<paramdef>string <parameter>open_data</parameter></paramdef>
<paramdef>string <parameter>env_key</parameter></paramdef>
<paramdef>int <parameter>priv_key_id</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
P�i �sp�chu vrac� <literal>true</literal>, p�i chyb� <literal>false</literal>.
�sp�n� otev�en� data se um�st� do argumentu <parameter>open_data</parameter>.
</para>
<para>
<function>openssl_open</function> otev�e (dek�duje)
<parameter>sealed_data</parameter> pomoc� soukrom�ho kl��e asociovan�ho s
identifik�torem <parameter>priv_key_id</parameter> a ob�lkou
<parameter>env_key</parameter>. Tato ob�lka se generuje p�i pe�et�n� dat a
je pou�iteln� pouze s jedn�m ut�it�m soukrom�m kl��em. V�ce informac� viz
<function>openssl_seal</function>.
</para>
<para>
<example>
<title>Uk�zka <function>openssl_open</function></title>
<programlisting role="php">
// $sealed a $env_key obsahuj� zape�et�n� data a ob�lku
// oboj� n�m bylo d�no t�m, kdo data zape�etil
// z�skat ze souboru soukrom� kl�� a p�ipravit ho
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// dek�dovat data a ulo�it je v $open
if (openssl_open($sealed, $open, $env_key, $pkeyid))
echo "tady jsou otev�en� data: ", $open;
else
echo "nepoda�ilo se otev��t data";
// uvolnit kl�� z pam�ti
openssl_free_key($pkeyid);
</programlisting>
</example>
</para>
<simpara>
Viz tak� <function>openssl_seal</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.openssl-seal">
<refnamediv>
<refname>openssl_seal</refname>
<refpurpose>Zape�etit (zak�dovat) data</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>openssl_seal</function></funcdef>
<paramdef>string <parameter>data</parameter></paramdef>
<paramdef>string <parameter>sealed_data</parameter></paramdef>
<paramdef>array <parameter>env_keys</parameter></paramdef>
<paramdef>array <parameter>pub_key_ids</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
P�i �sp�chu vrac� d�lku zape�et�n�ch dat, p�i chyb� <literal>false</literal>.
�sp�n� zape�et�n� data se um�st� do argumentu
<parameter>sealed_data</parameter>, a ob�lka do
<parameter>env_keys</parameter>.
</para>
<para>
<function>openssl_seal</function> zape�et� (zak�duje)
<parameter>data</parameter> pomoc� RC4 s n�hodn� generovan�m tajn�m kl��em.
Tento kl�� se zak�duje v�emi ve�ejn�mi kl��i asociovan�mi s identifik�tory
v <parameter>pub_key_ids</parameter> a zak�dovan� kl��e se vr�t� v
<parameter>env_keys</parameter>. To znamen�, �e lze poslat zape�et�n� data
v�ce p��jemc�m (za p�edpokladu, �e m�me jej�ch ve�ejn� kl��e). Ka�d� z
p��jemc� mus� obdr�et zape�et�n� data a ob�lku, kter� byla zak�dov�na
jeho ve�ejn�m kl��em.
</para>
<para>
<example>
<title>Uk�zka <function>openssl_seal</function></title>
<programlisting role="php">
// $data obsahuje data ur�en� k zape�et�n�
// z�skat ve�ejn� kl��e na�ich p��jemc� a p�ipravit je
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// opakovat prodruh�ho p��jemce
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);
// zape�etit zpr�vu, pouze majitel� $pk1 a $pk2 mohou dek�dovat $sealed pomoc�
// $ekeys[0] a $ekeys[1].
openssl_seal($data, $sealed, $ekeys, array($pk1,$pk2));
// uvolnit kl��e z pam�ti
openssl_free_key($pk1);
openssl_free_key($pk2);
</programlisting>
</example>
</para>
<simpara>
Viz tak� <function>openssl_open</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.openssl-sign">
<refnamediv>
<refname>openssl_sign</refname>
<refpurpose>Generate signature</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>openssl_sign</function></funcdef>
<paramdef>string <parameter>data</parameter></paramdef>
<paramdef>string <parameter>signature</parameter></paramdef>
<paramdef>int <parameter>priv_key_id</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
P�i �sp�chu vrac� <literal>true</literal>, p�i chyb� <literal>false</literal>.
�sp�n� vytvo�en� podpis se um�st� v <parameter>signature</parameter>.
</para>
<para>
<function>openssl_sign</function> vypo��t� podpis pro dan�
specified <parameter>data</parameter> pomoc� SHA1 hashe a n�sledn� jej
zak�duje soukrom�m kl��em asociovan�m s
<parameter>priv_key_id</parameter>. Pozn.: samotn� data nejsou k�dov�na.
</para>
<para>
<example>
<title><function>openssl_sign</function> example</title>
<programlisting role="php">
// $data obsahuje data ur�en� k podpisu
// z�skat ze souboru soukrom� kl�� a p�ipravit ho
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// vytvo�it podpis
openssl_sign($data, $signature, $pkeyid);
// uvolnit kl�� z pam�ti
openssl_free_key($pkeyid);
</programlisting>
</example>
</para>
<simpara>
Viz tak� <function>openssl_verify</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.openssl-verify">
<refnamediv>
<refname>openssl_verify</refname>
<refpurpose>Ov��it podpis</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>openssl_verify</function></funcdef>
<paramdef>string <parameter>data</parameter></paramdef>
<paramdef>string <parameter>signature</parameter></paramdef>
<paramdef>int <parameter>pub_key_id</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Vrac� 1, pokud je podpis spr�vn�, 0, pokud je nespr�vn�, a -1 p�i chyb�.
</para>
<para>
<function>openssl_verify</function> ov��uje, zda je
<parameter>signature</parameter> spr�vn� pro
<parameter>data</parameter> pomoc� ve�ejn�ho kl��e asociovan�ho s
<parameter>pub_key_id</parameter>. Mus� to b�t ve�ejn� kl�� odpov�daj�c�
soukrom�mu kl��i pou�it�mu k podpisu.
</para>
<para>
<example>
<title>Uk�zka <function>openssl_verify</function></title>
<programlisting role="php">
// $data a $signature obsahuj� data a podpis
// z�skat z certifik�tu ve�ejn� kl�� a p�ipravit ho
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);
// zjistit, jestli je podpis v po��dku
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1)
echo "dob�e";
elseif ($ok == 0)
echo "�patn�";
else
echo "nejh��, p�i kontrole podpisu do�lo k chyb�";
// uvolnit kl�� z pam�ti
openssl_free_key($pubkeyid);
</programlisting>
</example>
</para>
<simpara>
Viz tak� <function>openssl_sign</function>.
</simpara>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->