Skip to content

Commit

Permalink
initial translation in openssl/functions
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardolara committed Nov 3, 2024
1 parent 34d54c2 commit f1b3ac9
Show file tree
Hide file tree
Showing 8 changed files with 1,110 additions and 0 deletions.
140 changes: 140 additions & 0 deletions reference/openssl/functions/openssl-pkey-derive.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7fd8e591b8b5a35eda6a0fa6cdecd2a83b195920 Maintainer: leonardolara Status: ready -->
<refentry xml:id="function.openssl-pkey-derive" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>openssl_pkey_derive</refname>
<refpurpose>Calcula o segredo compartilhado para o valor público da chave DH ou ECDH remota e local</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>openssl_pkey_derive</methodname>
<methodparam><type class="union"><type>OpenSSLAsymmetricKey</type><type>OpenSSLCertificate</type><type>array</type><type>string</type></type><parameter>public_key</parameter></methodparam>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type class="union"><type>OpenSSLAsymmetricKey</type><type>OpenSSLCertificate</type><type>array</type><type>string</type></type><parameter>private_key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>key_length</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
<function>openssl_pkey_derive</function> pega um conjunto de <parameter>public_key</parameter>
e <parameter>private_key</parameter> e deriva um segredo compartilhado, para chaves DH ou EC.
</para>

