<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.rnp-op-generate-key.php',
    1 => 'rnp_op_generate_key',
    2 => 'G&eacute;n&egrave;re une cl&eacute;',
  ),
  'up' => 
  array (
    0 => 'ref.rnp.php',
    1 => 'Fonctions de Rnp',
  ),
  'prev' => 
  array (
    0 => 'function.rnp-op-encrypt.php',
    1 => 'rnp_op_encrypt',
  ),
  'next' => 
  array (
    0 => 'function.rnp-op-sign.php',
    1 => 'rnp_op_sign',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/rnp/functions/rnp-op-generate-key.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.rnp-op-generate-key" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">rnp_op_generate_key</h1>
  <p class="verinfo">(PECL rnp &gt;= 0.1.1)</p><p class="refpurpose"><span class="refname">rnp_op_generate_key</span> &mdash; <span class="dc-title">Génère une clé</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.rnp-op-generate-key-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>rnp_op_generate_key</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="class.rnpffi.php" class="type RnpFFI">RnpFFI</a></span> <code class="parameter">$ffi</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$userid</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$key_alg</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$sub_alg</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$options</code><span class="initializer"> = ?</span></span><br>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="simpara">

  </p>


 </div>


 <div class="refsect1 parameters" id="refsect1-function.rnp-op-generate-key-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">ffi</code></dt>
    <dd>
     <span class="simpara">
      L&#039;objet FFI retourné par <span class="function"><a href="function.rnp-ffi-create.php" class="function">rnp_ffi_create()</a></span>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">userid</code></dt>
    <dd>
     <span class="simpara">
      L&#039;identifiant de l&#039;utilisateur PGP - texte qui est censé représenter
      le nom et l&#039;adresse email du détenteur de la clé.
     </span>
    </dd>
   
   
    <dt><code class="parameter">key_alg</code></dt>
    <dd>
     <span class="simpara">
      La clé d&#039;algorithme (c&#039;est-à-dire &#039;RSA&#039;, &#039;DSA&#039;, etc).
     </span>
    </dd>
   
   
    <dt><code class="parameter">sub_alg</code></dt>
    <dd>
     <span class="simpara">
      L&#039;algorithme de sous-clé. Si non défini, la sous-clé ne sera pas générée.
     </span>
    </dd>
   
   
    <dt><code class="parameter">options</code></dt>
    <dd>
     <span class="simpara">
      Un tableau associatif avec des options.
     </span>
     <table class="doctable informaltable">
      
       <thead>
        <tr>
         <th>Key</th>
         <th>Type de donnée</th>
         <th>Description</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr>
         <td><code class="literal">&quot;bits&quot;</code></td>
         <td>integer</td>
         <td>La taille de la clé primaire en bits. Applicable uniquement aux clés RSA, DSA et El-Gamal.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;hash&quot;</code></td>
         <td>string</td>
         <td>Algorithme de hachage utilisé dans la signature de la clé ou la signature de liaison de sous-clé.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;dsa_qbits&quot;</code></td>
         <td>integer</td>
         <td>Définit la taille d&#039;un paramètre <code class="literal">q</code> pour la clé DSA.
          Remarque : une valeur par défaut appropriée sera définie, en fonction du nombre de bits de la clé. Cependant, il est possible de
          la remplacer si nécessaire.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;curve&quot;</code></td>
         <td>string</td>
         <td>Définit la courbe utilisée pour la clé ECC. Remarque : cela s&#039;applique uniquement aux clés ECDSA, ECDH et SM2.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;request_password&quot;</code></td>
         <td>boolean</td>
         <td>Active la demande de mot de passe via le fournisseur de mot de passe. Ce mot de passe
          sera utilisé pour le chiffrement de la clé. La fonction de rappel du fournisseur de mot de passe doit être définie à l&#039;avance en
          appelant <span class="function"><a href="function.rnp-ffi-set-pass-provider.php" class="function">rnp_ffi_set_pass_provider()</a></span>.
          Remarque : ce paramètre sera ignoré si le mot de passe a été défini via <code class="literal">&quot;password&quot;</code></td>
        </tr>

        <tr>
         <td><code class="literal">&quot;password&quot;</code></td>
         <td>string</td>
         <td>Définit le mot de passe utilisé pour chiffrer les données de la clé secrète.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;expiration&quot;</code></td>
         <td>integer</td>
         <td>Définit le temps d&#039;expiration de la clé primaire et de la sous-clé en secondes.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;sub_bits&quot;</code></td>
         <td>integer</td>
         <td>La taille de la sous-clé en bits. Applicable uniquement aux clés RSA, DSA et El-Gamal.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;sub_hash&quot;</code></td>
         <td>string</td>
         <td>Algorithme de hachage utilisé dans la signature de la sous-clé ou la signature de liaison de sous-clé.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;sub_curve&quot;</code></td>
         <td>string</td>
         <td>Définit la courbe utilisée pour la sous-clé ECC. Remarque : cela s&#039;applique uniquement aux clés ECDSA, ECDH et SM2.</td>
        </tr>

       </tbody>
      
     </table>

    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.rnp-op-generate-key-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   L&#039;empreinte de la clé primaire générée ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient. Cette empreinte peut être utilisée
   plus tard pour référencer la clé dans les opérations de signature et de chiffrement. Les données de la clé sont stockées dans le contexte de mémoire
   FFI et peuvent être sauvegardées en utilisant
   <span class="function"><a href="function.rnp-save-keys.php" class="function">rnp_save_keys()</a></span> ou <span class="function"><a href="function.rnp-save-keys-to-path.php" class="function">rnp_save_keys_to_path()</a></span>.
  </p>
 </div>



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