<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/openssl.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'openssl.installation.php',
    1 => 'Instalaci&oacute;n',
    2 => 'Instalaci&oacute;n',
  ),
  'up' => 
  array (
    0 => 'openssl.setup.php',
    1 => 'Instalaci&oacute;n/Configuraci&oacute;n',
  ),
  'prev' => 
  array (
    0 => 'openssl.requirements.php',
    1 => 'Requerimientos',
  ),
  'next' => 
  array (
    0 => 'openssl.configuration.php',
    1 => 'Configuraci&oacute;n en tiempo de ejecuci&oacute;n',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/openssl/configure.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="openssl.installation" class="section">
 <h2 class="title">Instalación</h2>
 <p class="para">
  Para utilizar el soporte OpenSSL de PHP, también debe compilarse PHP con la opción
  de configuración <strong class="option configure">--with-openssl</strong>.
 </p>
 <p class="para">
  La biblioteca OpenSSL también posee dependencias en tiempo de ejecución. Por ejemplo,
  OpenSSL necesita acceder a un generador de números pseudo-aleatorios; en la mayoría
  de las plataformas Unix (incluyendo Linux), debe tener acceso al dispositivo
  <code class="literal">/dev/urandom</code> o <code class="literal">/dev/random</code>.
 </p>
 <p class="para">
  La opción de configuración
  <strong class="option configure">--with-system-ciphers</strong> está disponible
  que hace que PHP utilice la lista de cifrado del sistema en lugar de los valores
  por omisión codificados en el programa.
 </p>
 <blockquote class="note"><p><strong class="note">Nota</strong>: 
  <strong>Nota para usuarios Win32</strong><br />
  <p class="para">
   Para hacer funcionar esta extensión, algunas bibliotecas
<abbr title="Dynamic Link Library">DLL</abbr> deben estar disponibles a través del
<var class="envar">PATH</var> del sistema Windows. Lea la
<abbr>F.A.Q</abbr> titulada
&quot;<a href="faq.installation.php#faq.installation.addtopath" class="link">Cómo agregar mi carpeta
PHP a mi PATH de Windows</a>&quot; para más información. Copiar las bibliotecas DLL desde la
carpeta PHP a la carpeta del sistema de Windows también funciona (ya que la carpeta del sistema está por defecto en el
<var class="envar">PATH</var> del sistema), pero este método no es recomendado.
<em>Esta extensión requiere que los siguientes archivos estén en el
<var class="envar">PATH</var>:</em> 
   <var class="filename">libeay32.dll</var>,
   o, a partir de OpenSSL 1.1, <var class="filename">libcrypto-*.dll</var>
  </p>
  <p class="para">
   Además, si se ha previsto utilizar las funciones relativas a la generación
   de claves y a los certificados, debe instalarse un fichero
   <var class="filename">openssl.cnf</var> válido en el sistema.
   Un fichero de configuración básico está incluido en las distribuciones de PHP
   para win32 en el directorio <var class="filename">extras/ssl</var>.
  </p>
  <p class="para">
   PHP buscará el fichero <var class="filename">openssl.cnf</var> siguiendo la siguiente
   táctica:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      La variable de entorno <var class="envar">OPENSSL_CONF</var>, si está
      definida, será utilizada como ruta (incluyendo el fichero) hacia el
      fichero de configuración.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      La variable de entorno <var class="envar">SSLEAY_CONF</var>, si está
      definida, será utilizada como ruta (incluyendo el fichero) hacia el
      fichero de configuración.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      El fichero <var class="filename">openssl.cnf</var> se supondrá que se encuentra en
      el directorio de certificados, tal como se configuró durante la compilación
      de la biblioteca openssl. Esto significa generalmente <var class="filename">C:\Program Files\Common Files\SSL\openssl.cnf</var> (x64)
      o <var class="filename">C:\Program Files (x86)\Common Files\SSL\openssl.cnf</var> (x86), o,
      antes de PHP 7.4.0,
      <var class="filename">c:\usr\local\ssl\openssl.cnf</var>.
     </span>
    </li>
   </ul>
  </p>
  <span class="simpara">
   En su instalación, deberá decidirse si se va a instalar el fichero
   de configuración en la ruta por omisión o si se va a
   hacer en otro lugar y configurar una variable de entorno (posiblemente
   por sitio virtual). Tenga en cuenta que es posible reemplazar la ruta por
   omisión utilizando el parámetro <code class="parameter">options</code> de las funciones
   que requieren un fichero de configuración.
  </span>
   <div class="caution"><strong class="caution">Precaución</strong>
   <p class="simpara">
    Asegúrese de que los usuarios no privilegiados no estén autorizados a
    modificar <var class="filename">openssl.cnf</var>.
   </p>
  </div>
  <span class="simpara">
   A partir de OpenSSL 3.0.0, que se utiliza por omisión en Windows desde PHP 8.2.0, varios
   algoritmos han sido considerados obsoletos. Estos algoritmos suelen haber caído en desuso,
   han sido considerados no seguros por la comunidad criptográfica, o algo similar.
   Estos algoritmos siguen disponibles a través del proveedor de algoritmos legacy
   (<var class="filename">extras/ssl/legacy.dll</var>) ; su utilización se describe en la
   sección <a href="https://docs.openssl.org/master/man5/config/#Provider-Configuration" class="link external">&raquo;&nbsp;configuración del proveedor</a>
   del manual OpenSSL.
  </span>
 </p></blockquote>

 <div class="simplesect">
  <h3 class="title">Historial de cambios</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Versión</th>
       <th>Descripción</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>7.4.0</td>
       <td>
        La opción <strong class="option configure">--with-openssl[=DIR]</strong> ya no acepta
        argumentos de directorio en favor del ajuste de la variable pkg-config
        <var class="envar">PKG_CONFIG_PATH</var> hacia la ubicación de OpenSSL, o especificando las variables <var class="envar">OPENSSL_LIBS</var> y
        <var class="envar">OPENSSL_CFLAGS</var>.
       </td>
       </tr>

       <tr>
       <td>
        La ruta de configuración por omisión de OpenSSL ha sido modificada de  <var class="filename">C:\usr\local\ssl</var>
        a <var class="filename">C:\Program Files\Common Files\SSL</var> y
        <var class="filename">C:\Program Files (x86)\Common Files\SSL</var>, respectivamente.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>

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