</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>public_key</parameter></term>
<listitem>
<para>
<parameter>public_key</parameter> é a chave pública para a derivação.
Consulte <link linkend="openssl.certparams">Parâmetros de chave pública/privada</link> para obter uma lista de valores válidos.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>private_key</parameter></term>
<listitem>
<para>
<parameter>private_key</parameter> é a chave privada para a derivação.
Consulte <link linkend="openssl.certparams">Parâmetros de chave pública/privada</link> para obter uma lista de valores válidos.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key_length</parameter></term>
<listitem>
<para>
Se não for zero, tentará definir o comprimento desejado do segredo derivado.
</para>
<caution>
<simpara>
Este parâmetro não deve ser utilizado, pois não funciona conforme o esperado. Ele nunca retorna um segredo
maior que o tamanho do primo. Se o comprimento desejado for menor que o tamanho do
primo, ele truncará o comprimento apenas para chaves ECDH, mas falhará para chaves DH.
</simpara>
</caution>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
O segredo derivado em caso de sucesso&return.falseforfailure;.
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example xml:id="openssl-pkey-derive.example.basic">
<title>Exemplo de <function>openssl_pkey_derive</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Carrega a chave privada
$priv = openssl_pkey_get_private("-----BEGIN PRIVATE KEY-----
MIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAJLxRCaZ933uW+AXmabHFDDy
upojBIRlbmQLJZfigDaSA1f9YOTsIv+WwVFTX/J1mtCyx9uBcz0Nt2kmVwxWuc2f
VtCEMPsmLsVXX7xRUFLpyX1Y1IYGBVXQOoOvLWYQjpZgnx47Pkh1Ok1+smffztfC
0DCNt4KorWrbsPcmqBejXHN79KvWFjZmXOksRiNu/Bn76RiqvofC4z8Ri3kHXQG2
197JGZzzFXHadGC3xbkg8UxsNbYhVMKbm0iANfafUH7/hoS9UjAVQYtvwe7YNiW/
HnyfVCrKwcc7sadd8Iphh+3lf5P1AhaQEAMytanrzq9RDXKBxuvpSJifRYasZYsC
AQIEggEEAoIBAGwAYC2E81Y1U2Aox0U7u1+vBcbht/OO87tutMvc4NTLf6NLPHsW
cPqBixs+3rSn4fADzAIvdLBmogjtiIZoB6qyHrllF/2xwTVGEeYaZIupQH3bMK2b
6eUvnpuu4Ytksiz6VpXBBRMrIsj3frM+zUtnq8vKUr+TbjV2qyKR8l3eNDwzqz30
dlbKh9kIhZafclHfRVfyp+fVSKPfgrRAcLUgAbsVjOjPeJ90xQ4DTMZ6vjiv6tHM
hkSjJIcGhRtSBzVF/cT38GyCeTmiIA/dRz2d70lWrqDQCdp9ArijgnpjNKAAulSY
CirnMsGZTDGmLOHg4xOZ5FEAzZI2sFNLlcw=
-----END PRIVATE KEY-----
");
// Carrega a chave pública
$pub = openssl_pkey_get_public("-----BEGIN PUBLIC KEY-----
MIICJDCCARcGCSqGSIb3DQEDATCCAQgCggEBAJLxRCaZ933uW+AXmabHFDDyupoj
BIRlbmQLJZfigDaSA1f9YOTsIv+WwVFTX/J1mtCyx9uBcz0Nt2kmVwxWuc2fVtCE
MPsmLsVXX7xRUFLpyX1Y1IYGBVXQOoOvLWYQjpZgnx47Pkh1Ok1+smffztfC0DCN
t4KorWrbsPcmqBejXHN79KvWFjZmXOksRiNu/Bn76RiqvofC4z8Ri3kHXQG2197J
GZzzFXHadGC3xbkg8UxsNbYhVMKbm0iANfafUH7/hoS9UjAVQYtvwe7YNiW/Hnyf
VCrKwcc7sadd8Iphh+3lf5P1AhaQEAMytanrzq9RDXKBxuvpSJifRYasZYsCAQID
ggEFAAKCAQAiCSBpxvGgsTorxAWtcAlSmzAJnJxFgSPef0g7OjhESytnc8G2QYmx
ovMt5KVergcitztWh08hZQUdAYm4rI+zMlAFDdN8LWwBT/mGKSzRkWeprd8E7mvy
ucqC1YXCMqmIwPySvLQUB/Dl8kgau7BLAnIJm8VP+MVrn8g9gghD0qRCgPgtEaDV
vocfgnOU43rhKnIgO0cHOKtw2qybSFB8QuZrYugq4j8Bwkrzh6rdMMeyMl/ej5Aj
c0wamOzuBDtXt0T9+Fx3khHaowjCc7xJZRgZCxg43SbqMWJ9lUg94I7+LTX61Gyv
dtlkbGbtoDOnxeNnN93gwQZngGYZYciu
-----END PUBLIC KEY-----
");
// Produz a versão hexadecimal da chave derivada
echo bin2hex(openssl_pkey_derive($pub,$priv));
]]>
</programlisting>
</example>
</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
-->
120 changes: 120 additions & 0 deletions reference/openssl/functions/openssl-pkey-export-to-file.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e50e79746736dbdfbabe9bd3566793b3ddf38f58 Maintainer: leonardolara Status: ready -->
<refentry xml:id="function.openssl-pkey-export-to-file" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>openssl_pkey_export_to_file</refname>
<refpurpose>Obtém uma representação exportável de uma chave em um arquivo</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>openssl_pkey_export_to_file</methodname>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type class="union"><type>OpenSSLAsymmetricKey</type><type>OpenSSLCertificate</type><type>array</type><type>string</type></type><parameter>key</parameter></methodparam>
<methodparam><type>string</type><parameter>output_filename</parameter></methodparam>
<methodparam choice="opt"><modifier role="attribute">#[\SensitiveParameter]</modifier><type class="union"><type>string</type><type>null</type></type><parameter>passphrase</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>null</type></type><parameter>options</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>openssl_pkey_export_to_file</function> salva uma versão ASCII blindada
(codificada em <acronym>PEM</acronym>) de <parameter>key</parameter> no arquivo nomeado por
<parameter>output_filename</parameter>.
</para>
&note.openssl.cnf;
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>output_filename</parameter></term>
<listitem>
<para>
Caminho para o arquivo de saída.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>passphrase</parameter></term>
<listitem>
<para>
A chave pode ser opcionalmente protegida por uma senha definida no parâmetro
<parameter>passphrase</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
<parameter>options</parameter> pode ser usado para fazer ajuste fino do processo
de exportação especificando e/ou substituindo opções para o arquivo de
configuração do openssl. Consulte <function>openssl_csr_new</function> para obter
mais informações sobre <parameter>options</parameter>.
</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>8.0.0</entry>
<entry>
<parameter>key</parameter> agora aceita uma instância de <classname>OpenSSLAsymmetricKey</classname>
ou <classname>OpenSSLCertificate</classname>;
anteriormente, um &resource; do tipo <literal>OpenSSL key</literal> ou <literal>OpenSSL X.509</literal>
era aceito.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</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
-->
118 changes: 118 additions & 0 deletions reference/openssl/functions/openssl-pkey-export.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5bc68add3da3cd18c40f851e944b15095d3a26aa Maintainer: leonardolara Status: ready -->
<refentry xml:id="function.openssl-pkey-export" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>openssl_pkey_export</refname>
<refpurpose>Obtém uma representação exportável de uma chave em uma string</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>openssl_pkey_export</methodname>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type class="union"><type>OpenSSLAsymmetricKey</type><type>OpenSSLCertificate</type><type>array</type><type>string</type></type><parameter>key</parameter></methodparam>
<methodparam><type>string</type><parameter role="reference">output</parameter></methodparam>
<methodparam choice="opt"><modifier role="attribute">#[\SensitiveParameter]</modifier><type class="union"><type>string</type><type>null</type></type><parameter>passphrase</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>null</type></type><parameter>options</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>openssl_pkey_export</function> exporta a chave
<parameter>key</parameter> como uma string codificada em <acronym>PEM</acronym> e a armazena na
string <parameter>output</parameter> (que é passada por referência).
</para>
&note.openssl.cnf;
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>output</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>passphrase</parameter></term>
<listitem>
<para>
A chave é opcionalmente protegida por uma senha informada em <parameter>passphrase</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
<parameter>options</parameter> pode ser usado para fazer ajuste fino do processo
de exportação especificando e/ou substituindo opções para o arquivo de
configuração do openssl. Consulte <function>openssl_csr_new</function> para obter
mais informações sobre <parameter>options</parameter>.
</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>8.0.0</entry>
<entry>
<parameter>key</parameter> agora aceita uma instância de <classname>OpenSSLAsymmetricKey</classname>
ou <classname>OpenSSLCertificate</classname>;
anteriormente, um &resource; do tipo <literal>OpenSSL key</literal> ou <literal>OpenSSL X.509</literal>
era aceito.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</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
-->
Loading

0 comments on commit f1b3ac9

Please sign in to comment.