<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.rnp.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.rnp-ffi-set-pass-provider.php',
    1 => 'rnp_ffi_set_pass_provider',
    2 => 'Define la funci&oacute;n de retrollamada del proveedor de contrase&ntilde;a',
  ),
  'up' => 
  array (
    0 => 'ref.rnp.php',
    1 => 'Funciones de Rnp',
  ),
  'prev' => 
  array (
    0 => 'function.rnp-ffi-destroy.php',
    1 => 'rnp_ffi_destroy',
  ),
  'next' => 
  array (
    0 => 'function.rnp-import-keys.php',
    1 => 'rnp_import_keys',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/rnp/functions/rnp-ffi-set-pass-provider.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.rnp-ffi-set-pass-provider" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">rnp_ffi_set_pass_provider</h1>
  <p class="verinfo">(PECL rnp &gt;= 0.1.1)</p><p class="refpurpose"><span class="refname">rnp_ffi_set_pass_provider</span> &mdash; <span class="dc-title">Define la función de retrollamada del proveedor de contraseña</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.rnp-ffi-set-pass-provider-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>rnp_ffi_set_pass_provider</strong></span>(<span class="methodparam"><span class="type"><a href="class.rnpffi.php" class="type RnpFFI">RnpFFI</a></span> <code class="parameter">$ffi</code></span>, <span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$password_callback</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="simpara">
   Define la función de retrollamada del proveedor de contraseña. Esta función puede solicitar la contraseña en una entrada estándar
   (si el script PHP se ejecuta en un entorno de línea de comandos), mostrar un cuadro de diálogo GUI o proporcionar
   la contraseña de todas las maneras posibles. Las contraseñas solicitadas se utilizan para cifrar o descifrar
   las claves secretas o realizar operaciones de cifrado/descifrado simétricas.
  </p>

 </div>


 <div class="refsect1 parameters" id="refsect1-function.rnp-ffi-set-pass-provider-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">ffi</code></dt>
    <dd>
     <span class="simpara">
      El objeto FFI retornado por <span class="function"><a href="function.rnp-ffi-create.php" class="function">rnp_ffi_create()</a></span>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">password_callback</code></dt>
    <dd>
     <p class="para">
      La función que debe ser llamada para cada solicitud de contraseña. Tiene la siguiente firma:
      <div class="methodsynopsis dc-description">
       <span class="methodname"><span class="replaceable">password_callback</span></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$key_fp</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pgp_context</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter reference">&$password</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

      <ul class="simplelist">
       <li><code class="literal">$key_fp</code> - La huella de la clave, si corresponde. Puede estar vacío.</li>
       <li><code class="literal">$pgp_context</code> - Cadena que describe por qué se solicita la clave.</li>
       <li><code class="literal">$password</code> - Referencia de cadena donde debe almacenarse la contraseña proporcionada.</li>
      </ul>
      La función de retrollamada debe devolver <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> si la contraseña se ha establecido correctamente o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.rnp-ffi-set-pass-provider-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="simpara">
   Devuelve <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.rnp-ffi-set-pass-provider-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="example-1">
      <p><strong>Ejemplo #1 Ejemplo de una función de retrollamada simple</strong></p>
      <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">password_callback</span><span style="color: #007700">(</span><span style="color: #0000BB">string $key_fp</span><span style="color: #007700">, </span><span style="color: #0000BB">string $pgp_context</span><span style="color: #007700">, </span><span style="color: #0000BB">string </span><span style="color: #007700">&amp;</span><span style="color: #0000BB">$password</span><span style="color: #007700">)<br />{<br />    </span><span style="color: #0000BB">$password </span><span style="color: #007700">= </span><span style="color: #DD0000">"password"</span><span style="color: #007700">;<br /><br />    return </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$ffi </span><span style="color: #007700">= </span><span style="color: #0000BB">rnp_ffi_create</span><span style="color: #007700">(</span><span style="color: #DD0000">'GPG'</span><span style="color: #007700">, </span><span style="color: #DD0000">'GPG'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">rnp_ffi_set_pass_provider</span><span style="color: #007700">(</span><span style="color: #0000BB">$ffi</span><span style="color: #007700">, </span><span style="color: #DD0000">'password_callback'</span><span style="color: #007700">);</span></span></code></div>
      </div>

     </div>
 </div>


</div><?php manual_footer($setup); ?>