| <!DOCTYPE html SYSTEM "about:legacy-compat"> | |
| <html lang="es"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <meta content="width=device-width, initial-scale=1" name="viewport"> | |
| <!-- | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| This file is generated from xml source: DO NOT EDIT | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| --> | |
| <title>mod_ssl - Servidor HTTP Apache Versión 2.5</title> | |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet"> | |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size"> | |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="../style/css/prettify.css"> | |
| <script src="../style/scripts/prettify.min.js"> | |
| </script> | |
| <link href="../images/favicon.png" rel="shortcut icon"></head> | |
| <body> | |
| <div id="page-header"> | |
| <p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Reportar un error</a></p> | |
| <p class="apache">Versión 2.5 del Servidor HTTP Apache</p> | |
| <img alt="" src="../images/feather.png"></div> | |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif"></a></div> | |
| <div id="path"> | |
| <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">Servidor HTTP</a> > <a href="https://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.5</a> > <a href="./">Módulos</a></div> | |
| <div id="page-content"> | |
| <div id="preamble"><h1>Módulo Apache mod_ssl</h1> | |
| <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> | |
| <div class="toplang"> | |
| <p><span>Idiomas disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | | |
| <a href="../es/mod/mod_ssl.html" title="Español"> es </a> | | |
| <a href="../fr/mod/mod_ssl.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> | |
| </div> | |
| <div class="outofdate">Esta traducción podría estar | |
| obsoleta. Consulte la versión en inglés de la | |
| documentación para comprobar si se han producido cambios | |
| recientemente.</div> | |
| <table class="module"><tr><th><a href="module-dict.html#Description">Descripción:</a></th><td>Criptografía fuerte usando una Capa de Sockets Seguros (Secure | |
| Sockets Layer SSL) y protocolos de Seguridad de la Capa de Transporte | |
| (Transport Layer Security TLS)</td></tr> | |
| <tr><th><a href="module-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Identificador de Módulos:</a></th><td>ssl_module</td></tr> | |
| <tr><th><a href="module-dict.html#SourceFile">Fichero de Código Fuente:</a></th><td>mod_ssl.c</td></tr></table> | |
| <h3>Resumen de contenidos</h3> | |
| <p>Este módulo ofrece soporte para SSL v3 y TLS v1.x para el Servidor Apache | |
| HTTP. SSL v2 ya no está soportado.</p> | |
| <p>Este módulo depende de <a href="http://www.openssl.org/">OpenSSL</a> para | |
| proveer el motor criptográfico.</p> | |
| <p>Se facilitan más detalles, discusión y ejemplos en la | |
| <a href="../ssl/">documentación SSL</a>.</p> | |
| </div> | |
| <div id="quickview"><h3>Temas</h3> | |
| <ul id="topics"> | |
| <li><img alt="" src="../images/down.gif"> <a href="#envvars">Variables de Entorno</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#logformats">Formatos de Log Personalizados</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#notes">Notas de Solicitud</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#expressionparser">Extensión Intérprete de Expresiones</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#authzproviders">Proveedores de Autorización para su uso con | |
| Require</a></li> | |
| </ul><h3 class="directives">Directivas</h3> | |
| <ul id="toc"> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcacertificatefile">SSLCACertificateFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcacertificatepath">SSLCACertificatePath</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcadnrequestfile">SSLCADNRequestFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcadnrequestpath">SSLCADNRequestPath</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcarevocationcheck">SSLCARevocationCheck</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcarevocationfile">SSLCARevocationFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcarevocationpath">SSLCARevocationPath</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcertificatechainfile">SSLCertificateChainFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcertificatefile">SSLCertificateFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslciphersuite">SSLCipherSuite</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslclienthellovars">SSLClientHelloVars</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcompression">SSLCompression</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslcryptodevice">SSLCryptoDevice</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslechkeydir">SSLECHKeyDir</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslengine">SSLEngine</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslfips">SSLFIPS</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslhonorcipherorder">SSLHonorCipherOrder</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspenable">SSLOCSPEnable</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspnoverify">SSLOCSPNoverify</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspproxyurl">SSLOCSPProxyURL</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocsprespondertimeout">SSLOCSPResponderTimeout</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspresponsemaxage">SSLOCSPResponseMaxAge</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslocspuserequestnonce">SSLOCSPUseRequestNonce</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslopensslconfcmd">SSLOpenSSLConfCmd</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#ssloptions">SSLOptions</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslpassphrasedialog">SSLPassPhraseDialog</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslpolicy">SSLPolicy</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslprotocol">SSLProtocol</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycarevocationcheck">SSLProxyCARevocationCheck</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxyciphersuite">SSLProxyCipherSuite</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxyengine">SSLProxyEngine</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxyprotocol">SSLProxyProtocol</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxystoreuri">SSLProxyStoreURI</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxytrusturi">SSLProxyTrustURI</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxyverify">SSLProxyVerify</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslproxyverifydepth">SSLProxyVerifyDepth</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslrandomseed">SSLRandomSeed</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslrenegbuffersize">SSLRenegBufferSize</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslrequire">SSLRequire</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslrequiressl">SSLRequireSSL</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslsessioncache">SSLSessionCache</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslsessioncachetimeout">SSLSessionCacheTimeout</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslsessionticketkeyfile">SSLSessionTicketKeyFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslsessiontickets">SSLSessionTickets</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslsrpunknownuserseed">SSLSRPUnknownUserSeed</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslsrpverifierfile">SSLSRPVerifierFile</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingcache">SSLStaplingCache</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingforceurl">SSLStaplingForceURL</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstoreuri">SSLStoreURI</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#ssltrustrequesturi">SSLTrustRequestURI</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#ssltrusturi">SSLTrustURI</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslusername">SSLUserName</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslusestapling">SSLUseStapling</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslverifyclient">SSLVerifyClient</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslverifydepth">SSLVerifyDepth</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#sslvhostsnipolicy">SSLVHostSNIPolicy</a></li> | |
| </ul> | |
| <h3>Lista de comprobación de errores corregidos</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd historial de cambios</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl">Problemas Conocidos</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl">Reportar un error</a></li></ul></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="envvars">Variables de Entorno <a title="Enlace permanente" href="#envvars" class="permalink">¶</a></h2> | |
| <p>Este módulo puede ser configurado para proveer muchos elementos de información | |
| SSL como variables de entorno adicionales para el espacio de nombres de SSI y | |
| CGI. Esta información no se facilita por defecto por razones de rendimiento. | |
| (Vea StdEnvVars de <code class="directive">SSLOptions</code> más adelante.) Las | |
| variables generadas se listan en la tabla a continuación. Para | |
| retrocompatibilidad la información también puede estar disponible bajo distintos | |
| nombres. Vea el capítulo <a href="../ssl/ssl_compat.html">Compatibilidad</a> | |
| para más detalles sobre las variables de compatibilidad.</p> | |
| <table class="bordered"> | |
| <tr> | |
| <th><a name="table3">Nombre de Variable:</a></th> | |
| <th>Valor Tipo:</th> | |
| <th>Descripción:</th> | |
| </tr> | |
| <tr><td><code>HTTPS</code></td> <td>flag</td> <td>Se está usando HTTPS.</td></tr> | |
| <tr><td><code>SSL_PROTOCOL</code></td> <td>string</td> <td>El protocolo SSL versión (SSLv3, TLSv1, TLSv1.1, TLSv1.2)</td></tr> | |
| <tr><td><code>SSL_SESSION_ID</code></td> <td>string</td> <td>El id de sesión SSL codificado en hexadecimal</td></tr> | |
| <tr><td><code>SSL_SESSION_RESUMED</code></td> <td>string</td> <td>Sesión SSL inicial o reanudada. Nota: múltiples peticiones pueden servirse a través de la misma sesión SSL (Inicial o Reanudada) si el KeepAlive de HTTP está en uso</td></tr> | |
| <tr><td><code>SSL_SECURE_RENEG</code></td> <td>string</td> <td><code>true</code> si la renegociación segura está soportada, si no <code>false</code></td></tr> | |
| <tr><td><code>SSL_CIPHER</code></td> <td>string</td> <td>El nombre de la especificación del cifrado</td></tr> | |
| <tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>string</td> <td><code>true</code> si el cifrado es un cifrado export</td></tr> | |
| <tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>number</td> <td>Número de bits de cifrado (en uso actualmente)</td></tr> | |
| <tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>number</td> <td>Número de bits de cifrado (posibles)</td></tr> | |
| <tr><td><code>SSL_COMPRESS_METHOD</code></td> <td>string</td> <td>Método de compresión SSL negociado</td></tr> | |
| <tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>string</td> <td>La versión de mod_ssl</td></tr> | |
| <tr><td><code>SSL_VERSION_LIBRARY</code></td> <td>string</td> <td>La versión del programa OpenSSL</td></tr> | |
| <tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>string</td> <td>La versión del certificado cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>string</td> <td>El serial del certificado cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_S_DN</code></td> <td>string</td> <td>Sujeto DN en el certificado cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>string</td> <td>Componente del Sujeto DN cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_SAN_Email_</code><em>n</em></td> <td>string</td> <td>Entradas de extensión subjectAltName del certificado cliente del tipo rfc822Name</td></tr> | |
| <tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>string</td> <td>Entradas de extensión subjectAltName del tipo dNSName</td></tr> | |
| <tr><td><code>SSL_CLIENT_SAN_OTHER_msUPN_</code><em>n</em></td> <td>string</td> <td>Entradas de extensión subjectAltName del certificado cliente del tipo otherName, Microsoft User Principal Name form (OID 1.3.6.1.4.1.311.20.2.3)</td></tr> | |
| <tr><td><code>SSL_CLIENT_I_DN</code></td> <td>string</td> <td>DN del firmante en el certificado cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>string</td> <td>Componente del DN en el firmante del certificado cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_V_START</code></td> <td>string</td> <td>Validez del certificado cliente (fecha de inicio)</td></tr> | |
| <tr><td><code>SSL_CLIENT_V_END</code></td> <td>string</td> <td>Validez del certificado cliente (fecha fin)</td></tr> | |
| <tr><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>string</td> <td>Número de días hasta que el certificado cliente expira</td></tr> | |
| <tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>string</td> <td>Algoritmo usado para la firma del certificado cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_A_KEY</code></td> <td>string</td> <td>Algoritmo usado para la clave pública del certificado cliente.</td></tr> | |
| <tr><td><code>SSL_CLIENT_CERT</code></td> <td>string</td> <td>Certificado cliente codificado en PEM</td></tr> | |
| <tr><td><code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em></td> <td>string</td> <td>Certificados codificados en PEM en la cadena de certificados cliente</td></tr> | |
| <tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>string</td> <td>Número de serie y distribuidor del certificado. El formato coincide con el CertificateExactAssertion en RFC4523</td></tr> | |
| <tr><td><code>SSL_CLIENT_VERIFY</code></td> <td>string</td> <td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> or <code>FAILED:</code><em>reason</em></td></tr> | |
| <tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>string</td> <td>La versión del certificado del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_M_SERIAL</code></td> <td>string</td> <td>El serial del certificado del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_S_DN</code></td> <td>string</td> <td>Nombre DN en el certificado del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_SAN_Email_</code><em>n</em></td> <td>string</td> <td>Entradas de extensión subjectAltName en el certificado del servidor del tipo rfc822Name</td></tr> | |
| <tr><td><code>SSL_SERVER_SAN_DNS_</code><em>n</em></td> <td>string</td> <td>Entradas de Extensión subjectAltName del tipo Server dNSName del certificado del Servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_SAN_OTHER_dnsSRV_</code><em>n</em></td> <td>string</td> <td>Entradas de extensión subjectAltName del tipo otherName, forma SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985) del certificado del servidor.</td></tr> | |
| <tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>string</td> <td>Componente del Sujeto DN del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_I_DN</code></td> <td>string</td> <td>DN del Firmante del certificado del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>string</td> <td>Componente en el DN del firmante del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_V_START</code></td> <td>string</td> <td>Validez del certificado del servidor (fecha de inicio)</td></tr> | |
| <tr><td><code>SSL_SERVER_V_END</code></td> <td>string</td> <td>Validez del certificado del servidor (fecha de fin)</td></tr> | |
| <tr><td><code>SSL_SERVER_A_SIG</code></td> <td>string</td> <td>Algoritmo utilizado para la firma del certificado del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_A_KEY</code></td> <td>string</td> <td>Algoritmo utilizado para la clave pública del certificado del servidor</td></tr> | |
| <tr><td><code>SSL_SERVER_CERT</code></td> <td>string</td> <td>Certificado del servidor codificado en PEM</td></tr> | |
| <tr><td><code>SSL_SRP_USER</code></td> <td>string</td> <td>Nombre de usuario SRP</td></tr> | |
| <tr><td><code>SSL_SRP_USERINFO</code></td> <td>string</td> <td>Información de usuario SRP</td></tr> | |
| <tr><td><code>SSL_TLS_SNI</code></td> <td>string</td> <td>Contenido de la extensión TLS SNI (si se provee en el ClientHello)</td></tr> | |
| </table> | |
| <p><em>x509</em> especifica un componente de un DN X.509; uno entre | |
| <code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code>. En Apache 2.2.0 en | |
| posterior, <em>x509</em> también puede incluir un sufijo <code>_n</code> | |
| numérico. Si el DN en cuestión contiene múltiples atributos del mismo | |
| nombre, este sufijo se usa para un índice basado en ceros para seleccionar | |
| un atributo en particular. Por ejemplo, donde el sujeto del DN del | |
| certificado del servidor incluirá dos atributos OU, | |
| <code>SSL_SERVER_S_DN_OU_0</code> y | |
| <code>SSL_SERVER_S_DN_OU_1</code> podría usarse para referenciar cada una. | |
| Una variable sin un sufijo <code>_n</code> es equivalente a ese nombre con un | |
| sufijo <code>_0</code>; el primer (y único) atributo. | |
| Cuando la tabla del entorno se llena usando la opción <code>StdEnvVars</code> | |
| de la directiva <code class="directive"><a href="#ssloptions">SSLOptions</a></code>, el primer | |
| (o único) atributo de cualquier DN se añade sólo bajo un nombre sin sufijo; | |
| p. ej. no se añaden entradas con sufijo <code>_0</code>.</p> | |
| <p>En httpd 2.5.0 y posterior, se puede añadir un sufijo <em>_RAW</em> a | |
| <em>x509</em> en un componente DN para suprimir la conversión del valor | |
| del atributo a UTF-8. Esto se debe colocar después del sufijo de indice (si lo | |
| hay). Por ejemplo, se podría usar <code>SSL_SERVER_S_DN_OU_RAW</code> o | |
| <code>SSL_SERVER_S_DN_OU_0_RAW</code>.</p> | |
| <p>El formato de las variables <em>*_DN</em> ha cambiado en Apache HTTPD | |
| 2.3.11. Vea la opción <code>LegacyDNStringFormat</code> para | |
| <code class="directive"><a href="#ssloptions">SSLOptions</a></code> para más detalles.</p> | |
| <p><code>SSL_CLIENT_V_REMAIN</code> sólo está disponible en la versión 2.1 y | |
| posterior.</p> | |
| <p>Se puede usar varias variables de entorno adicionales con expresiones en | |
| <code class="directive">SSLRequire</code>, o en formatos de log personalizados:</p> | |
| <div class="note"><pre>HTTP_USER_AGENT PATH_INFO AUTH_TYPE | |
| HTTP_REFERER QUERY_STRING SERVER_SOFTWARE | |
| HTTP_COOKIE REMOTE_HOST API_VERSION | |
| HTTP_FORWARDED REMOTE_IDENT TIME_YEAR | |
| HTTP_HOST IS_SUBREQ TIME_MON | |
| HTTP_PROXY_CONNECTION DOCUMENT_ROOT TIME_DAY | |
| HTTP_ACCEPT SERVER_ADMIN TIME_HOUR | |
| THE_REQUEST SERVER_NAME TIME_MIN | |
| REQUEST_FILENAME SERVER_PORT TIME_SEC | |
| REQUEST_METHOD SERVER_PROTOCOL TIME_WDAY | |
| REQUEST_SCHEME REMOTE_ADDR TIME | |
| REQUEST_URI REMOTE_USER</pre></div> | |
| <p>En estos contextos, también se pueden usar dos formatos especiales:</p> | |
| <dl> | |
| <dt><code>ENV:<em>nombredevariable</em></code></dt> | |
| <dd>Esto se rellenará al valor de la variable de entorno estándar | |
| <em>nombredevariable</em>.</dd> | |
| <dt><code>HTTP:<em>nombredecabecera</em></code></dt> | |
| <dd>Esto se rellenará con el valor de la cabecera de solicitud con el nombre | |
| <em>nombredecabecera</em>.</dd> | |
| </dl> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="logformats">Formatos de Log Personalizados <a title="Enlace permanente" href="#logformats" class="permalink">¶</a></h2> | |
| <p>Cuando se compila <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en Apache o al menos se carga (en | |
| situación de DSO) existen funciones adicionales para el | |
| <a href="mod_log_config.html#formats">Formatos de Log Personalizados</a> de | |
| <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. Primero hay una función de extensión de formato | |
| adicional ``<code>%{</code><em>varname</em><code>}x</code>'' que puede usarse | |
| para extender cualquier variable facilitada por cualquier módulo, especialmente | |
| aquellas que son facilitadas por mod_ssl que puede encontrar en la tabla de más | |
| arriba.</p> | |
| <p> | |
| Para retro compatibilidad adicionalmente se facilita una función de formato de | |
| criptografía ``<code>%{</code><em>nombre</em><code>}c</code>''. Información sobre | |
| esta función se facilita en capítulo de <a href="../ssl/ssl_compat.html">Compatibilidad</a>.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"</pre> | |
| </div> | |
| <p>Estos formatos incluso funcionan sin la opción de configuración | |
| <code>StdEnvVars</code> de la directiva | |
| <code class="directive"><a href="#ssloptions">SSLOptions</a></code>.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="notes">Notas de Solicitud <a title="Enlace permanente" href="#notes" class="permalink">¶</a></h2> | |
| <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> configura "notas" para la petición que pueden | |
| usarse en el registro de logs con la cadena de caracteres | |
| <code>%{<em>nombre</em>}n</code> en <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> | |
| <p>A continuación se indican las notas soportadas:</p> | |
| <dl> | |
| <dt><code>ssl-access-forbidden</code></dt> | |
| <dd>Esta nota se configura al valor <code>1</code> si el acceso fue | |
| denegado debido a una directiva <code class="directive">SSLRequire</code> o | |
| <code class="directive">SSLRequireSSL</code>.</dd> | |
| <dt><code>ssl-secure-reneg</code></dt> | |
| <dd>Si se compila <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> con una versión de OpenSSL que | |
| soporta la extensión de renegociación segura, esta nota se configura con el | |
| valor <code>1</code> si se usa SSL para la conexión actual y el cliente | |
| también soporta la extensión de renegociación segura. Si el cliente no | |
| soporta la extensión de renegociación segura, esta nota se configura con el valor | |
| <code>0</code>. | |
| Si se compila <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> con una versión de OpenSSL que no | |
| soporta renegociación segura, o si SSL no se usa en la conexión actual, esta | |
| nota no se configura.</dd> | |
| </dl> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="expressionparser">Extensión Intérprete de Expresiones <a title="Enlace permanente" href="#expressionparser" class="permalink">¶</a></h2> | |
| <p>Cuando se compila <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en Apache o se carga | |
| (bajo situación DSO) cualquier <a name="envvars">variable</a> | |
| facilitada por <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> puede usarse en expresiones para el | |
| <a href="../expr.html">Intérprete de Expresiones ap_expr</a>. | |
| Se puede hacer referencia a las variables usando la sintaxis | |
| ``<code>%{</code><em>varname</em><code>}</code>''. Comenzando con la versión | |
| 2.4.18 uno también puede usar el estilo de sintaxis de | |
| <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> | |
| ``<code>%{SSL:</code><em>nombredevariable</em><code>}</code>'' o el estilo de | |
| sintaxis de la función | |
| ``<code>ssl(</code><em>nombredevariable</em><code>)</code>''.</p> | |
| <div class="example"><h3>Ejemplo (usando <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>)</h3><pre class="prettyprint lang-config">Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}" | |
| Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"</pre> | |
| </div> | |
| <p>Esta característica funciona incluso sin configurar la opción | |
| <code>StdEnvVars</code> de la directiva | |
| <code class="directive"><a href="#ssloptions">SSLOptions</a></code>.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="authzproviders">Proveedores de Autorización para su uso con | |
| Require <a title="Enlace permanente" href="#authzproviders" class="permalink">¶</a></h2> | |
| <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> facilita unos pocos proveedores de autenticación | |
| para usarse con la directiva <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> | |
| de <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>.</p> | |
| <h3 id="reqssl">Require ssl</h3> | |
| <p>El proveedor de <code>ssl</code> deniega el acceso si la conexión no está | |
| encriptada con SSL. Esto es similar a la directiva | |
| <code class="directive">SSLRequireSSL</code>.</p> | |
| <pre class="prettyprint lang-config">Require ssl</pre> | |
| <h3 id="reqverifyclient">Require ssl-verify-client</h3> | |
| <p>El proveedor de <code>ssl</code> permite acceso si el usuario se autentica | |
| con un certificado cliente válido. Esto sólo es útil si se está usando | |
| <code>SSLVerifyClient optional</code>.</p> | |
| <p>El siguiente ejemplo permite acceso si el usuario se autentica o bien | |
| con certificado cliente o con usuario y contraseña.</p> | |
| <pre class="prettyprint lang-config">Require ssl-verify-client | |
| Require valid-user</pre> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcacertificatefile">Directiva <span id="SSLCACertificateFile">SSLCACertificateFile</span> <a title="Enlace permanente" href="#sslcacertificatefile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de Certificados CA concatenados y codificados en PEM para | |
| la Autenticación de Cliente</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCACertificateFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el fichero <em>todo-en-uno</em> donde puede ensamblar | |
| los Certificados de las Autoridades de Certificación (CA) de los | |
| <em>clientes</em> que acceden a su servidor. Esto se usan para la Autenticación | |
| de Cliente. Tal fichero es sencillamente la concatenación, en orden de preferencia, | |
| de varios ficheros de Certificado codificados en PEM. Esto puede usarse | |
| alternativamente y/o adicionalmente a | |
| <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcacertificatepath">Directiva <span id="SSLCACertificatePath">SSLCACertificatePath</span> <a title="Enlace permanente" href="#sslcacertificatepath" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directorio de certificados CA codificados en PEM para la | |
| autenticación de Cliente</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCACertificatePath <em>ruta-de-directorio</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el directorio donde guarda los certificados de | |
| Autoridades de Certificación (CAs) de los clientes que accederán a su servidor. | |
| Esto se usarán para verificar el certificado cliente en la Autenticación de | |
| Cliente.</p> | |
| <p> | |
| Los ficheros en este directorio tienen que ser codificados en PEM y se acceden a | |
| través de nombres de ficheros con hash. Así que generalmente no puede poner | |
| simplemente los ficheros ahí: también tiene que crear enlaces simbólicos con | |
| nombre <em>valor-hash</em><code>.N</code>. Y siempre debería asegurarse de que | |
| este directorio contiene los enlaces simbólicos apropiados.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcadnrequestfile">Directiva <span id="SSLCADNRequestFile">SSLCADNRequestFile</span> <a title="Enlace permanente" href="#sslcadnrequestfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de certificados CA concatenados codificados en PEM para | |
| definir nombres de CA aceptables</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCADNRequestFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Cuando se solicita un certificado cliente por mod_ssl, una lista de | |
| <em>nombres de Autoridad Certificadora aceptables</em> se envía al cliente en | |
| el saludo SSL. Estos nombres de CA se pueden usar por el cliente para | |
| seleccionar un certificado cliente apropiado entre los que tiene disponibles.</p> | |
| <p>Si no están las directivas <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> o | |
| <code class="directive">SSLCADNRequestFile</code>, entonces el | |
| conjunto de nombres aceptables de CA enviados al cliente es la de los nombres | |
| de todos los certificados de CA cargados en las directivas | |
| <code class="directive"><a href="#sslcacertificatefile">SSLCACertificateFile</a></code> y | |
| <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>; en otras palabras, | |
| los nombres de las CAs que se usarán actualmente para verificar el certificado | |
| cliente.</p> | |
| <p>En algunas circunstancias, es útil poder enviar un conjunto de nombres de CA | |
| aceptables diferente de las CAs usadas para verificar el certificado cliente - | |
| por ejemplo, si los certificados cliente están firmados CAs intermedias. En tales | |
| casos, <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> y/o | |
| <code class="directive">SSLCADNRequestFile</code> se pueden usar; los | |
| nombres de CA aceptables se toman del conjunto completo de certificados en el | |
| directorio y/o fichero especificados por este par de directivas.</p> | |
| <p><code class="directive">SSLCADNRequestFile</code> debe especificar | |
| un fichero <em>todo-en-uno</em> que contenga una concatenación de certificados | |
| CA codificados en PEM.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCADNRequestFile "/usr/local/apache2/conf/ca-names.crt"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcadnrequestpath">Directiva <span id="SSLCADNRequestPath">SSLCADNRequestPath</span> <a title="Enlace permanente" href="#sslcadnrequestpath" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directorio de Certificados CA codificados en PEM para definir | |
| nombres de CA aceptables</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCADNRequestPath <em>ruta-al-directorio</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta directiva opcional puede usarse para especificar un conjunto de | |
| <em>nombres de CA aceptables</em> que serán enviados al cliente cuando se | |
| solicita un certificado cliente. Vea la directiva | |
| <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> para más | |
| detalles.</p> | |
| <p>Los ficheros en este directorio tienen que estar codificados en PEM y se | |
| accede a ellos con nombres de ficheros con hash. Así que generalmente no puede | |
| poner sin más los ficheros de Certificado ahí: también tiene que crear enlaces | |
| simbólicos llamados <em>valor-de-hash</em><code>.N</code>. Y siempre debería | |
| estar seguro de que este directorio contiene los enlaces simbólicos | |
| apropiados.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCADNRequestPath "/usr/local/apache2/conf/ca-names.crt/"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcarevocationcheck">Directiva <span id="SSLCARevocationCheck">SSLCARevocationCheck</span> <a title="Enlace permanente" href="#sslcarevocationcheck" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activar comprobación de revocación basada en CRL</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCARevocationCheck chain|leaf|none <em>modificador</em>es</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLCARevocationCheck none</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td><em>Modificador</em>es Opcionales disponibles en httpd 2.4.21 o | |
| posterior</td></tr> | |
| </table> | |
| <p> | |
| Activa la comprobación de la lista de revocación de certificados (CRL). Al menos | |
| <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> | |
| o <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code> deben estar | |
| configuradas. Cuando se configuran a <code>chain</code> (configuración | |
| recomendada), las comprobaciones de CRL se aplican a todos los certificados | |
| en la cadena, mientras que si se configura a <code>leaf</code> limita las | |
| comprobaciones al certificado firmado final. | |
| </p> | |
| <p>Los <em>modificador</em>es disponibles son:</p> | |
| <ul> | |
| <li><code>no_crl_for_cert_ok</code> | |
| <p> | |
| Previamente a la versión 2.3.15, la comprobación de CRL en mod_ssl también | |
| tenía éxito cuando no se encontraban CRL/s para los certificados comprobados | |
| en ninguna de las ubicaciones configuradas con | |
| <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> | |
| o <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>. | |
| </p> | |
| <p> | |
| Con la introducción de <code class="directive">SSLCARevocationFile</code>, | |
| el comportamiento ha cambiado: por defecto con <code>chain</code> o | |
| <code>leaf</code>, los CRLs <strong>deben</strong> estar presentes | |
| para que la validación tenga éxito, si no fallará con un error | |
| <code>"unable to get certificate CRL"</code>. | |
| </p> | |
| <p> | |
| El <em>modificador</em> <code>no_crl_for_cert_ok</code> permite | |
| restaurar el comportamiento anterior.. | |
| </p> | |
| </li> | |
| </ul> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain</pre> | |
| </div> | |
| <div class="example"><h3>Compatibilidad con versiones 2.2</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain no_crl_for_cert_ok</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcarevocationfile">Directiva <span id="SSLCARevocationFile">SSLCARevocationFile</span> <a title="Enlace permanente" href="#sslcarevocationfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de CRL's de CA concatenados y codificados en PEM para la | |
| Autenticación de ClienteFile of concatenated PEM-encoded CA CRLs for | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCARevocationFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el fichero <em>todo-en-uno</em> donde puede ensamblar | |
| las Listas de Revocación de Certificados (CRL) de las Autoridades de | |
| Certificación (CA) para los <em>clientes</em> que conectan a su servidor. Estos | |
| se usan para la Autenticación de Cliente. Tal fichero es simplemente la | |
| concatenación de varios ficheros CRL codificados en PEM, en orden de | |
| preferencia. Esto se puede usar alternativamente a/o adicionalmente a | |
| <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcarevocationpath">Directiva <span id="SSLCARevocationPath">SSLCARevocationPath</span> <a title="Enlace permanente" href="#sslcarevocationpath" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directorio de CRLs de CA codificados en PEM para la Autenticación | |
| de Cliente</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCARevocationPath <em>ruta-al-directorio</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el directorio donde usted alojará las Listas de | |
| Revocación de Certificados (CRL) de las Autoridades de Certificación (CAs) para | |
| los clientes que conectan al servidor. Estas se usan para revocar el | |
| certificado cliente en la Autenticación de Cliente.</p> | |
| <p> | |
| Los ficheros en este directorio tienen que ser codificados en PEM y se accede a | |
| ellos con nombres de ficheros con hash. Así que generalmente no sólo tiene que | |
| poner los ficheros CRL ahí. Adicionalmente tiene que crear enlaces simbólicos | |
| llamados <em>valor-de-hash</em><code>.rN</code>. Y debería asegurarse siempre | |
| que este directorio contiene los enlaces simbólicos apropiados.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcertificatechainfile">Directiva <span id="SSLCertificateChainFile">SSLCertificateChainFile</span> <a title="Enlace permanente" href="#sslcertificatechainfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de Certificados CA de Servidor codificado en | |
| PEM</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCertificateChainFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <div class="note"><h3>SSLCertificateChainFile está obsoleto</h3> | |
| <p><code>SSLCertificateChainFile</code> quedó obsoleto con la versión 2.4.8, | |
| cuando se extendió <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code> | |
| para cargar también los certificados de CA intermedias del fichero de | |
| certificados del servidor.</p> | |
| </div> | |
| <p> | |
| Esta directiva configura el fichero <em>todo-en-uno</em> donde puede ensamblar los | |
| certificados de Autoridades de Certificación (CA - Certification Authorities) | |
| que forman la cadena del certificado del servidor. Este comienza con el | |
| certificado de la CA firmante del certificado del servidor y puede ir hasta el | |
| certificado de la CA raíz. Tal fichero es simplemente la concatenación de varios | |
| ficheros de Certificado CA codificado en PEM, generalmente siguiendo la cadena | |
| de certificación.</p> | |
| <p> | |
| Esto debería usarse alternativamente y/o adicionalmente a | |
| <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> para construir | |
| explicitamente la cadena de CA del certificado del servidor que se envía al | |
| navegador además del certificado del servidor. Es especialmente últil | |
| para evitar conflictos con certificados CA cuando se usa autenticación de | |
| cliente. Porque aunque colocar los CA de la cadena de certificados del servidor | |
| en <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> tiene el mismo | |
| efecto para la construcción de la cadena de certificados, tiene un efecto | |
| adicional en la que los certificados cliente firmados por el mismo certificado CA | |
| también se aceptan en la autenticación de cliente.</p> | |
| <p> | |
| Pero tenga cuidado: Proveer la cadena de certificados funciona sólo si está | |
| usando <em>un sólo</em> certificado de servidor basado en RSA <em>o</em> DSA. Si | |
| está usando un par de certificados juntos RSA+DSA, esto sólo funcionará si | |
| ambos certificados usan <em>la misma</em> cadena de certificados. Si no los | |
| navegadores se confundirán en esta situación.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcertificatefile">Directiva <span id="SSLCertificateFile">SSLCertificateFile</span> <a title="Enlace permanente" href="#sslcertificatefile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de datos Certificado X.509 codificado en PEM</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCertificateFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva apunta a un fichero con datos de certificado en formato PEM. Como | |
| mínimo, el fichero debe incluir un certificado final (no sólo CA a menos que sea | |
| autofirmado). La directiva puede usarse multiples veces (haciendo referencia a | |
| ficheros distintos) para dar soporte a múltiples algoritmos para la | |
| autenticación de servidor - típicamente RSA, DSA y ECC. El número de algoritmos | |
| soportados depende de la versión de OpenSSL utilizada por mod_ssl: con la versión | |
| 1.0.0 o posterior, | |
| <code>openssl list-public-key-algorithms</code> sacará una lista de algoritmos | |
| soportados, vea también la nota más adelante sobre limitaciones de versiones | |
| OpenSSL previas a 1.0.2 y la forma de sortearlas. | |
| </p> | |
| <p> | |
| Los ficheros pueden también incluir certificados de CA intermedias, ordenados | |
| desde el certificado firmado hasta el certificado raíz. Esto está soportado con | |
| la versión 2.4.8 y posterior, y deja obsoleta la directiva | |
| <code class="directive"><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></code>. | |
| Cuando se trabaja con OpenSSL 1.0.2 o posterior, esto permite que se configuren | |
| la cadena de CAs intermedias por certificado. | |
| </p> | |
| <p> | |
| También se pueden añadir parámetros personalizados DH y un nombre de curva EC | |
| para claves efímeras al final del primer fichero configurado usando | |
| <code class="directive">SSLCertificateFile</code>. | |
| Esto está soportado en la versión 2.4.7 y posterior. | |
| Tales parámetros pueden ser generados usando los comandos | |
| <code>openssl dhparam</code> y <code>openssl ecparam</code>. Los parámetros se | |
| pueden añadir tal cual al final del primer fichero de certificado. sólo se puede | |
| usar el primer fichero para los parámetros personalizados, puesto que estos | |
| se aplican independientemente del tipo de algoritmo de autenticación. | |
| </p> | |
| <p> | |
| Finalmente la clave privada del certificado también se puede añadir al fichero | |
| de certificado en lugar de usar por separado la directiva | |
| <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>. Esta práctica | |
| está muy desaconsejada. Si se usa, los ficheros de certificado usando tales | |
| ficheros de claves embebidas deben configurarse después de los certificados que | |
| usan una clave privada en un fichero aparte. Si la clave privada está encriptada | |
| , el diálogo de solicitud de contraseña se fuerza en el arranque. | |
| </p> | |
| <div class="note"> | |
| <h3>Interoperabilidad de parámetro DH con primos > 1024 bits</h3> | |
| <p> | |
| Comenzando con la versión 2.4.7, mod_ssl hace uso de parámetros DH | |
| estandarizados con longitud de primos de 2048, 3072 y 4096 bits y con longitud | |
| adicional de primos de 6144 y 8192 bits comenzando con la versión 2.4.10 | |
| (from <a href="http://www.ietf.org/rfc/rfc3526.txt">RFC 3526</a>), y los | |
| envía a clientes basándose en la longitud de la clave RSA/DSA del certificado. | |
| Con clientes basados en Java en particular (Java 7 o anterior), esto puede | |
| llevar a fallos de saludo inicial SSL - vea esta | |
| <a href="../ssl/ssl_faq.html#javadh">respuesta de FAQ </a> para sortear estos | |
| problemas. | |
| </p> | |
| </div> | |
| <div class="note"> | |
| <h3>Parámetros DH por defecto cuando se usan multiples certificados y | |
| y versiones de OpenSSL anteriores a 1.0.2</h3> | |
| <p> | |
| Cuando se usan múltiples certificados para dar soporte a algoritmos de | |
| autenticación diferentes (como RSA, DSA pero principalmente ECC) y OpenSSL | |
| anterior a 1.0.2, se recomienda usar o bien parámetros DH personalizados | |
| (preferiblemente) añadiéndolos al primer fichero de certificado (como se | |
| describe más arriba), o ordenar las directivas | |
| <code class="directive">SSLCertificateFile</code> para que los certificados RSA/DSA | |
| estén colocadas <strong>después</strong> del ECC. | |
| </p> | |
| <p> | |
| Esto se debe a una limitación en versiones más antiguas de OpenSSL que no | |
| permiten que el servidor HTTP Apache determine el certificado seleccionado | |
| actualmente en el momento del saludo SSL (cuando se deben mandar los parámetros | |
| DH al cliente) pero en su lugar siempre se provee el último certificado | |
| configurado. Consecuentemente, el servidor puede seleccionar parámetros DH | |
| por defecto basado en la longitud de la clave privada incorrecta (las clacves | |
| ECC son mucho más pequeñas que las RSA/DSA y su longitud no es relevante para | |
| seleccionar primos DH). | |
| </p> | |
| <p> | |
| Puesto que los parámetros personalizados DH siempre tienen precedencia sobre | |
| los de por defecto, este problema se puede evitar creando y configurándolos | |
| (como se describe arriba), y así usar una longitud adecuada/personalizada. | |
| </p> | |
| </div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCertificateFile "/usr/local/apache2/conf/ssl.crt/server.crt"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcertificatekeyfile">Directiva <span id="SSLCertificateKeyFile">SSLCertificateKeyFile</span> <a title="Enlace permanente" href="#sslcertificatekeyfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de clave privada de Servidor codificada en PEM</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCertificateKeyFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva apunta al fichero de clave privada codificado en PEM para el | |
| servidor. Si la clave privada contenida en el fichero está encriptada, se | |
| forzará un diálogo de solicitud de contraseña en el arranque.</p> | |
| <p> | |
| La directiva puede usarse múltiples veces (haciendo referencia a ficheros | |
| distintos) para dar soporte a múltiples algoritmos de autenticación para el | |
| servidor. Por cada directiva | |
| <code class="directive">SSLCertificateKeyFile</code> | |
| directive, debe haber una directiva <code class="directive">SSLCertificateFile</code> | |
| relacionada.</p> | |
| <p> | |
| La clave privada se puede combinar con el certificado en el fichero indicado en | |
| <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>, pero esta práctica | |
| es muy desaconsejable. Si se usa, los ficheros de certificado con la clave | |
| privada dentro deben configurarse después de los certificados que tienen una | |
| clave privada en otro fichero.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslciphersuite">Directiva <span id="SSLCipherSuite">SSLCipherSuite</span> <a title="Enlace permanente" href="#sslciphersuite" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Conjunto de Cifrados disponibles para negociación en el saludo SSL | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCipherSuite <em>especificación-de-cifrado</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLCipherSuite DEFAULT (depende de la versión de OpenSSL)</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta compleja directiva usa una cadena de <em>cifrados</em> separados por comas | |
| que consiste en especificaciones de cifrado OpenSSL para configurar el conjunto | |
| de cifrados que se le permite negociar al cliente en la fase de saludo SSL. | |
| Tenga en cuenta que esta directiva se puede usar en contexto de servidor y de | |
| directorio. En contexto de servidor aplica el saludo estándar de SSL cuando se | |
| establece una conexión. En contexto directorio fuerza una renegociación SSL con | |
| el juego de cifrados después de que la solicitud HTTP ha sido leída pero antes de | |
| que se envíe la respuesta.</p> | |
| <p> | |
| Una especificación de cifrado SSL en <em>especificación-de-cifrado</em> se compone de 4 | |
| atributos principales más unos cuantos menores extra:</p> | |
| <ul> | |
| <li><em>Algoritmo de Intercambio de Clave</em>:<br> | |
| RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password | |
| </li> | |
| <li><em>Algoritmo de Autenticación</em>:<br> | |
| RSA, Diffie-Hellman, DSS, ECDSA, or none. | |
| </li> | |
| <li><em>Algoritmo de Cifrado/Encriptación</em>:<br> | |
| AES, DES, Triple-DES, RC4, RC2, IDEA, etc. | |
| </li> | |
| <li><em>Algoritmo de Resúmen de MAC</em>:<br> | |
| MD5, SHA or SHA1, SHA256, SHA384. | |
| </li> | |
| </ul> | |
| <p>Un cifrado SSL puede ser un cifrado export. Los cifrados SSLv2 ya no están | |
| soportados. Para especificar qué cifrados usar, uno puede especificar todos | |
| los cifrados a utilizar, de uno en uno, o puede usar alias para | |
| especificar la preferencia y orden de los cifrados (vea <a href="#table1">Tabla | |
| 1</a>). La lista actual de cifrados y alias depende de la versión openssl | |
| utilizada. Versiones más modernas de openssl pueden incluir cifrados | |
| adicionales.</p> | |
| <table class="bordered"> | |
| <tr><th><a name="table1">Tag</a></th> <th>Description</th></tr> | |
| <tr><td colspan="2"><em>Algoritmo de Intercambio de Clave:</em></td></tr> | |
| <tr><td><code>kRSA</code></td> <td>RSA key exchange</td></tr> | |
| <tr><td><code>kDHr</code></td> <td>Diffie-Hellman key exchange with RSA key</td></tr> | |
| <tr><td><code>kDHd</code></td> <td>Diffie-Hellman key exchange with DSA key</td></tr> | |
| <tr><td><code>kEDH</code></td> <td>Ephemeral (temp.key) Diffie-Hellman key exchange (no cert)</td> </tr> | |
| <tr><td><code>kSRP</code></td> <td>Secure Remote Password (SRP) key exchange</td></tr> | |
| <tr><td colspan="2"><em>Algoritmo de Autenticación:</em></td></tr> | |
| <tr><td><code>aNULL</code></td> <td>No authentication</td></tr> | |
| <tr><td><code>aRSA</code></td> <td>RSA authentication</td></tr> | |
| <tr><td><code>aDSS</code></td> <td>DSS authentication</td> </tr> | |
| <tr><td><code>aDH</code></td> <td>Diffie-Hellman authentication</td></tr> | |
| <tr><td colspan="2"><em>Algoritmo de Codificación de Cifrado:</em></td></tr> | |
| <tr><td><code>eNULL</code></td> <td>No encryption</td> </tr> | |
| <tr><td><code>NULL</code></td> <td>alias for eNULL</td> </tr> | |
| <tr><td><code>AES</code></td> <td>AES encryption</td> </tr> | |
| <tr><td><code>DES</code></td> <td>DES encryption</td> </tr> | |
| <tr><td><code>3DES</code></td> <td>Triple-DES encryption</td> </tr> | |
| <tr><td><code>RC4</code></td> <td>RC4 encryption</td> </tr> | |
| <tr><td><code>RC2</code></td> <td>RC2 encryption</td> </tr> | |
| <tr><td><code>IDEA</code></td> <td>IDEA encryption</td> </tr> | |
| <tr><td colspan="2"><em>Algoritmo de Resumen de MAC</em>:</td></tr> | |
| <tr><td><code>MD5</code></td> <td>MD5 hash function</td></tr> | |
| <tr><td><code>SHA1</code></td> <td>SHA1 hash function</td></tr> | |
| <tr><td><code>SHA</code></td> <td>alias for SHA1</td> </tr> | |
| <tr><td><code>SHA256</code></td> <td>SHA256 hash function</td> </tr> | |
| <tr><td><code>SHA384</code></td> <td>SHA384 hash function</td> </tr> | |
| <tr><td colspan="2"><em>Aliases:</em></td></tr> | |
| <tr><td><code>SSLv3</code></td> <td>all SSL version 3.0 ciphers</td> </tr> | |
| <tr><td><code>TLSv1</code></td> <td>all TLS version 1.0 ciphers</td> </tr> | |
| <tr><td><code>EXP</code></td> <td>all export ciphers</td> </tr> | |
| <tr><td><code>EXPORT40</code></td> <td>all 40-bit export ciphers only</td> </tr> | |
| <tr><td><code>EXPORT56</code></td> <td>all 56-bit export ciphers only</td> </tr> | |
| <tr><td><code>LOW</code></td> <td>all low strength ciphers (no export, single DES)</td></tr> | |
| <tr><td><code>MEDIUM</code></td> <td>all ciphers with 128 bit encryption</td> </tr> | |
| <tr><td><code>HIGH</code></td> <td>all ciphers using Triple-DES</td> </tr> | |
| <tr><td><code>RSA</code></td> <td>all ciphers using RSA key exchange</td> </tr> | |
| <tr><td><code>DH</code></td> <td>all ciphers using Diffie-Hellman key exchange</td> </tr> | |
| <tr><td><code>EDH</code></td> <td>all ciphers using Ephemeral Diffie-Hellman key exchange</td> </tr> | |
| <tr><td><code>ECDH</code></td> <td>Elliptic Curve Diffie-Hellman key exchange</td> </tr> | |
| <tr><td><code>ADH</code></td> <td>all ciphers using Anonymous Diffie-Hellman key exchange</td> </tr> | |
| <tr><td><code>AECDH</code></td> <td>all ciphers using Anonymous Elliptic Curve Diffie-Hellman key exchange</td> </tr> | |
| <tr><td><code>SRP</code></td> <td>all ciphers using Secure Remote Password (SRP) key exchange</td> </tr> | |
| <tr><td><code>DSS</code></td> <td>all ciphers using DSS authentication</td> </tr> | |
| <tr><td><code>ECDSA</code></td> <td>all ciphers using ECDSA authentication</td> </tr> | |
| <tr><td><code>aNULL</code></td> <td>all ciphers using no authentication</td> </tr> | |
| </table> | |
| <p> | |
| La parte en que ésto se vuelve interesante es que éstos se pueden poner juntos | |
| para especificar el orden y los cifrados que quiere usar. Para acelerar esto | |
| también hay pseudónimos (<code>SSLv3, TLSv1, EXP, LOW, MEDIUM, | |
| HIGH</code>) para ciertos grupos de cifrados. Estas etiquetas se pueden juntar | |
| con prefijos para formar <em>especificación-de-cifrado</em>. Los prefijos disponibles son:</p> | |
| <ul> | |
| <li>none: añade cifrado a la lista</li> | |
| <li><code>+</code>: mueve los cifrados coincidentes a la ubicación actual en la | |
| lista</li> | |
| <li><code>-</code>: borra los cifrados de la lista (se pueden añadir más | |
| adelante)</li> | |
| <li><code>!</code>: mata el cifrado de la lista completamente | |
| (<strong>no</strong> puede añadirse después)</li> | |
| </ul> | |
| <div class="note"> | |
| <h3>Los cifrados <code>aNULL</code>, <code>eNULL</code> y <code>EXP</code> | |
| siempre están deshabilitados</h3> | |
| <p>Empezando con la versión 2.4.7, null y cifrados de grado export | |
| están siempre deshabilitados, asi que mod_ssl añade incondicionalmente | |
| <code>!aNULL:!eNULL:!EXP</code> a cualquier lista de cifrados en la | |
| inicialización.</p> | |
| </div> | |
| <p>Una forma más sencilla de ver todo esto es usar el comando | |
| ``<code>openssl ciphers -v</code>'' que facilita una buena forma de crear una | |
| cadena correcta de <em>especificación-de-cifrado</em>. La cadena <em>especificación-de-cifrado</em> depende | |
| de la versión de librerías OpenSSL utilizadas. Supongamos que es | |
| ``<code>RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5</code>'' que significa | |
| lo siguiente: Pon <code>RC4-SHA</code> y <code>AES128-SHA</code> al principio. | |
| Hacemos esto, porque estos cifrados ofrecen un buen compromiso entre velocidad y | |
| seguridad. Después, incluye los cifrados de seguridad alta y media. Finalmente, | |
| elimina todos los cifrados que no autentican, p.ej. para SSL los cifrados | |
| Anónimos Diffie-Hellman, así como todos los cifrados que usan <code>MD5</code> | |
| como algoritmo de hash porque se ha probado que son insuficientes.</p> | |
| <div class="example"><pre>$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5' | |
| RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 | |
| AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1 | |
| DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 | |
| ... ... ... ... ... | |
| SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1 | |
| PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1 | |
| KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1</pre></div> | |
| <p>La lista completa de cifrados RSA & DH concretos para SSL se facilita en | |
| la <a href="#table2">Tabla 2</a>.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW</pre> | |
| </div> | |
| <table class="bordered"> | |
| <tr><th><a name="table2">Cipher-Tag</a></th> <th>Protocol</th> <th>Key Ex.</th> <th>Auth.</th> <th>Enc.</th> <th>MAC</th> <th>Type</th> </tr> | |
| <tr><td colspan="7"><em>RSA Ciphers:</em></td></tr> | |
| <tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>RC4-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>RC4-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>RC4(128)</td> <td>MD5</td> <td></td> </tr> | |
| <tr><td><code>DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>EXP-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> | |
| <tr><td><code>EXP-RC2-CBC-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC2(40)</td> <td>MD5</td> <td> export</td> </tr> | |
| <tr><td><code>EXP-RC4-MD5</code></td> <td>SSLv3</td> <td>RSA(512)</td> <td>RSA</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> | |
| <tr><td><code>NULL-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>NULL-MD5</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>None</td> <td>MD5</td> <td></td> </tr> | |
| <tr><td colspan="7"><em>Diffie-Hellman Ciphers:</em></td></tr> | |
| <tr><td><code>ADH-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH</td> <td>None</td> <td>RC4(128)</td> <td>MD5</td> <td></td> </tr> | |
| <tr><td><code>EDH-RSA-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>EDH-DSS-DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>3DES(168)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>RSA</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH</td> <td>DSS</td> <td>DES(56)</td> <td>SHA1</td> <td></td> </tr> | |
| <tr><td><code>EXP-EDH-RSA-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>RSA</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> | |
| <tr><td><code>EXP-EDH-DSS-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>DSS</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> | |
| <tr><td><code>EXP-ADH-DES-CBC-SHA</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>DES(40)</td> <td>SHA1</td> <td> export</td> </tr> | |
| <tr><td><code>EXP-ADH-RC4-MD5</code></td> <td>SSLv3</td> <td>DH(512)</td> <td>None</td> <td>RC4(40)</td> <td>MD5</td> <td> export</td> </tr> | |
| </table> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslclienthellovars">Directiva <span id="SSLClientHelloVars">SSLClientHelloVars</span> <a title="Enlace permanente" href="#sslclienthellovars" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Enable collection of ClientHello variables</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLClientHelloVars on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLClientHelloVars off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in httpd 2.5.2 and later, requires OpenSSL 1.1.1 or later</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcompression">Directiva <span id="SSLCompression">SSLCompression</span> <a title="Enlace permanente" href="#sslcompression" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activa la compresión a nivel de SSL</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCompression on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLCompression off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.3 y posterior, si se usa OpenSSL 0.9.8 o | |
| posterior; disponible en el contexto de virtualhost si se usa OpenSSL 1.0.0 o | |
| posterior. El valor por defecto solía ser <code>on</code> en la versión | |
| 2.4.3</td></tr> | |
| </table> | |
| <p>Esta directiva permite activar la compresión a nivel de SSL.</p> | |
| <div class="warning"> | |
| <p>Activar la compresión provoca problemas de seguridad en la mayoría de las | |
| configuraciones (como el conocido ataque CRIME).</p> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslcryptodevice">Directiva <span id="SSLCryptoDevice">SSLCryptoDevice</span> <a title="Enlace permanente" href="#sslcryptodevice" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activar el uso de un hardware acelerador criptográfico</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLCryptoDevice <em>engine</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLCryptoDevice builtin</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva activa el uso de una placa hardware acelerador criptográfico | |
| para aliviar parte de la carga del procesamiento de SSL. Esta directiva | |
| sólo puede usarse si el kit de herramientas SSL está compilado con soporte de | |
| "engine"; OpenSSL 0.9.7 y posteriores versiones tienen soporte de "engine" por | |
| defecto, en versiones Openssl 0.9.6 debe usarse "-engine".</p> | |
| <p>Para descubrir qué nombres de "engine" están soportados, ejecute el comando | |
| "<code>openssl engine</code>".</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config"># For a Broadcom accelerator: | |
| SSLCryptoDevice ubsec</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslechkeydir">Directiva <span id="SSLECHKeyDir">SSLECHKeyDir</span> <a title="Enlace permanente" href="#sslechkeydir" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Load the set of Encrypted Client Hello (ECH) PEM files in the named directory</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLECHKeyDir <var>dirname</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in Apache HTTP Server 2.5.1 and later</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslengine">Directiva <span id="SSLEngine">SSLEngine</span> <a title="Enlace permanente" href="#sslengine" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Interruptor de Activación del motor SSL</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLEngine on|off|optional|addr[:port] [addr[:port]] ...</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLEngine off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>El parámetro <code>addr:port</code> está disponible en Apache | |
| 2.4.30 y posterior.</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva sirve para activar o desactivar el uso del motor del protocolo | |
| SSL/TLS. Los valores 'on', 'off' y 'optional' deberían usarse dentro de una | |
| sección <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> para | |
| activar SSL/TLS para un host virtual. Por defecto el motor de SSL/TLS está | |
| deshabilitado para ambos el servidor principal y todos los host virtuales | |
| configurados.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> | |
| SSLEngine on | |
| #... | |
| </VirtualHost></pre> | |
| </div> | |
| <p>Se deberían usar los valores <code>addr:port</code> en la configuración | |
| global del servidor para activar el motor del Protocolo SSL/TLS para | |
| <em>todos</em> los | |
| <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> | |
| que coincidan con una de las direcciones de la lista.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLEngine *:443 | |
| <VirtualHost *:443> | |
| #... | |
| </VirtualHost></pre> | |
| </div> | |
| <p><code class="directive">SSLEngine</code> puede ser configurado a | |
| <code>optional</code>: esto activa el soporte de | |
| <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>. | |
| </p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslfips">Directiva <span id="SSLFIPS">SSLFIPS</span> <a title="Enlace permanente" href="#sslfips" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Interruptor del modo SSL FIPS</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLFIPS on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLFIPS off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva activa o desactiva el uso de FIPS_mode en la librería SSL. Esto | |
| debe ponerse en el contexto de la configuración global del servidor y no puede | |
| configurarse con otras configuraciones que especifiquen lo contrario (SSLFIPS on | |
| seguido de SSLFIPS off o similar). Este modo se aplica a todas las operaciones | |
| de la librería SSL. | |
| </p> | |
| <p> | |
| Si httpd fuera compilado contra una librería SSL que no soporta FIPS_mode, | |
| <code>SSLFIPS on</code> fallará. Vea el documento de Políticas de Seguridad | |
| FIPS 140-2 de su proveedor de librería SSL para requerimientos específicos para | |
| usar mod_ssl en un modo de operación aprobado; tenga en cuenta que mod_ssl | |
| en sí mismo no está validado, pero puede ser descrito como un módulo | |
| validado de criptografía FIPS 140-2, cuando todos los componentes son montados | |
| y gestionados bajo las reglas impuestas por la Política de Seguridad aplicable. | |
| </p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslhonorcipherorder">Directiva <span id="SSLHonorCipherOrder">SSLHonorCipherOrder</span> <a title="Enlace permanente" href="#sslhonorcipherorder" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Opción para forzar el orden de preferencia de cifrados del | |
| servidor</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLHonorCipherOrder on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLHonorCipherOrder off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Cuando se selecciona un cifrado durante el saludo SSLv3 o TLSv1, normalmente | |
| se selecciona en función de las preferencias del cliente. Con esta directiva | |
| activada, se usará la preferencia del servidor en su lugar.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLHonorCipherOrder on</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspdefaultresponder">Directiva <span id="SSLOCSPDefaultResponder">SSLOCSPDefaultResponder</span> <a title="Enlace permanente" href="#sslocspdefaultresponder" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configura la URI por defecto del respondedor para la validación | |
| OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSDefaultResponder <em>uri</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta opción configura el respondedor OCSP por defecto a usar. Si | |
| <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> no está | |
| activada, la URI facilitada se usará si no hay una URI de respondedor en el | |
| certificado que está siendo verificado.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspenable">Directiva <span id="SSLOCSPEnable">SSLOCSPEnable</span> <a title="Enlace permanente" href="#sslocspenable" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activa la validación OCSP para la cadena de certificados del | |
| cliente</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPEnable on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPEnable off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta opción activa la validación OCSP de la cadena de certificados del | |
| cliente. Si esta opción está activada, los certificados en la cadena de | |
| certificados del cliente se validarán contra un respondedor OCSP después de que | |
| se hayan hecho las verificaciones normales (incluidas las comprobaciones de | |
| CRL).</p> | |
| <p>El respondedor OCSP utilizado o bien se extrae del mismo certificado, o | |
| derivado de la configuración; vea las directivas | |
| <code class="directive"><a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></code> y | |
| <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> | |
| directives.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLVerifyClient on | |
| SSLOCSPEnable on | |
| SSLOCSPDefaultResponder "http://responder.example.com:8888/responder" | |
| SSLOCSPOverrideResponder on</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspnoverify">Directiva <span id="SSLOCSPNoverify">SSLOCSPNoverify</span> <a title="Enlace permanente" href="#sslocspnoverify" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Salta la verificación de certificados de respondedor | |
| OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPNoverify <em>On/Off</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPNoverify Off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.26 y posterior, si se usa OpenSSL 0.9.7 o | |
| posterior</td></tr> | |
| </table> | |
| <p>Salta la verificación de certificados del respondedor OCSP, generalmente | |
| útil cuando se comprueba un servidor OCSP.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspoverrideresponder">Directiva <span id="SSLOCSPOverrideResponder">SSLOCSPOverrideResponder</span> <a title="Enlace permanente" href="#sslocspoverrideresponder" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fuerza el uso de una URI de respondedor por defecto para la | |
| validación OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPOverrideResponder on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPOverrideResponder off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta opción fuerza que se use el respondedor OCSP por defecto para la | |
| validación OCSP del certificado, independientemente de si el certificado que | |
| se está validando referencia un respondedor OCSP o no.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspproxyurl">Directiva <span id="SSLOCSPProxyURL">SSLOCSPProxyURL</span> <a title="Enlace permanente" href="#sslocspproxyurl" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>URL de Proxy a utilizar para las consultas OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPProxyURL <em>url</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.19 y posterior</td></tr> | |
| </table> | |
| <p>Esta opción permite configurar la URL de un proxy HTTP que debería usarse para | |
| todas las consultas a respondedores OCSP.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocsprespondercertificatefile">Directiva <span id="SSLOCSPResponderCertificateFile">SSLOCSPResponderCertificateFile</span> <a title="Enlace permanente" href="#sslocsprespondercertificatefile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Conjunto de certificados de respondedor OCSP confiables codificados | |
| en PEM</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPResponderCertificateFile <em>fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.26 y posterior, si se usa con OpenSSL | |
| 0.9.7 o posterior</td></tr> | |
| </table> | |
| <p>Esto aporta una lista de certificados confiables de respondedor OCSP para | |
| ser usados durante la validación de certificados de respondedor OCSP. Se confía | |
| en los certificados facilitados de manera implícita sin ninguna comprobación | |
| posterior. Esto se usa generalmente cuando el certificado del respondedor | |
| OCSP es autofirmado o se omite de la respuesta.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocsprespondertimeout">Directiva <span id="SSLOCSPResponderTimeout">SSLOCSPResponderTimeout</span> <a title="Enlace permanente" href="#sslocsprespondertimeout" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Expiración de las consultas OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPResponderTimeout <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPResponderTimeout 10</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta opción configura el tiempo de expiración para las consultas a los | |
| respondedores OCSP, cuando <code class="directive"><a href="#sslocspenable">SSLOCSPEnable</a></code> | |
| está activado.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspresponsemaxage">Directiva <span id="SSLOCSPResponseMaxAge">SSLOCSPResponseMaxAge</span> <a title="Enlace permanente" href="#sslocspresponsemaxage" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Edad máxima permitida para las respuestas OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPResponseMaxAge <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPResponseMaxAge -1</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta opción configura la edad máxima permitida de las respuestas | |
| OCSP. El valor por defecto (<code>-1</code>) no fuerza una edad máxima, lo que | |
| significa que las respuestas OCSP se consideran válidas mientras su campo | |
| <code>nextUpdate</code> está en una fecha futura.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspresponsetimeskew">Directiva <span id="SSLOCSPResponseTimeSkew">SSLOCSPResponseTimeSkew</span> <a title="Enlace permanente" href="#sslocspresponsetimeskew" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Desviación máxima de tiempo permitida para la validación de la | |
| respuesta OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPResponseTimeSkew <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPResponseTimeSkew 300</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Esta opción configura el tiempo máximo permitido de desviación para las | |
| respuestas OCSP | |
| (cuando se están comprobando sus campos <code>thisUpdate</code> y | |
| <code>nextUpdate</code>).</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslocspuserequestnonce">Directiva <span id="SSLOCSPUseRequestNonce">SSLOCSPUseRequestNonce</span> <a title="Enlace permanente" href="#sslocspuserequestnonce" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Usar un nonce dentro de las consultas OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOCSPUseRequestNonce on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLOCSPUseRequestNonce on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.10 y posterior</td></tr> | |
| </table> | |
| <p>Esta opción determina si las consultas a respondedores OCSP deberían contener | |
| un "nonce" o no. Por defecto, una consulta "nonce" siempre se comprueba y se usa | |
| contra la de la respuesta. Cuando el responderdor no usa "nonce"s (p.ej. Microsoft | |
| OCSP Responder), esta opción debería estar configuada a | |
| <code>off</code>.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslopensslconfcmd">Directiva <span id="SSLOpenSSLConfCmd">SSLOpenSSLConfCmd</span> <a title="Enlace permanente" href="#sslopensslconfcmd" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configura parámetros OpenSSL a través de su API <em>SSL_CONF</em> | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOpenSSLConfCmd <em>nombre-de-comando</em> | |
| <em>parámetro-de-comando</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.8 y posterior, si se usa OpenSSL 1.0.2 o | |
| posterior</td></tr> | |
| </table> | |
| <p>Esta directiva expone <em>SSL_CONF</em> de la API de OpenSSL para mod_ssl, | |
| permitiendo una configuración flexible de parámetros para OpenSSL sin la | |
| necesidad de implementar directivas adicionales de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> | |
| cuando se añaden nuevas características a OpenSSL.</p> | |
| <p>El conjunto de comandos disponibles de | |
| <code class="directive">SSLOpenSSLConfCmd</code> depende de la versión OpenSSL utilizada | |
| para <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> (al menos la versión 1.0.2 es necesaria). Para una | |
| lista de nombres de comandos | |
| soportados, vea la sección <em>Comandos soportados para fichero de | |
| configuración</em> en la página de manual | |
| <a href="http://www.openssl.org/docs/man1.0.2/ssl/SSL_CONF_cmd.html#SUPPORTED-CONFIGURATION-FILE-COMMANDS">SSL_CONF_cmd(3)</a> | |
| de OpenSSL.</p> | |
| <p>Algunos de los comandos de <code class="directive">SSLOpenSSLConfCmd</code> se pueden | |
| usar como alternativa a directivas existentes (tales como | |
| <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> o | |
| <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code>), | |
| aunque debería tenerse en cuenta que la sintaxis / valores disponibles para | |
| parámetros pueden ser diferentes.</p> | |
| <div class="example"><h3>Ejemplos</h3><pre class="prettyprint lang-config">SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference | |
| SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1 | |
| SSLOpenSSLConfCmd ServerInfoFile "/usr/local/apache2/conf/server-info.pem" | |
| SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2" | |
| SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="ssloptions">Directiva <span id="SSLOptions">SSLOptions</span> <a title="Enlace permanente" href="#ssloptions" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configurar varias opciones del motor SSL en tiempo | |
| real</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLOptions [+|-]<em>opción</em> ...</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>Options</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva puede usarse para controlar varias opciones en tiempo real en | |
| contexto directorio. Normalmente, si múltiples <code>SSLOptions</code> | |
| pueden aplicar a un directorio, entonces se usará la más | |
| específica; las opciones no se fusionan. Sin embargo, si <em>todas</em> las | |
| opciones en la directiva <code>SSLOptions</code> están precedidas de un signo | |
| más (<code>+</code>) o menos (<code>-</code>), las opciones se fusionan. | |
| Cualquier opción precedida de un <code>+</code> es añadida a las opciones que | |
| se están aplicando en ese momento, y cualquier opción precedida de un | |
| <code>-</code> se elimina de las opciones aplicadas en ese momento.</p> | |
| <p> | |
| Las <em>opciones</em> disponibles son:</p> | |
| <ul> | |
| <li><code>StdEnvVars</code> | |
| <p> | |
| Cuando esta opción está habilitada, se generan las variables de entorno | |
| estándar de SSL relacionadas con CGI/SSI. Esto está desactivado por defecto | |
| por razones de rendimiento, porque el paso de extracción de la información | |
| es una operación bastante costosa. Así que uno sólo activaría esta opción | |
| para peticiones CGI o SSI.</p> | |
| </li> | |
| <li><code>ExportCertData</code> | |
| <p> | |
| Cuando se activa esta opción, se generan variables de entorno CGI/SSI | |
| adicionales: <code>SSL_SERVER_CERT</code>, <code>SSL_CLIENT_CERT</code> y | |
| <code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em> (con <em>n</em> = 0,1,2,..). | |
| Estas contienen los certificados X.509 codificados en PEM del servidor | |
| y el cliente para la conexión actual HTTPs y pueden usarse por scripts CGI | |
| para una comprobación más detallada de los Certificados. Adicionalmente | |
| también se facilitan todos los demás certificados de la cadena del | |
| certificado cliente. Esto carga el entorno de variables un poco, así | |
| que por esto deberá usar esta opción para activarla sólo cuando sea | |
| necesario.</p> | |
| </li> | |
| <li><code>FakeBasicAuth</code> | |
| <p> | |
| Cuando se activa esta opción, el Nombre Distinguido de Sujeto (DN) del | |
| Certificado Cliente X509 se traduce a un nombre de Autenticación HTTP Básica. | |
| Esto significa que se pueden usar los métodos estándar de autenticación para | |
| control de acceso. El nombre de usuario es tan sólo el Sujeto del | |
| Certificado Cliente X509 (se puede determinar ejecutando el comando | |
| de OpenSSL <code>openssl x509</code>: <code>openssl x509 -noout -subject -in | |
| </code><em>certificado</em><code>.crt</code>). La directiva | |
| <code class="directive"><a href="#sslusername">SSLUserName</a></code> puede usarse para | |
| especificar qué | |
| parte del Sujeto del Certificado está embebida en el nombre de usuario. | |
| Tenga en cuenta que no se obtiene ninguna contraseña del usuario. Cada | |
| entrada en el fichero de usuario necesita esta contraseña: | |
| ``<code>xxj31ZMTZzkVA</code>'', que es la versión encriptada en DES de la | |
| palabra `<code>password</code>''. Aquellos que viven bajo la encriptación | |
| basada en MD5 (por ejemplo bajo FreeBSD or BSD/OS, etc.) debería usar | |
| el siguiente hash MD5 de la misma palabra: | |
| ``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p> | |
| <p>Tenga en cuenta que | |
| la directiva <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code> | |
| dentro de <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> puede usarse como un mecanismo | |
| general para fingir la autenticación básica, dando control sobre la | |
| estructura tanto del nombre como de la contraseña.</p> | |
| <div class="warning"> | |
| <p>Los nombres de usuarios utilizados para <code>FakeBasicAuth</code> no | |
| deben incluir caracteres no-ASCII, caracteres de escape ASCII (tales como | |
| el de nueva línea), o una coma. Si se encuentra una coma, se generará | |
| un error 403 Forbidden con httpd 2.5.1 y posterior.</p> | |
| </div> | |
| </li> | |
| <li><code>StrictRequire</code> | |
| <p> | |
| Esto <em>fuerza</em> acceso prohibido cuando <code>SSLRequireSSL</code> o | |
| <code>SSLRequire</code> deciden satisfactoriamente que el acceso debería | |
| denegarse. Generalmente por defecto en el caso donde se usa una | |
| directiva ``<code>Satisfy any</code>'', y se pasan otras restricciones de | |
| acceso, se sobreescribe la denegación del acceso debido a | |
| <code>SSLRequireSSL</code> o <code>SSLRequire</code> (porque así es como | |
| debería funcionar el mecanismo <code>Satisfy</code> de Apache .) Pero para | |
| la restricción estricta de acceso puede usar <code>SSLRequireSSL</code> y/o | |
| <code>SSLRequire</code> en combinación con un | |
| ``<code>SSLOptions +StrictRequire</code>''. Entonces un | |
| ``<code>Satisfy Any</code>'' adicional no tiene oportunidad una vez que | |
| mod_ssl ha decidido denegar el acceso.</p> | |
| </li> | |
| <li><code>OptRenegotiate</code> | |
| <p> | |
| Esto activa la gestión optimizada de renegociación de conexión SSL cuando | |
| se usan directivas SSL en contexto de directorio. Por defecto un esquema | |
| estricto está habilitado donde <em>cada</em> reconfiguración de directorio de | |
| parámetros SSL provoca una renegociación <em>total</em> del saludo SSL. | |
| Cuando se usa esta opción mod_ssl intenta evitar saludos SSL innecesarios | |
| haciendo comprobaciones más específicas (pero todavía seguras) de parámetros. | |
| Sin embargo estas comprobaciones más específicas pueden no ser lo que espera | |
| el usuario, así que, lo recomendable es que active ésto sólo en contexto | |
| directorio.</p> | |
| </li> | |
| <li><code>LegacyDNStringFormat</code> | |
| <p> | |
| Esta opción influencia cómo se formatean los valores de las variables | |
| <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code>. Desde la versión 2.3.11, Apache | |
| HTTPD usa un formato compatible RFC 2253 por defecto. Esto usa comas como | |
| delimitadores entre atributos, permite el uso de caracteres no-ASCII (que | |
| son convertidos a UTF-8), escapa varios caracteres especiales con barra | |
| invertida "\", y ordena los atributos con el atributo "C" al final.</p> | |
| <p>Si se activa <code>LegacyDNStringFormat</code>, el formato antiguo | |
| que ordena el atributo "C" el primero será utilizado, usa barras como | |
| separadores y no manipula caracteres no-ASCII y especiales de ninguna forma | |
| consistente. | |
| </p> | |
| </li> | |
| </ul> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLOptions +FakeBasicAuth -StrictRequire | |
| <Files ~ "\.(cgi|shtml)$"> | |
| SSLOptions +StdEnvVars -ExportCertData | |
| </Files></pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslpassphrasedialog">Directiva <span id="SSLPassPhraseDialog">SSLPassPhraseDialog</span> <a title="Enlace permanente" href="#sslpassphrasedialog" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Tipo de díalogo de solicitud de contraseña para claves privadas | |
| encriptadas</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLPassPhraseDialog <em>tipo</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLPassPhraseDialog builtin</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Cuando Apache arranca tiene que leer varios ficheros Certificado (vea | |
| <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>) y Clave Privada | |
| (vea | |
| <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>) de los servidores | |
| virtuales que tienen SSL activado. Por razones de seguridad los ficheros | |
| de clave privada están generalmente cifrados, mod_ssl necesita preguntar al | |
| administrador por la contraseña para desencriptar esos ficheros. Esta solicitud | |
| puede hacerse de dos maneras que se pueden configurar por | |
| <em>tipo</em>:</p> | |
| <ul> | |
| <li><code>builtin</code> | |
| <p> | |
| Este es el método por defecto donde una ventana de terminal interactiva | |
| aparece al inicio antes que Apache pase a segundo plano. Aquí un | |
| administrador tiene que introducir manualmente la contraseña para cada | |
| fichero de Clave Privada cifrado. Puesto que puede haber muchos | |
| hosts virtuales configurados con SSL, se usa el siguiente esquema de | |
| reutilización para minimizar el número de veces que se pide la contraseña: | |
| Cuanto un fichero de clave privada está encriptado, se intentará usar | |
| todas las Contraseñas conocidas (al principio no hay ninguna, por supuesto). | |
| Si una de esas contraseñas conocidas funciona no se abre ventana de diálogo | |
| para este fichero de clave privada en particular. Si ninguna funciona, | |
| se vuelve a solicitar la contraseña en la terminal y se recuerda para las | |
| siguientes (donde quizás se pueden reutilizar).</p> | |
| <p> | |
| Este esquema permite a mod_ssl ser flexible al máximo (porque para N | |
| ficheros de Clave Privada cifrados <em>usted puede</em> usar N | |
| contraseñas diferentes - pero entonces tiene que introducir todas ellas, por | |
| supuesto) al mismo tiempo que se minimizan las solicitudes de contraseña | |
| por terminal (p.ej. cuando usa una sola contraseña para todos los N ficheros | |
| de Clave Privada esta contraseña sólo se pide una vez).</p></li> | |
| <li><code>|/path/to/program [args...]</code> | |
| <p>Este modo permite que se use un programa externo que actúa como tubería a | |
| un dispositivo de entrada en particular; al programa se le envía la | |
| solicitud estándar de texto que se usa para el modo <code>builtin</code> en | |
| <code>stdin</code>, y se espera que escriba cadenas de caracteres de | |
| contraseñas en <code>stdout</code>. Si se necesitan varias contraseñas (o si | |
| se introduce una contraseña incorrecta), se escribirán solicitudes de | |
| contraseña adicionales y se tendrá que devolver más contraseñas a través | |
| de dicho programa.</p></li> | |
| <li><code>exec:/path/to/program</code> | |
| <p> | |
| Aquí se configura un programa externo que se lanza en el arranque para cada | |
| uno de los ficheros de Clave Privada encriptados. Se le llama con un sólo | |
| parámetro, una cadena de caracteres de la forma | |
| ``<code>servername:portnumber:index</code>'' (cuando <code>index</code> es | |
| un número basado en una secuencia de ceros), que indica para qué servidor, | |
| puerto TCP y número de certificado debe imprimir la Contraseña | |
| correspondiente a <code>stdout</code>. La intención es que este programa | |
| externo primero ejecuta comprobaciones de seguridad para asegurar que el | |
| sistema no se ha visto comprometido por un atacante, y sólo cuando estas | |
| comprobaciones se realizan satisfactoriamente entonces facilita la | |
| Contraseña.</p> | |
| <p> | |
| Ambas comprobaciones de seguridad y el método en que se determina la | |
| contraseña, puede ser tan complejo como usted desee. Mod_ssl sólo define | |
| el interfaz: un programa ejecutable que provee la contraseña en | |
| <code>stdout</code>. Ni más y ni menos. Así que, si usted es realmente | |
| paranoico con la seguridad, este es su interfaz. Cualquier otra cosa se debe | |
| dejar como un trabajo para el administrador, porque los requerimientos de | |
| seguridad local son muy diferentes.</p> | |
| <p> | |
| El algoritmo de reutilización descrito previamente se usa aquí también. En | |
| otras palabras: se llama sólo una vez al programa externo cuando hay una | |
| única contraseña.</p></li> | |
| </ul> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLPassPhraseDialog "exec:/usr/local/apache/sbin/pp-filter"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslpolicy">Directiva <span id="SSLPolicy">SSLPolicy</span> <a title="Enlace permanente" href="#sslpolicy" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Aplica una Política SSL por nombre</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLPolicy <em>nombre</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.5.0 y posterior</td></tr> | |
| </table> | |
| <p>Esta directiva aplica el conjunto de directivas SSL definidas bajo | |
| 'nombre' (vea <code class="directive"><SSLPolicyDefine></code>) como las | |
| configuraciones <em>base</em> en el contexto actual. Apache viene con las | |
| siguientes políticas pre-definidas de Mozilla, los desarrolladores del | |
| navegador Firefox | |
| (<a href="https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations"> | |
| vea aquí para una descripción detallada de ellas.</a>): | |
| </p> | |
| <ul> | |
| <li><code>modern</code>: recomendada cuando su servidor es accesible desde | |
| Internet. Funciona con todos los navegadores modernos, pero dispositivos | |
| antiguos podrían no ser capaces de conectar.</li> | |
| <li><code>intermediate</code>: el recurso si necesita dar soporte a clientes | |
| antiguos (pero no muy antiguos).</li> | |
| <li><code>old</code>: cuando necesita dar acceso a Windows XP/Internet | |
| Explorer 7. El último recurso.</li> | |
| </ul> | |
| <p>Puede comprobar una descripción detallada de todas las políticas definidas | |
| a través de la línea de comandos:</p> | |
| <div class="example"><h3>Listar Todas las Políticas Definidas</h3><pre class="prettyprint lang-sh">httpd -t -D DUMP_SSL_POLICIES</pre> | |
| </div> | |
| <p>Una SSLPolicy define la línea base para el contexto en la que se utiliza. Eso | |
| significa que cualquier otra directiva SSL en el mismo contexto la sobrescribirá. | |
| Como ejemplo de esto, vea el valor efectivo de | |
| <code class="directive">SSLProtocol</code> en la siguiente configuración:</p> | |
| <div class="example"><h3>Precedencia de Política</h3><pre class="prettyprint lang-config"><VirtualHost...> # efectivo en: 'all' | |
| SSLPolicy modern | |
| SSLProtocol all | |
| </VirtualHost> | |
| <VirtualHost...> # efectivo en: 'all' | |
| SSLProtocol all | |
| SSLPolicy modern | |
| </VirtualHost> | |
| SSLPolicy modern | |
| <VirtualHost...> # efectivo en: 'all' | |
| SSLProtocol all | |
| </VirtualHost> | |
| SSLProtocol all | |
| <VirtualHost...> # efectivo en: '+TLSv1.2' | |
| SSLPolicy modern | |
| </VirtualHost></pre> | |
| </div> | |
| <p>Puede haber más de una política aplicada en un contexto. La últimas | |
| sobrescribiendo las previas: :</p> | |
| <div class="example"><h3>Ordenando Políticas</h3><pre class="prettyprint lang-config"><VirtualHost...> # protocolo efectivo: 'all -SSLv3' | |
| SSLPolicy modern | |
| SSLPolicy intermediate | |
| </VirtualHost> | |
| <VirtualHost...> # protocolo efectivo: '+TLSv1.2' | |
| SSLPolicy intermediate | |
| SSLPolicy modern | |
| </VirtualHost></pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslprotocol">Directiva <span id="SSLProtocol">SSLProtocol</span> <a title="Enlace permanente" href="#sslprotocol" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configura versiones de protocolo SSL/TLS utilizables</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProtocol [+|-]<em>protocol</em> ...</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProtocol all -SSLv3</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Se puede usar esta directiva para controlar que versiones del protocolo SSL/TLS | |
| serán aceptadas en las nuevas conexiones.</p> | |
| <p> | |
| Los <em>protocolos</em> disponibles (no sensibles a mayúsculas) son:</p> | |
| <ul> | |
| <li><code>SSLv3</code> | |
| <p> | |
| Este es el protocolo de Secure Sockets Layer (SSL), versión 3.0, de la | |
| empresa Netscape. Es el sucesor a SSLv2 y el predecesor de TLSv1, pero | |
| se ha marcado ya como obsoleto en | |
| <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC 7568</a>.</p></li> | |
| <li><code>TLSv1</code> | |
| <p> | |
| Este es el protocolo Transport Layer Security (TLS), versión 1.0. | |
| Es el sucesor de SSLv3 y está definido en | |
| <a href="http://www.ietf.org/rfc/rfc2246.txt">RFC 2246</a>. | |
| Está soportado por casi cualquier cliente.</p></li> | |
| <li><code>TLSv1.1</code> (cuando se usa OpenSSL 1.0.1 y posterior) | |
| <p> | |
| Una revisión del protocolo TLS 1.0, tal y como se define en | |
| <a href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>.</p></li> | |
| <li><code>TLSv1.2</code> (cuando se usa OpenSSL 1.0.1 y posterior) | |
| <p> | |
| Una revisión del protocolo TLS 1.1, tal y como se define en | |
| <a href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li> | |
| <li><code>all</code> | |
| <p> | |
| Esto es un atajo para ``<code>+SSLv3 +TLSv1</code>'' o | |
| - cuando se usa OpenSSL 1.0.1 y posterior - | |
| ``<code>+SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2</code>'', respectivamente | |
| (excepto para versiones de OpenSSL compiladas con la opción de configuración | |
| ``no-ssl3'', donde <code>all</code> no incluye <code>+SSLv3</code>). | |
| </p></li> | |
| </ul> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProtocol TLSv1</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycacertificatefile">Directiva <span id="SSLProxyCACertificateFile">SSLProxyCACertificateFile</span> <a title="Enlace permanente" href="#sslproxycacertificatefile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de Certificados CA concatenados codificados en PEM para | |
| la Autenticación Remota del Servidor</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCACertificateFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el fichero <em>todo-en-uno</em> donde ensambla los | |
| Certificados de Autoridades de Certificación (CA) de los <em>servidores | |
| remotos</em> a los que conecta. Estos se usan como Autenticación de Servidor | |
| Remoto. Tal fichero es simplemente la concatenación de varios ficheros de | |
| Certificado codificados en PEM en orden de preferencia. Esto se puede usar | |
| alternativamente y/o adicionalmente a | |
| <code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-remote-server.crt"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycacertificatepath">Directiva <span id="SSLProxyCACertificatePath">SSLProxyCACertificatePath</span> <a title="Enlace permanente" href="#sslproxycacertificatepath" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directorio de Certificados CA codificados en PEM para la | |
| Autenticación de Servidor Remoto</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCACertificatePath <em>ruta-al-directorio</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el directorio donde guarda los Certificados de | |
| Autoridades de Certificación (CAs) de los servidores remotos a los que conecta. | |
| Estos se usan para verificar el certificado del servidor remoto en la | |
| Autenticación de Servidor Remoto.</p> | |
| <p> | |
| Los ficheros en este directorio tienen que estar codificados en PEM y se accede | |
| a ellos a través de nombres de ficheros con hash. Así que generalmente no puede | |
| tan sólo colocar los ficheros de Certificado ahí: también tiene que crear | |
| enlaces simbólicos llamados <em>valor-de-hash</em><code>.N</code>. Y debería | |
| asegurarse siempre de que este directorio contiene los enlaces símbólicos | |
| apropiados.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycarevocationcheck">Directiva <span id="SSLProxyCARevocationCheck">SSLProxyCARevocationCheck</span> <a title="Enlace permanente" href="#sslproxycarevocationcheck" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activa la comprobación de revocación basada en CRL para la | |
| Autenticación Remota de Servidor</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCARevocationCheck chain|leaf|none</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyCARevocationCheck none</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Activa la comprobación de listas de revocación de certificado (CRL) para | |
| los <em>servidores remotos</em> a los que conecta. Al menos una de las directivas | |
| <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> | |
| o <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code> debe estar | |
| configurada. Cuando se configura a <code>chain</code> (configuración recomendada), | |
| las comprobaciones de CRL se aplican a todos los certificados en la cadena de | |
| certificación, mientras que configurándolo a <code>leaf</code> limita las | |
| comprobaciones al certificado firmado final. | |
| </p> | |
| <div class="note"> | |
| <h3>Cuando se configura a <code>chain</code> o <code>leaf</code>, | |
| las CRLs <em>deben</em> estar disponibles para la validación con éxito.</h3> | |
| <p> | |
| Antes de la versión 2.4.15, la comprobación de CRL en mod_ssl también tenía | |
| éxito cuando no se encontraban CRLs en ninguna de las ubicaciones configuradas | |
| con <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> | |
| o <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>. | |
| Con la introducción de esta directiva, el comportamiento ha cambiado: cuando | |
| la comprobación está habilitada, las CRLs <em>deben</em> estar presentes para | |
| que la validación pueda tener éxito - si no fallará con un error | |
| <code>"unable to get certificate CRL"</code>. | |
| </p> | |
| </div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCARevocationCheck chain</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycarevocationfile">Directiva <span id="SSLProxyCARevocationFile">SSLProxyCARevocationFile</span> <a title="Enlace permanente" href="#sslproxycarevocationfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de CRLs de CA codificados en PEM concatenados para la | |
| Autenticación Remota de Servidor</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCARevocationFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el fichero <em>todo-en-uno</em> donde puede ensamblar | |
| las Listas de Revocación de Certificados (CRL) de las Autoridades de | |
| Certificación (CA) de los <em>servidores remotos</em> a los que conecta. Estos | |
| se usan para la Autenticación Remota de Servidor. Tal fichero es simplemente la | |
| concatenación de varios ficheros CRL codificados en PEM, en orden de preferencia. | |
| Esto se puede usar alternativamente a/o adicionalmente a | |
| <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-remote-server.crl"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycarevocationpath">Directiva <span id="SSLProxyCARevocationPath">SSLProxyCARevocationPath</span> <a title="Enlace permanente" href="#sslproxycarevocationpath" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directorio de CRLs de CA codificadas en PEM para la Autenticación | |
| Remota de Servidor</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCARevocationPath <em>ruta-al-directorio</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el directorio donde se alojan las Listas de Revocación de | |
| Certificado (CRL) de las Autoridades de Certificación (CA) de los servidores a | |
| los que conecta. Estas se usan para revocar el certificado del servidor remoto | |
| en la Autenticación del Servidor Remoto.</p> | |
| <p> | |
| Los ficheros en este directorio tienen que ser codificados en PEM y se acceden | |
| con nombres de ficheros con hash. Así que generalmente no sólo tiene que poner | |
| los ficheros CRL ahí. También tiene que crear enlaces simbólicos llamados | |
| <em>valor-de-hash</em><code>.rN</code>. Y siempre debería asegurarse de que este | |
| directorio tiene los enlaces simbólicos apropiados.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycheckpeercn">Directiva <span id="SSLProxyCheckPeerCN">SSLProxyCheckPeerCN</span> <a title="Enlace permanente" href="#sslproxycheckpeercn" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Comprobar el campo CN del certificado del servidor remoto | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCheckPeerCN on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyCheckPeerCN on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura si se debe comparar el campo CN del certificado del | |
| servidor remoto contra el nombre de host de la URL solicitada. Si ambos no son | |
| iguales se envía un código de estado 502 (Bad Gateway). | |
| <code>SSLProxyCheckPeerCN</code> ha sido sustituido por | |
| <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code> en la versión | |
| 2.4.5 y posterior. | |
| </p> | |
| <p> | |
| En todas las versiones desde 2.4.5 hasta 2.4.20, configurar | |
| <code>SSLProxyCheckPeerName off</code> era suficiente para activar este | |
| comportamiento (puesto que el valor por defecto de | |
| <code>SSLProxyCheckPeerCN</code> era <code>on</code>.) En estas versiones, ambas | |
| directivas deben configurarse a <code>off</code> para evitar completamente que | |
| se valide el nombre del certificado del servidor remoto. Muchos usuarios | |
| reportaron que esto es bastante confuso. | |
| </p> | |
| <p> | |
| Desde la versión 2.4.21, todas las configuraciones que permiten una de las | |
| opciones <code>SSLProxyCheckPeerName</code> o <code>SSLProxyCheckPeerCN</code> | |
| usarán el nuevo comportamiento de | |
| <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code>, y todas las | |
| configuraciones que deshabilitan una de las opciones de | |
| <code>SSLProxyCheckPeerName</code> o <code>SSLProxyCheckPeerCN</code> | |
| suprimirán la validación del nombre del certificado del servidor remoto. sólo | |
| la siguiente configuración habilitará la comparación antigua del CN en 2.4.21 y | |
| versiones posteriores; | |
| </p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerCN on | |
| SSLProxyCheckPeerName off</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycheckpeerexpire">Directiva <span id="SSLProxyCheckPeerExpire">SSLProxyCheckPeerExpire</span> <a title="Enlace permanente" href="#sslproxycheckpeerexpire" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Comprobar si el certificado del servidor remoto está expirado | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCheckPeerExpire on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyCheckPeerExpire on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura si se debe comprobar si el certificado del servidor | |
| remoto está expirado o no. Si la comprobación falla se devuelve un error 502 | |
| (Bad Gateway). | |
| </p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerExpire on</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxycheckpeername">Directiva <span id="SSLProxyCheckPeerName">SSLProxyCheckPeerName</span> <a title="Enlace permanente" href="#sslproxycheckpeername" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configure comprobación de nombre de host para certificados de | |
| servidor remoto | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCheckPeerName on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyCheckPeerName on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Apache HTTP Server 2.4.5 and later</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura la comprobación del nombre de host de certificados de | |
| servidor cuando mod_ssl está actuando como un cliente SSL. La comprobación | |
| tendrá éxito si el nombre de host de la petición coincide con uno de los | |
| CN del sujeto del certificado, o coincide con la extensión subjectAltName. Si la | |
| comprobación falla, la petición SSL se aborta y se devuelve un código de | |
| estado 502. | |
| </p> | |
| <p> | |
| Se soportan coincidencias con certificados wildcard para casos específicos: una | |
| entrada subjectAltName del tipo dNSName, o atributos CN que comienzan con | |
| <code>*.</code> coincidirán con cualquier nombre de host del mismo número de | |
| elementos de nombre y el mismo sufijo. | |
| P. ej. <code>*.example.org</code> coinciderá con <code>foo.example.org</code>, | |
| pero no coincidirá con <code>foo.bar.example.org</code>, porque el número de | |
| elementos en el nombre de host respectivo es diferente. | |
| </p> | |
| <p> | |
| Esta característica fue introducida en 2.4.5 y sustituye el comportamiento de | |
| la directiva <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code>, que | |
| sólo comprobaba el valor exacto en el primer atributo CN contra el nombre de | |
| host. Sin embargo, muchos usuarios estaban confundidos por el comportamiento de | |
| usar estas directivas individualmente, así que el comportamiento mutuo de las | |
| directivas <code>SSLProxyCheckPeerName</code> y <code>SSLProxyCheckPeerCN</code> | |
| fue mejorado en la versión 2.4.21. Vea la descripción de la directiva | |
| <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> para el | |
| comportamiento original y detalles de estas mejoras. | |
| </p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxyciphersuite">Directiva <span id="SSLProxyCipherSuite">SSLProxyCipherSuite</span> <a title="Enlace permanente" href="#sslproxyciphersuite" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Conjunto de Cifrados disponibles para negociación en el saludo SSL | |
| de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyCipherSuite <em>especificación-de-cifrado</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Equivalente a <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code>, pero | |
| para la conexión de proxy. | |
| Por favor consulte <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> | |
| para información adicional.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxyengine">Directiva <span id="SSLProxyEngine">SSLProxyEngine</span> <a title="Enlace permanente" href="#sslproxyengine" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Interruptor de Operación del Motor de Proxy SSL</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyEngine on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyEngine off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva activa el uso del motor de protocolo SSL/TLS para proxy. Esto | |
| se usa actualmente dentro de una sección | |
| <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> para activar el | |
| uso de proxy con SSL/TLS en un host virtual en particular. Por defecto el Motor | |
| de Protocolo SSL/TLS está desactivado para tanto el servidor principal como todos | |
| los hosts virtuales.</p> | |
| <p>Tenga en cuenta que la directiva <code class="directive">SSLProxyEngine</code> no | |
| debería en general, ser incluida en un host virtual que actuará como forward | |
| proxy (usando las directivas | |
| <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> | |
| o <code class="directive"><a href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a></code>). | |
| <code class="directive">SSLProxyEngine</code> no es necesario para activar un servidor | |
| forward proxy para hacer proxy de peticiones SSL/TLS.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443> | |
| SSLProxyEngine on | |
| #... | |
| </VirtualHost></pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxymachinecertificatechainfile">Directiva <span id="SSLProxyMachineCertificateChainFile">SSLProxyMachineCertificateChainFile</span> <a title="Enlace permanente" href="#sslproxymachinecertificatechainfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de certificados CA concatenados y codificados en PEM para | |
| ser usados por el proxy para elegir un certificado</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyMachineCertificateChainFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el fichero todo-en-uno donde guarda la cadena de | |
| certificados para todos los certificados cliente en uso. Esta directiva se | |
| necesitará si los servidores remotos presentan una lista de certificados CA | |
| que no son firmantes directos de uno de los certificados cliente configurados. | |
| </p> | |
| <p> | |
| Este fichero es simplemente la concatenciación de varios ficheros de certificado | |
| codificado en PEM. En el arranque, cada certificado cliente configurado será | |
| examinado y se construirá una cadena de confianza. | |
| </p> | |
| <div class="warning"><h3>Aviso de Seguridad</h3> | |
| <p>Si se activa esta directiva, se confiará en todos los certificados en el | |
| fichero como si también estuvieran en | |
| <code class="directive"><a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></code>.</p> | |
| </div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateChainFile "/usr/local/apache2/conf/ssl.crt/proxyCA.pem"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxymachinecertificatefile">Directiva <span id="SSLProxyMachineCertificateFile">SSLProxyMachineCertificateFile</span> <a title="Enlace permanente" href="#sslproxymachinecertificatefile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fichero de certificados cliente codificados en PEM y claves para | |
| ser usadas por el proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyMachineCertificateFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el fichero todo-en-uno donde guarda los certificados y | |
| claves usadas para la autenticación del servidor proxy en servidores remotos. | |
| </p> | |
| <p> | |
| Este fichero es simplemente la concatenación de varios ficheros de certificado | |
| codificados en PEM, en orden de preferencia. Use esta directiva alternativamente | |
| o adicionalmente a <code>SSLProxyMachineCertificatePath</code>. | |
| </p> | |
| <div class="warning"> | |
| <p>Actualmente no hay soporte para claves privadas encriptadas</p> | |
| </div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateFile "/usr/local/apache2/conf/ssl.crt/proxy.pem"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxymachinecertificatepath">Directiva <span id="SSLProxyMachineCertificatePath">SSLProxyMachineCertificatePath</span> <a title="Enlace permanente" href="#sslproxymachinecertificatepath" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Directorio de certificados cliente codificados en PEM y claves | |
| para ser usadas por el proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyMachineCertificatePath <em>directorio</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el directorio donde se guardan los certificados y claves | |
| usadas para la autenticación del servidor proxy en servidores remotos. | |
| </p> | |
| <p>Los ficheros en este directorio deben ser codificados en PEM y accesibles | |
| con nombres de ficheros con hash. Además, debe crear enlaces simbólicos | |
| llamados <code><em>valor-del-hash</em>.N</code>. Y siempre debería asegurarse | |
| de que este directorio contiene los enlaces simbólicos apropiados.</p> | |
| <div class="warning"> | |
| <p>Actualmente no hay soporte para claves privadas encriptadas</p> | |
| </div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificatePath "/usr/local/apache2/conf/proxy.crt/"</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxyprotocol">Directiva <span id="SSLProxyProtocol">SSLProxyProtocol</span> <a title="Enlace permanente" href="#sslproxyprotocol" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configure sabores de protocolo SSL utilizables para uso de | |
| proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyProtocol [+|-]<em>protocolo</em> ...</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyProtocol all -SSLv3</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva puede usarse para controlar los sabores de protocolo SSL que | |
| mod_ssl debería usar cuando establece si entorno de servidor para proxy. sólo | |
| conectará con servidores usando uno de sus protocolos facilitados.</p> | |
| <p>Por favor vea <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code> para | |
| información adicional. | |
| </p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxystoreuri">Directiva <span id="SSLProxyStoreURI">SSLProxyStoreURI</span> <a title="Enlace permanente" href="#sslproxystoreuri" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Proxy certificate and key stores</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyStoreURI <var>uri</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in httpd 2.5.1 and later, when linked with | |
| OpenSSL v3 or later.</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxytrusturi">Directiva <span id="SSLProxyTrustURI">SSLProxyTrustURI</span> <a title="Enlace permanente" href="#sslproxytrusturi" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Proxy CA certificate store for Remote Server Auth</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyTrustURI <var>uri</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in httpd 2.5.1 and later, when linked with | |
| OpenSSL v3 or later.</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxyverify">Directiva <span id="SSLProxyVerify">SSLProxyVerify</span> <a title="Enlace permanente" href="#sslproxyverify" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Tipo de verficación de certificado del servidor remoto</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyVerify <em>level</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyVerify none</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Cuando se configura un proxy para enviar peticiones a un servidor remoto SSL, | |
| esta directiva se puede usar para configurar verificación de certificado del | |
| servidor remoto.</p> | |
| <p> | |
| Los siguientes niveles están disponibles para <em>nivel</em>:</p> | |
| <ul> | |
| <li><strong>none</strong>: | |
| No se requiere Certificado del servidor remoto para nada</li> | |
| <li><strong>optional</strong>: | |
| el servidor remoto <em>puede</em> presentar un Certificado válido</li> | |
| <li><strong>require</strong>: | |
| el servidor remoto <em>tiene que</em> presenta un Certificado válido</li> | |
| <li><strong>optional_no_ca</strong>: | |
| el servidor remoto puede presentar un Certificado válido<br> | |
| pero no tiene por qué ser verificable (con éxito).</li> | |
| </ul> | |
| <p>En la práctica sólo los niveles <strong>none</strong> y | |
| <strong>require</strong> son realmente interesantes, porque el nivel | |
| <strong>optional</strong> no funciona en todos los servidores y el nivel | |
| <strong>optional_no_ca</strong> va actualmente contra la idea de autenticación | |
| (pero se puede usar para establecer páginas de test SSL, etc.)</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyVerify require</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslproxyverifydepth">Directiva <span id="SSLProxyVerifyDepth">SSLProxyVerifyDepth</span> <a title="Enlace permanente" href="#sslproxyverifydepth" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Máxima profundidad de los Certificados CA en la verificación del | |
| Certificado en el Servidor Remoto</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLProxyVerifyDepth <em>number</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLProxyVerifyDepth 1</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, sección de proxy</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura hasta dónde mod_ssl debería verificar antes de decidir | |
| que el servidor remoto not tiene un certificado válido.</p> | |
| <p> | |
| La profundidad actualmente es el número máximo de expedidores intermedios de | |
| certificados, p. ej. el número de certificados CA que se permiten seguir como | |
| máximo para verificar el certificado del servidor remoto. Una profundidad de 0 | |
| sigifnica que sólo se permiten certificados auto-firmados, la profundidad por | |
| defecto de 1 significa que el servidor remoto puede ser autofirmado o fimado por | |
| una CA que es directamente conocida por el servidor (p. ej. el certificado CA | |
| bajo <code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>), | |
| etc.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLProxyVerifyDepth 10</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslrandomseed">Directiva <span id="SSLRandomSeed">SSLRandomSeed</span> <a title="Enlace permanente" href="#sslrandomseed" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Fuente de generación de semilla pseudoaleatoria de números | |
| (PRNG)</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLRandomSeed <em>contexto</em> <em>fuente</em> | |
| [<em>bytes</em>]</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esto configura una o más fuentes de generación de semilla pseudoaleatoria de | |
| números "Pseudo Random Number Generator (PRNG)" en OpenSSL en el arranque | |
| (<em>contexto</em> es <code>startup</code>) y/o justo antes de que se | |
| establezca una nueva conexión SSL | |
| (<em>contexto</em> es <code>connect</code>). Esta directiva sólo se puede usar | |
| en el contexto global de configuración del servidor porque PRNG es una | |
| característica global.</p> | |
| <p> | |
| Las siguientes variante de <em>fuente</em> están disponibles:</p> | |
| <ul> | |
| <li><code>builtin</code> | |
| <p>Esta es siempre la fuente de generación de semilla que está siempre | |
| disponible. Usa el mínimo de ciclos de CPU en tiempo real así que se puede | |
| usar siempre sin contratiempos. La fuente utilizada para la generación de | |
| semilla de PRNG contiene la hora actual, el id de proceso actual y | |
| (cuando es aplicable) un extracto de 1KB escogido aleatoriamente de la | |
| estructura de scoreboard de Apache. La pega es que no es realmente una | |
| fuente muy compleja y en el momento del arranque (cuando el scoreboard | |
| todavía no está disponible) esta fuente sólo produce unos pocos bytes de | |
| entropía. Así que usted debería, al menos en el arranque, usar una fuente | |
| adicional de generación de semilla.</p></li> | |
| <li><code>file:/ruta/hacia/la/fuente</code> | |
| <p> | |
| Esta variante usa un fichero externo <code>/ruta/hacia/la/fuente</code> con | |
| la fuente de generación de semilla para PRNG. Cuando se especifica | |
| <em>bytes</em>, sólo los primeros <em>bytes</em> del número de bytes del | |
| fichero forman la entropía (y <em>bytes</em> se da a | |
| <code>/ruta/hacia/la/fuente</code> como el primer parámetro). Cuando | |
| no se especifica <em>bytes</em> el fichero al completo forma la entropía | |
| (y <code>0</code> se da a <code>/ruta/hacia/la/fuente</code> como primer | |
| parámetro). Use esto especialmente en el arranque, por ejemplo con | |
| dispositivos disponibles <code>/dev/random</code> y/o | |
| <code>/dev/urandom</code> (que generalmente existen en derivados de Unix | |
| modernos como FreeBSD y Linux).</p> | |
| <p> | |
| <em>Pero tenga cuidado</em>: Generalmente <code>/dev/random</code> facilita | |
| sólo tantos datos de entropía como tiene en ese momento, p.ej. cuando solicita | |
| 512 bytes de entropía, pero el dispositivo sólo tiene 100 bytes disponibles | |
| dos cosas pasan: En algunas plataformas recibe sólo 100 bytes mientras que | |
| en otras plataformas la lectura se bloquea hasta que hay suficientes bytes | |
| disponibles (lo cual puede llevar bastante tiempo). Aquí usar un | |
| <code>/dev/urandom</code> existente es mejor, porque nunca bloquea y porque | |
| facilita la cantidad de datos solicitada. La pega es que la calidad de los | |
| datos recibidos puede que no sea la mejor.</p></li> | |
| <li><code>exec:/ruta/al/programa</code> | |
| <p> | |
| Esta variante usa un ejecutable externo | |
| <code>/ruta/al/programa</code> como la fuente de generación de semilla de | |
| PRNG. Cuando se especifica <em>bytes</em>, sólo los primeros | |
| <em>bytes</em> del número de bytes de su contenido de <code>stdout</code> | |
| forman la entropía. Cuando no se especifica <em>bytes</em>, el total de los | |
| datos producidos en <code>stdout</code> forman la entropía. Use esto sólo | |
| en el tiempo de arranque cuando necesita una generación de semilla muy | |
| compleja con la ayuda de un programa externo (como en el | |
| ejemplo de más arriba con la utilidad <code>truerand</code> que puede | |
| encontrar en la distribución de mod_ssl que está basada en la librería | |
| <em>truerand</em> de AT&T). Usar esto en contexto de conexión | |
| ralentiza al servidor de manera dramática, por supuesto. Así que debería | |
| evitar programas externos en ese contexto. </p></li> | |
| <li><code>egd:/ruta/al/egd-socket</code> (Sólo Unix) | |
| <p> | |
| Esta variante usa el socket de dominio Unix del Demonio de Recolección de | |
| Entropía externo (Entropy Gathering Daemon (EGD)) (vea <a href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech | |
| /crypto/</a>) para generar semilla de PRNG. Use esto si no hay un | |
| dispositivo de generación de datos aleatorios en su sistema.</p></li> | |
| </ul> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLRandomSeed startup builtin | |
| SSLRandomSeed startup "file:/dev/random" | |
| SSLRandomSeed startup "file:/dev/urandom" 1024 | |
| SSLRandomSeed startup "exec:/usr/local/bin/truerand" 16 | |
| SSLRandomSeed connect builtin | |
| SSLRandomSeed connect "file:/dev/random" | |
| SSLRandomSeed connect "file:/dev/urandom" 1024</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslrenegbuffersize">Directiva <span id="SSLRenegBufferSize">SSLRenegBufferSize</span> <a title="Enlace permanente" href="#sslrenegbuffersize" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configure el tamaño para el búfer de renegociación | |
| SSL</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLRenegBufferSize <var>bytes</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLRenegBufferSize 131072</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p>Si se requiere una renegociación SSL por el contexto location, por ejemplo, | |
| cualquier uso de <code class="directive"><a href="#sslverifyclient">SSLVerifyClient</a></code> en un | |
| bloque Directory o Location, entonces <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> debe hacer búfer | |
| del cuerpo de la petición HTTP en memoria hasta que el nuevo saludo SSL | |
| puede realizarse. Esta directiva se puede usar para especificar la cantidad | |
| de memoria que se usará para este búfer.</p> | |
| <div class="warning"><p> | |
| Tenga en cuenta que en muchas configuraciones, el cliente enviando el cuerpo de | |
| la petición no es confiable así que se debe considerar un ataque de denegación | |
| de servicio por consumo de memoria cuando se cambie este valor de | |
| configuración. | |
| </p></div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLRenegBufferSize 262144</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslrequire">Directiva <span id="SSLRequire">SSLRequire</span> <a title="Enlace permanente" href="#sslrequire" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Permite acceso sólo cuando una compleja expresión booleana | |
| arbitraría es cierta</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLRequire <em>expresión</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <div class="note"><h3>SSLRequire está obsoleta</h3> | |
| <p><code>SSLRequire</code> está obsoleta y debería en general ser sustituida por | |
| <a href="mod_authz_core.html#reqexpr">Require expr</a>. La tal llamada | |
| sintaxis de <a href="../expr.html">ap_expr</a> en <code>Require expr</code> es | |
| la sustitución de la sintaxis de <code>SSLRequire</code>, con la siguiente | |
| excepción:</p> | |
| <p>En <code>SSLRequire</code>, los operadores de comparación <code><</code>, | |
| <code><=</code>, ... son equivalentes completamente a los operadores | |
| <code>lt</code>, <code>le</code>, ... y funionan de una manera un tanto peculiar | |
| que primero compara la longitud de dos cadenas de caracteres y después el orden | |
| léxico. Por otro lado, <a href="../expr.html">ap_expr</a> tiene dos conjuntos | |
| de operadores de comparación: Los operadores <code><</code>, | |
| <code><=</code>, ... hacen compraciones léxicas de cadenas de caracteres, | |
| mientras que los operadores <code>-lt</code>, <code>-le</code>, ... hacen | |
| comparación de números integrales. | |
| Para los últimos, también hay aliases sin el guión inicial: | |
| <code>lt</code>, <code>le</code>, ... | |
| </p> | |
| </div> | |
| <p> | |
| Esta directiva especifica un requerimiento de acceso general que tiene | |
| que pasarse para que se permita el acceso. Es una directiva muy versátil porque | |
| la especificación del requerimiento es una compleja expresión booleana arbitraria | |
| que contiene cualquier número de comprobaciones.</p> | |
| <p> | |
| La <em>expresión</em> debe coincidir en la siguiente sintaxis (dada una notación | |
| gramatical BNF):</p> | |
| <blockquote> | |
| <pre>expr ::= "<strong>true</strong>" | "<strong>false</strong>" | |
| | "<strong>!</strong>" expr | |
| | expr "<strong>&&</strong>" expr | |
| | expr "<strong>||</strong>" expr | |
| | "<strong>(</strong>" expr "<strong>)</strong>" | |
| | comp | |
| comp ::= word "<strong>==</strong>" word | word "<strong>eq</strong>" word | |
| | word "<strong>!=</strong>" word | word "<strong>ne</strong>" word | |
| | word "<strong><</strong>" word | word "<strong>lt</strong>" word | |
| | word "<strong><=</strong>" word | word "<strong>le</strong>" word | |
| | word "<strong>></strong>" word | word "<strong>gt</strong>" word | |
| | word "<strong>>=</strong>" word | word "<strong>ge</strong>" word | |
| | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>" | |
| | word "<strong>in</strong>" "<strong>PeerExtList(</strong>" word "<strong>)</strong>" | |
| | word "<strong>=~</strong>" regex | |
| | word "<strong>!~</strong>" regex | |
| wordlist ::= word | |
| | wordlist "<strong>,</strong>" word | |
| word ::= digit | |
| | cstring | |
| | variable | |
| | function | |
| digit ::= [0-9]+ | |
| cstring ::= "..." | |
| variable ::= "<strong>%{</strong>" varname "<strong>}</strong>" | |
| function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"</pre> | |
| </blockquote> | |
| <p>Para <code>varname</code> se puede usar cualquiera de las variables descritas | |
| en <a href="#envvars">Variables de Entorno</a>. Para | |
| <code>funcname</code> las funciones disponibles están listadas en la | |
| <a href="../expr.html#functions">documentación de ap_expr</a>.</p> | |
| <p>La <em>expresión</em> es interpretada dentro de una representación interna | |
| de máquina cuando se carga la configuración, y es después evaluada durante | |
| el procesamiento de la petición. En contexto .htaccess, la <em>expresión</em> es | |
| en ambos casos interpretada y ejecutada cada vez que se encuentra un fichero | |
| .htaccess durante el procesamiento de la petición.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ | |
| and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ | |
| and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ | |
| and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5 \ | |
| and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20 ) \ | |
| or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/</pre> | |
| </div> | |
| <p>La función <code>PeerExtList(<em>object-ID</em>)</code> espera encontrar | |
| cero o más instancias de la extensión de certificado X.509 identificadas por | |
| un <em>ID de objecto</em> (OID) dado en el certificado cliente. La expresión | |
| se evalúa a cierta si la cadena de caracteres de la izquierda coincide | |
| exactamente contra el valor de la extensión identificada por este OID. (Si están | |
| presentes múltiples extensiones con el mismo OID, al menos uno debe | |
| coincidir).</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")</pre> | |
| </div> | |
| <div class="note"><h3>Notas sobre la función PeerExtList</h3> | |
| <ul> | |
| <li><p>El ID de objeto puede ser especificado o bien como un | |
| nombre descriptivo reconocido por la librería SSL, tal como | |
| <code>"nsComment"</code>, o como un OID numérico, tal como | |
| <code>"1.2.3.4.5.6"</code>.</p></li> | |
| <li><p>Expresiones con tipos conocidos para la librería SSL se expresan como una | |
| cadena de caracteres antes de su comparación. Para una extensión con un tipo no | |
| reconocido por la librería SSL, mod_ssl interpretará el valor si es uno de los | |
| tipos primitivos ASN.1 types UTF8String, IA5String, VisibleString, | |
| o BMPString. Para una extensión de uno de estos tipos, el valor de la cadena | |
| de caracteres se convertirá en UTF-8 si es necesario, y entonces comparada | |
| contra la expresión de la izquierda.</p></li> | |
| </ul> | |
| </div> | |
| <h3>Consulte también</h3> | |
| <ul> | |
| <li><a href="../env.html">Variables de entorno en el Servidor HTTP | |
| Apache</a>, para más ejemplos. | |
| </li> | |
| <li><a href="mod_authz_core.html#reqexpr">Require expr</a></li> | |
| <li><a href="../expr.html">Sintaxis general de expresión en el Servidor | |
| HTTP Apache</a> | |
| </li> | |
| </ul> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslrequiressl">Directiva <span id="SSLRequireSSL">SSLRequireSSL</span> <a title="Enlace permanente" href="#sslrequiressl" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Denegar el acceso cuando no se usa SSL para la petición | |
| HTTP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLRequireSSL</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva prohibe el acceso a menos que esté habilitado HTTP sobre SSL | |
| (p. ej. HTTPS) para la conexión en cuestión. Esto es muy útil dentro de | |
| hosts virtuales con SSL activado o directorios, para defenderse de errores | |
| de configuración que exponen cosas que deberían estar protegidas. Cuando esta | |
| directiva está presente todas las peticiones que no usen SSL son denegadas.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLRequireSSL</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslsessioncache">Directiva <span id="SSLSessionCache">SSLSessionCache</span> <a title="Enlace permanente" href="#sslsessioncache" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Tipo de la Caché global/interproceso de la sesión SSL</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLSessionCache <em>tipo</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLSessionCache none</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esto configura el tipo de almacenamiento para la Cache global/interproceso de | |
| la sesión SSL. Esta cache es una característica opcional que acelera el | |
| procesamiento de peticiones en paralelo. Para peticiones con el mismo | |
| proceso de servidor (a través de keep-alive HTTP), OpenSSL ya cachea la | |
| información de sesión de SSL localmente. Pero puesto que los clientes modernos | |
| solicitan imágenes y otros datos a través de peticiones en paralelo | |
| (generalmente hasta cuatro peticiones en paralelo es lo típico) esas peticiones | |
| se sirven por procesos de servidor <em>diferentes</em>. Aquí la cache de | |
| inter-proceso ayuda para evitar saludos de sesión SSL innecesarios.</p> | |
| <p> | |
| Los cinto <em>tipos</em> de almacenamientos siguientes están soportados:</p> | |
| <ul> | |
| <li><code>none</code> | |
| <p>Esto desactiva la Cache de Sesión de interproceso/global. Esto | |
| repercutirá en un descenso de la velocidad notable y puede causar problemas | |
| con ciertos navegadores, particularmente si están activados los certificados | |
| cliente. Esta configuración no se recomienda.</p></li> | |
| <li><code>nonenotnull</code> | |
| <p>Esto sólo desactiva la Cache de Sesión de interproceso/global. Aun así no | |
| fuerza a OpenSSL a enviar ID de sesión no-nula para adaptarse a clientes | |
| que requieren una.</p></li> | |
| <li><code>dbm:/ruta/al/ficherodedatos</code> | |
| <p>Esto hace uso del fichero de hash DBM en el disco local para sincronizar | |
| las caches de memoria del OpenSSL de los procesos del servidor. Esta caché | |
| de sesión puede tener problemas de fiabilidad cuando hay carga alta. Para | |
| usarla, asegúrese de que | |
| <code class="module"><a href="../mod/mod_socache_dbm.html">mod_socache_dbm</a></code> está cargado.</p></li> | |
| <li><code>shmcb:/ruta/al/ficherodedatos</code>[<code>(</code><em>tamaño</em><code>)</code>] | |
| <p>Esto hace uso del búfer cíclico de alto rendimiento | |
| (approx. <em>tamaño</em> bytes de tamaño) dentro de un segmento de memoria | |
| compartida en RAM (establecida con <code>/ruta/al/ficherodedatos</code>) | |
| para sincronizar las caches de memoria del OpenSSL local de los procesos del | |
| servidor. Esta es la caché de sesión recomendada. Para usarla, asegúrese de | |
| que <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> está cargado.</p></li> | |
| <li><code>dc:UNIX:/ruta/al/socket</code> | |
| <p>Esto hace uso de las librerías de almacenamiento en caché de sesión | |
| distribuida.<a href="http://distcache.sourceforge.net/">distcache</a>. | |
| El parámetro debería especificar la ubicación del servidor o proxy para | |
| ser usado con distcache usando sintaxis de dirección; por ejemplo, | |
| <code>UNIX:/ruta/al/socket</code> especifica un socket de dominio UNIX | |
| (típicamente un proxy dc_client local); | |
| <code>IP:server.example.com:9001</code> especifica una dirección IP. Para | |
| usar esto, asegúrese de que <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> está | |
| cargado.</p></li> | |
| </ul> | |
| <div class="example"><h3>Ejemplos</h3><pre class="prettyprint lang-config">SSLSessionCache "dbm:/usr/local/apache/logs/ssl_gcache_data" | |
| SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)"</pre> | |
| </div> | |
| <p>El mutex <code>ssl-cache</code> se usa para serializar el acceso a la cache | |
| de sesión para prevenir corrupción. Este mutex puede configurarse usando la | |
| directiva <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslsessioncachetimeout">Directiva <span id="SSLSessionCacheTimeout">SSLSessionCacheTimeout</span> <a title="Enlace permanente" href="#sslsessioncachetimeout" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Número de segundos antes de que la sesión SSL expira | |
| en la Cache de Sesión</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLSessionCacheTimeout <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLSessionCacheTimeout 300</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Aplica también al RFC 5077 de reanudación de sesión en | |
| Apache 2.4.10 o posterior</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el tiemplo límite en segundos para la información | |
| guardada en la caché de sesión SSL de interproceso/global, la caché de memoria | |
| interna de OpenSSL y para las sesiones reanudadas por la reanudación de sesión | |
| de TLS (RFC 5077). Puede ponerse hasta un mínimo de 15 para hacer pruebas, pero | |
| debería configurarse con valores como 300 en entornos funcionales.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLSessionCacheTimeout 600</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslsessionticketkeyfile">Directiva <span id="SSLSessionTicketKeyFile">SSLSessionTicketKeyFile</span> <a title="Enlace permanente" href="#sslsessionticketkeyfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Clave persistente de encriptación/desencriptación para ticket de | |
| sesión TLS</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLSessionTicketKeyFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.0 y posterior, si se usaOpenSSL 0.9.8h o | |
| posterior</td></tr> | |
| </table> | |
| <p>Opcionalmente configura una clave secreta para la encriptación y | |
| desencriptación de tickets de sesión TLS, tal y como se define en | |
| <a href="http://www.ietf.org/rfc/rfc5077.txt">RFC 5077</a>. Principalmente | |
| adecuado para entornos clusterizados donde la información de sesiones TLS | |
| debería ser compartida entre varios nodos. Para configuraciones de una sola | |
| instancia http, es recomendable <em>no</em> configurar un fichero clave | |
| de ticket, pero si depender de varias claves generadas (al azar) por mod_ssl | |
| en el arranque, en su lugar.</p> | |
| <p>El fichero clave de ticket debe contener 48 bytes de datos aleatorios, | |
| preferiblemente credos de una fuente con alta entropía. En un sistema basado en | |
| Unix, un fichero clave de ticket puede generarse como sigue:</p> | |
| <div class="example"><p><code> | |
| dd if=/dev/random of=/path/to/file.tkey bs=1 count=48 | |
| </code></p></div> | |
| <p>Las claves de ticket deberían rotarse (sustituirse) frecuentemente, puesto | |
| que esta es la única forma de invalidar sesiones de ticket existentes - Openssl | |
| actualmente no permite especificar un tiempo límite de validez de tickets. Una | |
| nueva clave de ticket sólo se usa después de reiniciar el servidor web. | |
| Todas las sesiones de tickets existentes son inválidas después de un | |
| reinicio.</p> | |
| <div class="warning"> | |
| <p>El fichero clave de ticket contiene material sensible de claves y debería | |
| protegerse con permisos de fichero de una manera similar a las que se deben | |
| usar para los ficheros utilizados con | |
| <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>.</p> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslsessiontickets">Directiva <span id="SSLSessionTickets">SSLSessionTickets</span> <a title="Enlace permanente" href="#sslsessiontickets" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activa o desactiva el uso de tickets de sesión TLS</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLSessionTickets on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLSessionTickets on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.11 y posterior, si se usa OpenSSL 0.9.8f | |
| o posterior.</td></tr> | |
| </table> | |
| <p>Esta directiva permite activar o desactivar el uso de los tickets de sesión | |
| TLS (RFC 5077).</p> | |
| <div class="warning"> | |
| <p>Los tickets de sesión TLS se activan por defecto. Usarlos sin reiniciar el | |
| servidor web con una frecuencia apropiada (p. ej. diariamente) compromete | |
| un "forward secrecy" perfecto</p> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslsrpunknownuserseed">Directiva <span id="SSLSRPUnknownUserSeed">SSLSRPUnknownUserSeed</span> <a title="Enlace permanente" href="#sslsrpunknownuserseed" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Semilla de usuario desconocido SRP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLSRPUnknownUserSeed <em>cadenadecaracteres-secreta</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.4 y posterior si se usa OpenSSL 1.0.1 o | |
| posterior</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura la semilla usada para aparentar parámetros de usuario | |
| SRP para usuarios desconocidos, para evitar dar a conocer si el usuario | |
| facilitado existe, se especifica una cadena de caracteres secreta. Si no se usa | |
| esta directiva, entonces Apache deolverá la alerta UNKNOWN_PSK_IDENTITY a | |
| clientes que espcifican un nombre de usuario desconocido. | |
| </p> | |
| <div class="example"><h3>Ejemplo</h3><p><code> | |
| SSLSRPUnknownUserSeed "secret" | |
| </code></p></div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslsrpverifierfile">Directiva <span id="SSLSRPVerifierFile">SSLSRPVerifierFile</span> <a title="Enlace permanente" href="#sslsrpverifierfile" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Ruta hacia el fichero verificador SRP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLSRPVerifierFile <em>ruta-al-fichero</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible en httpd 2.4.4 y posterior si se usa OpenSSL 1.0.1 o | |
| posterior</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva activa TLS-SRP y configura la ruta al fichero verificador | |
| OpenSSL SRP (Secure Remote Password) que contiene nombres de usuario, | |
| verificadores, salts y parámetros de grupo TLS-SRP.</p> | |
| <div class="example"><h3>Ejemplo</h3><p><code> | |
| SSLSRPVerifierFile "/ruta/al/fichero.srpv" | |
| </code></p></div> | |
| <p> | |
| El fichero verificador puede generarse con la utilidad de línea de comandos | |
| <code>openssl</code>:</p> | |
| <div class="example"><h3>Creando el fichero verificador SRP</h3><p><code> | |
| openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username | |
| </code></p></div> | |
| <p> El valor dado con el parámetro opcional <code>-userinfo</code> está | |
| disponible en la variable de entorno de petición | |
| <code>SSL_SRP_USERINFO</code>.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingcache">Directiva <span id="SSLStaplingCache">SSLStaplingCache</span> <a title="Enlace permanente" href="#sslstaplingcache" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Configura la cache del stapling de OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingCache <em>tipo</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Configura la cache utilizada para almacenar las respuestas OCSP que se | |
| incluyen en el saludo TLS si | |
| <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> está activada. La | |
| coniguración de la cache es obligatoria para el stapling the OCSP. Con la | |
| excepción de <code>none</code> y <code>nonenotnull</code>, se da soporte a | |
| los mismos tipos de almacenamiento que con | |
| <code class="directive"><a href="#sslsessioncache">SSLSessionCache</a></code>.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingerrorcachetimeout">Directiva <span id="SSLStaplingErrorCacheTimeout">SSLStaplingErrorCacheTimeout</span> <a title="Enlace permanente" href="#sslstaplingerrorcachetimeout" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Número de segundos antes de expirar respuestas inválidas en la | |
| cache del stapling de OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingErrorCacheTimeout <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingErrorCacheTimeout 600</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Configura el tiempo límite en segundos antes de que las respuestas | |
| <em>inválidas</em> en la cache de stapling OCSP (configuradas con | |
| <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>) expiren. Para | |
| configurar el tiempo límite de respuestas válidas, vea | |
| <code class="directive"><a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></code>.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingfaketrylater">Directiva <span id="SSLStaplingFakeTryLater">SSLStaplingFakeTryLater</span> <a title="Enlace permanente" href="#sslstaplingfaketrylater" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Sintetiza respuestas "tryLater" para consultas fallidas de stapling | |
| de OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingFakeTryLater on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingFakeTryLater on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Cuando se activa y una consulta de stapling a un respondedor OCSP falla, | |
| mod_ssl sintetizará una respuesta "tryLater" para el cliente. sólo efectiva si | |
| <code class="directive"><a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code> | |
| también está activada.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingforceurl">Directiva <span id="SSLStaplingForceURL">SSLStaplingForceURL</span> <a title="Enlace permanente" href="#sslstaplingforceurl" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Sobreescribe la URI especificada por el respondedor OCSP | |
| especificada en la extensión AIA del certificado</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingForceURL <em>uri</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Esta directiva sobreescribe la URI de un respondedor OCSP obtenida de la | |
| extensión authorityInfoAccess (AIA) del certificado. | |
| Un uso potencial puede ser cuando se usa un proxy para hacer consultas OCSP.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingrespondertimeout">Directiva <span id="SSLStaplingResponderTimeout">SSLStaplingResponderTimeout</span> <a title="Enlace permanente" href="#sslstaplingrespondertimeout" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Tiempo máximo para las consultas de stapling de OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingResponderTimeout <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingResponderTimeout 10</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Esta opción configura el tiempo máximo para consultas a respondedores OCSP | |
| cuando <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> está activada y | |
| mod_ssl está consultando a un respondedor por motivos de stapling de OCSP.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingresponsemaxage">Directiva <span id="SSLStaplingResponseMaxAge">SSLStaplingResponseMaxAge</span> <a title="Enlace permanente" href="#sslstaplingresponsemaxage" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Edad máxima permitida para respuesta de stapling OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingResponseMaxAge <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingResponseMaxAge -1</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Esta opción configura la edad máxima permitida ("frescura") cuando se | |
| consideran las respuestas OCSP para stapling, p. ej. cuando | |
| <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> está activada. | |
| El valor por defecto (<code>-1</code>) no fuerza una edad máxima, lo que | |
| significa que las respuestas OCSP se consideran válidas mientras el valor del | |
| campo <code>nextUpdate</code> está en una fecha futura.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingresponsetimeskew">Directiva <span id="SSLStaplingResponseTimeSkew">SSLStaplingResponseTimeSkew</span> <a title="Enlace permanente" href="#sslstaplingresponsetimeskew" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Tiempo máximo permitido para la validación del stapling | |
| OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingResponseTimeSkew <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingResponseTimeSkew 300</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Esta opción configura el tiempo máximo de desviación cuando mod_ssl comprueba | |
| los campos <code>thisUpdate</code> y <code>nextUpdate</code> de las respuestas | |
| OCSP que se incluyen en el saludo TLS (Stapling de OCSP). sólo aplicable si | |
| <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> está activada.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingreturnrespondererrors">Directiva <span id="SSLStaplingReturnResponderErrors">SSLStaplingReturnResponderErrors</span> <a title="Enlace permanente" href="#sslstaplingreturnrespondererrors" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Pasa los errores relacionados con stapling de OCSP al cliente | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingReturnResponderErrors on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingReturnResponderErrors on</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Cuando se activa, mod_ssl pasará las respuestas de consultas sin éxito | |
| relacionadas con el stapling OCSP (tales como respuestas con un estado general | |
| que no sea otro que "con éxito", respuestas con un estado de certificado que no | |
| sea otro que "bueno", respuestas de expirado, etc.) al cliente. | |
| Si la configura a <code>off</code>, sólo respuestas indicando un estado de | |
| certificado "bueno" se incluirán en el saludo TLS.</p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstaplingstandardcachetimeout">Directiva <span id="SSLStaplingStandardCacheTimeout">SSLStaplingStandardCacheTimeout</span> <a title="Enlace permanente" href="#sslstaplingstandardcachetimeout" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Número de segundos antes de expirar las respuestas en la cache del | |
| stapling de OCSP</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStaplingStandardCacheTimeout <em>segundos</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStaplingStandardCacheTimeout 3600</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Configura el límite de tiempo en segundos antes de que las respuestas en el | |
| cache de stapling de OCSP (configuradas con | |
| <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>) expiren. Esta | |
| directiva aplica a respuestas <em>válidas</em>, mientras que | |
| <code class="directive"><a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></code> se | |
| usa para controlar el límite de tiempo para respuestas inválidas/indisponibles. | |
| </p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstoreuri">Directiva <span id="SSLStoreURI">SSLStoreURI</span> <a title="Enlace permanente" href="#sslstoreuri" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Server certificate and key store</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStoreURI <var>uri</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in httpd 2.5.1 and later, when linked with | |
| OpenSSL v3 or later.</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslstrictsnivhostcheck">Directiva <span id="SSLStrictSNIVHostCheck">SSLStrictSNIVHostCheck</span> <a title="Enlace permanente" href="#sslstrictsnivhostcheck" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Permitir o no a clientes no-SNI acceder a host virtuales basados | |
| en nombre. | |
| </td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLStrictSNIVHostCheck on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLStrictSNIVHostCheck off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura si un cliente no-SNI tiene permiso para acceder a un | |
| host virtual basado en nombre. Si se configura a <code>on</code> en el host | |
| virtual por defecto basado en nombre, los clientes que no son compatibles con | |
| SNI no se les permitirá el acceso a <em>ningún</em> host virtual que pertenezca | |
| a esta combinación de ip/puerto. Si se configura a <code>on</code> en cualquier | |
| otro host virtual, los clientes no compatibles con SNI no tendrán acceso a ese | |
| host virtual en particular. | |
| </p> | |
| <div class="warning"><p> | |
| Esta opción sólo está disponible si httpd fue compilado contra una versión | |
| compatible con SNI de OpenSSL. | |
| </p></div> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLStrictSNIVHostCheck on</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="ssltrustrequesturi">Directiva <span id="SSLTrustRequestURI">SSLTrustRequestURI</span> <a title="Enlace permanente" href="#ssltrustrequesturi" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>certificate store of CA Certificates for defining | |
| acceptable CA names</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLTrustRequestURI <var>uri</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="ssltrusturi">Directiva <span id="SSLTrustURI">SSLTrustURI</span> <a title="Enlace permanente" href="#ssltrusturi" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Server CA certificate store for Client Authentication</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLTrustURI <var>uri</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in httpd 2.5.1 and later, when linked with | |
| OpenSSL v3 or later.</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslusername">Directiva <span id="SSLUserName">SSLUserName</span> <a title="Enlace permanente" href="#sslusername" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Nombre de variable para determinar el nombre de usuario</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLUserName <em>nombre de variable</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el campo "usuario" en el objeto de solicitud de Apache. | |
| Esto se usa por módulos menores para identificar el usuario con una cadena | |
| de caracteres. En particular esto puede causar que la variable de entorno | |
| <code>REMOTE_USER</code> sea configurada. El <em>nombre de variable</em> puede | |
| ser cualquiera de las <a href="#envvars">variables de entorno SSL</a>.</p> | |
| <p>Cuando se activa la opción <code>FakeBasicAuth</code>, esta directiva | |
| controla en su lgar el valor del nombre de usuario embebido dentro de la | |
| cabecera de autenticación básica (vea <a href="#ssloptions">SSLOptions</a>).</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLUserName SSL_CLIENT_S_DN_CN</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslusestapling">Directiva <span id="SSLUseStapling">SSLUseStapling</span> <a title="Enlace permanente" href="#sslusestapling" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Activa stapling de las respuestas OCSP en el saludo | |
| TLS</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLUseStapling on|off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLUseStapling off</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Disponible si se usa OpenSSL 0.9.8h o posterior</td></tr> | |
| </table> | |
| <p>Esta opción activa el stapling de OCSP, tal y como se define en la extensión | |
| TLS "Solicitud de Estado de Certificado" especificada en el RFC 6066. Si está | |
| activado (y solicitado por el cliente), mod_ssl incluirá una respuesta OCSP de | |
| su propio certificado en el saludo TLS. Configurar una | |
| <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code> es un pre-requisito para | |
| activar stapling de OCSP.</p> | |
| <p>El stapling de OCSP releva al cliente de consultar el respondedor OCSP por si | |
| mismo, pero debería tenerse en cuenta que con la especificación RFC 6066, la | |
| respuesta de <code>CertificateStatus</code> del servidor podría sólo incluir | |
| una respuesta OCSP de un sólo certificado. Para los certificados de servidor | |
| con certificados de CA intermedias en su cadena (lo típico hoy en día), | |
| stapling en su implementación actual por tanto sólo consigue su objetivo | |
| parcialmente de "ahorrar varias peticiones y consumo de recursos" - vea también | |
| el <a href="http://www.ietf.org/rfc/rfc6961.txt">RFC 6961</a> | |
| (Extensión de TLS del Estado de Múltiples Certificados). | |
| </p> | |
| <p>Cuando el stapling de OCSP está activado, se usa el mutex | |
| <code>ssl-stapling</code> para controlar el acceso a la cahe de stapling de OCSP | |
| para prevenir corrupción, y se usa el mutex <code>sss-stapling-refresh</code> | |
| para controlar los refrescos a las respuestas OCSP. Estos mutexes pueden ser | |
| configurados usando la directiva | |
| <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. | |
| </p> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslverifyclient">Directiva <span id="SSLVerifyClient">SSLVerifyClient</span> <a title="Enlace permanente" href="#sslverifyclient" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Tipo de verificación de Certificado Cliente</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLVerifyClient <em>nivel</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLVerifyClient none</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura el nivel de verificación de Certificado para la | |
| Autenticación de Cliente. Tenga en cuenta que esta directiva se puede usar tanto | |
| en contexto servidor como en contexto directorio. En contexto de servidor se | |
| aplica al proceso de autenticación de cliente usado en el saludo estándar de SSL | |
| cuando se establece una conexión. En el contexto directorio fuerza una | |
| renegociación SSL con el nivel de verificación reconfigurado después de que se | |
| lee la petiicón HTTP pero antes de que se responda la respuesta HTTP.</p> | |
| <p> | |
| Los siguientes niveles están disponibles para <em>nivel</em>:</p> | |
| <ul> | |
| <li><strong>none</strong>: | |
| no se requiere Certificado cliente ninguno</li> | |
| <li><strong>optional</strong>: | |
| el cliente <em>puede</em> presentar un Certificado válido</li> | |
| <li><strong>require</strong>: | |
| el cliente <em>tiene que</em> presentar un Certificado válido</li> | |
| <li><strong>optional_no_ca</strong>: | |
| el cliente puede presentar un Certificado válido<br> | |
| pero no tiene por qué ser verificable (satisfactoriamente). No se puede | |
| depender de esta opción para la autenticación de cliente. </li> | |
| </ul> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLVerifyClient require</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslverifydepth">Directiva <span id="SSLVerifyDepth">SSLVerifyDepth</span> <a title="Enlace permanente" href="#sslverifydepth" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Profundidad máxima de Certificados CA en la verificación de | |
| Certificado Cliente</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLVerifyDepth <em>number</em></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLVerifyDepth 1</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Override">Anula:</a></th><td>AuthConfig</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| </table> | |
| <p> | |
| Esta directiva configura hasta qué nivel debe mod_ssl verificar antes de decidir | |
| cuando los clientes no tienen un certificado válido. Tenga en cuenta que esta | |
| directiva puede usarse tanto en contexto servidor como en contexto directorio. | |
| En contexto servidor se aplica al proceso de autenticación de cliente en el | |
| salido SSL estándar cuando se establece una conexión. En el contexto directorio | |
| fuerza una renegociación SSL con la profundidad de verficiación de cliente | |
| reconfigurada después de que se lea la petición HTTP pero antes de que sé haya | |
| enviado la respuesta HTTP.</p> | |
| <p> | |
| La profundidad es en realidad el número máximo de certificados CA intermedios, | |
| p. ej. el número de certificados CA máximo permitido a seguir en la verificación | |
| del certificado cliente. Una profundidad de 0 significa que sólo se | |
| aceptan los certificados cliente autofirmados, la profundidad por defecto de 1 | |
| significa que el cliente puede ser autofirmado o tiene que estar firmado por una | |
| CA que es directamente conocida por el servidor (p. ej. los certificados CA | |
| están bajo | |
| <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>), etc.</p> | |
| <div class="example"><h3>Ejemplo</h3><pre class="prettyprint lang-config">SSLVerifyDepth 10</pre> | |
| </div> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="sslvhostsnipolicy">Directiva <span id="SSLVHostSNIPolicy">SSLVHostSNIPolicy</span> <a title="Enlace permanente" href="#sslvhostsnipolicy" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Descripción:</a></th><td>Set compatibility policy for SNI client access to virtual hosts.</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Sintaxis:</a></th><td><code>SSLVHostSNIPolicy strict|secure|authonly|insecure</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Valor por defecto:</a></th><td><code>SSLVHostSNIPolicy secure</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Contexto:</a></th><td>server config</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Estado:</a></th><td>Extensión</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Módulo:</a></th><td>mod_ssl</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibilidad:</a></th><td>Available in httpd 2.4.66 and later</td></tr> | |
| </table><p>The documentation for this directive has | |
| not been translated yet. Please have a look at the English | |
| version.</p></div> | |
| </div> | |
| <div class="bottomlang"> | |
| <p><span>Idiomas disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> | | |
| <a href="../es/mod/mod_ssl.html" title="Español"> es </a> | | |
| <a href="../fr/mod/mod_ssl.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> | |
| </div><div id="footer"> | |
| <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licencia bajo los términos de la <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> | |
| <p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/quickreference.html">Directivas</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Reportar un error</a></p></div><script><!--//--><![CDATA[//><!-- | |
| if (typeof(prettyPrint) !== 'undefined') { | |
| prettyPrint(); | |
| } | |
| var langToggle = document.querySelector('.lang-toggle'); | |
| var topLang = document.querySelector('.toplang'); | |
| if (langToggle && topLang) { | |
| langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); | |
| } | |
| var qv = document.getElementById('quickview'); | |
| if (qv) { | |
| document.body.appendChild(qv); | |
| var qvBtn = document.createElement('button'); | |
| qvBtn.className = 'qv-toggle'; | |
| qvBtn.setAttribute('aria-label', 'Toggle page navigation'); | |
| qvBtn.innerHTML = '☰'; | |
| document.body.appendChild(qvBtn); | |
| qvBtn.addEventListener('click', function() { | |
| var isOpen = qv.classList.toggle('open'); | |
| if (isOpen) { | |
| qv.style.top = window.scrollY + 10 + 'px'; | |
| } | |
| }); | |
| window.addEventListener('scroll', function() { qv.classList.remove('open'); }); | |
| } | |
| //--><!]]></script> | |
| </body></html> |