Files
php-doc-ru/reference/openssl/functions/openssl-open.xml
Alexey Pyltsyn 8f8d4016fe Upd
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@343999 c90b9560-bf6c-de11-be94-00142212c4b1
2018-01-28 09:37:16 +00:00

188 lines
5.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: fa994a739c769e155f6b6848f66f1f9a24ec9eb0 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.openssl-open">
<refnamediv>
<refname>openssl_open</refname>
<refpurpose>Открыть запечатанные данные</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>openssl_open</methodname>
<methodparam><type>string</type><parameter>sealed_data</parameter></methodparam>
<methodparam><type>string</type><parameter role="reference">open_data</parameter></methodparam>
<methodparam><type>string</type><parameter>env_key</parameter></methodparam>
<methodparam><type>mixed</type><parameter>priv_key_id</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>method</parameter><initializer>"RC4"</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>iv</parameter></methodparam>
</methodsynopsis>
<para>
<function>openssl_open</function> открывает (дешифрует)
<parameter>sealed_data</parameter> используя секретный ключ связанный
с идентификатором <parameter>priv_key_id</parameter> и ключ обертки
<parameter>env_key</parameter>, и заполняет
<parameter>open_data</parameter> расшифрованными данными.
Ключ обертки создается при запечатывании данных и может использоваться
только с одним единственным секретным ключем. Более подробно можно прочитать на
странице оисания функции <function>openssl_seal</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>sealed_data</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>open_data</parameter></term>
<listitem>
<para>
При удачном завершении, переменная переданная в этом параметр,
будет содержать открытые данные.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>env_key</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>priv_key_id</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>method</parameter></term>
<listitem>
<para>
Метод шифрования.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>iv</parameter></term>
<listitem>
<para>
Инициализирующий вектор.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog"><!-- {{{ -->
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
Добавлен параметр <parameter>iv</parameter>.
</entry>
</row>
<row>
<entry>5.3.0</entry>
<entry>
Добавлен параметр <parameter>method</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1><!-- }}} -->
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>openssl_open</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Предположим, что $sealed и $env_key содержат закрытые данные и
// ключ обертки соответственно
// Извлекаем секретный ключ из файла
$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);
// расшмфровываем данные и складываем их в $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
echo "Расшифрованные данные: ", $open;
} else {
echo "Что-то пошло не так :(";
}
// Высвобождаем ресурс приватнного ключа
openssl_free_key($pkeyid);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>openssl_seal</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->