summaryrefslogtreecommitdiffstats
path: root/docs/manual/ssl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/manual/ssl/index.html21
-rw-r--r--docs/manual/ssl/index.html.en71
-rw-r--r--docs/manual/ssl/index.html.fr.utf873
-rw-r--r--docs/manual/ssl/index.html.ja.utf872
-rw-r--r--docs/manual/ssl/index.html.tr.utf871
-rw-r--r--docs/manual/ssl/index.html.zh-cn.utf872
-rw-r--r--docs/manual/ssl/ssl_compat.html9
-rw-r--r--docs/manual/ssl/ssl_compat.html.en248
-rw-r--r--docs/manual/ssl/ssl_compat.html.fr.utf8257
-rw-r--r--docs/manual/ssl/ssl_faq.html9
-rw-r--r--docs/manual/ssl/ssl_faq.html.en935
-rw-r--r--docs/manual/ssl/ssl_faq.html.fr.utf81036
-rw-r--r--docs/manual/ssl/ssl_howto.html9
-rw-r--r--docs/manual/ssl/ssl_howto.html.en449
-rw-r--r--docs/manual/ssl/ssl_howto.html.fr.utf8489
-rw-r--r--docs/manual/ssl/ssl_intro.html13
-rw-r--r--docs/manual/ssl/ssl_intro.html.en672
-rw-r--r--docs/manual/ssl/ssl_intro.html.fr.utf8727
-rw-r--r--docs/manual/ssl/ssl_intro.html.ja.utf8730
19 files changed, 5963 insertions, 0 deletions
diff --git a/docs/manual/ssl/index.html b/docs/manual/ssl/index.html
new file mode 100644
index 0000000..163d682
--- /dev/null
+++ b/docs/manual/ssl/index.html
@@ -0,0 +1,21 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: index.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: index.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
+
+URI: index.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
+
+URI: index.html.tr.utf8
+Content-Language: tr
+Content-type: text/html; charset=UTF-8
+
+URI: index.html.zh-cn.utf8
+Content-Language: zh-cn
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/ssl/index.html.en b/docs/manual/ssl/index.html.en
new file mode 100644
index 0000000..d1a9d6b
--- /dev/null
+++ b/docs/manual/ssl/index.html.en
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache SSL/TLS Encryption - Apache HTTP Server Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache SSL/TLS Encryption</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/ssl/" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+<p>The Apache HTTP Server module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
+provides an interface to the <a href="http://www.openssl.org/">OpenSSL</a> library, which provides
+Strong Encryption using the Secure Sockets Layer and Transport Layer
+Security protocols.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">Documentation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl">mod_ssl</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="documentation" id="documentation">Documentation</a></h2>
+<ul>
+<li><a href="ssl_howto.html">mod_ssl Configuration How-To</a></li>
+<li><a href="ssl_intro.html">Introduction To SSL</a></li>
+<li><a href="ssl_compat.html">Compatibility</a></li>
+<li><a href="ssl_faq.html">Frequently Asked Questions</a></li>
+<li><a href="../glossary.html">Glossary</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="mod-ssl" id="mod-ssl">mod_ssl</a></h2>
+<p>Extensive documentation on the directives and environment variables
+provided by this module is provided in the <a href="../mod/mod_ssl.html">mod_ssl reference documentation</a>.
+</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/ssl/" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.fr.utf8 b/docs/manual/ssl/index.html.fr.utf8
new file mode 100644
index 0000000..2042b32
--- /dev/null
+++ b/docs/manual/ssl/index.html.fr.utf8
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache et le Chiffrement SSL/TLS - Serveur HTTP Apache Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur HTTP Apache Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache et le Chiffrement SSL/TLS</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+<p>Le module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> du serveur HTTP Apache fournit une
+interface avec la bibliothÚque <a href="http://www.openssl.org/">OpenSSL</a>, qui permet d'effectuer un
+chiffrement fort en s'appuyant sur les protocoles "Couche Points d'accÚs
+Sécurisés" (Secure Sockets Layer - SSL) et "Sécurité de la Couche Transport"
+(Transport Layer Security - TLS).</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">Documentation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl">mod_ssl</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="documentation" id="documentation">Documentation</a></h2>
+<ul>
+<li><a href="ssl_howto.html">Comment configurer SSL ?</a></li>
+<li><a href="ssl_intro.html">Introduction à SSL</a></li>
+<li><a href="ssl_compat.html">Compatibilité</a></li>
+<li><a href="ssl_faq.html">Foire aux questions</a></li>
+<li><a href="../glossary.html">Glossaire</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="mod-ssl" id="mod-ssl">mod_ssl</a></h2>
+<p>La documentation complÚte sur les directives et les variables
+d'environnement fournies par ce module se trouve dans la
+<a href="../mod/mod_ssl.html">documentation de référence de mod_ssl</a>.
+</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.ja.utf8 b/docs/manual/ssl/index.html.ja.utf8
new file mode 100644
index 0000000..731af04
--- /dev/null
+++ b/docs/manual/ssl/index.html.ja.utf8
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache の SSL/TLS 暗号化 - Apache HTTP サヌバ バヌゞョン 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モゞュヌル</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">甚語</a> | <a href="../sitemap.html">サむトマップ</a></p>
+<p class="apache">Apache HTTP サヌバ バヌゞョン 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サヌバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテヌション</a> &gt; <a href="../">バヌゞョン 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache の SSL/TLS 暗号化</h1>
+<div class="toplang">
+<p><span>翻蚳枈み蚀語: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+<p>Apache HTTP サヌバモゞュヌル <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> が
+<a href="http://www.openssl.org/">OpenSSL</a>
+ラむブラリぞのむンタヌフェヌスを提䟛しおいたすが、これは
+Secure Sockts Layer ず Transport Layer Security
+プロトコルを甚いた匷力な暗号化を提䟛したす。</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">Documentation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl">mod_ssl</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="documentation" id="documentation">Documentation</a></h2>
+<ul>
+<li><a href="ssl_howto.html">mod_ssl Configuration How-To</a></li>
+<li><a href="ssl_intro.html">Introduction To SSL</a></li>
+<li><a href="ssl_compat.html">互換性</a></li>
+<li><a href="ssl_faq.html">よくある質問</a></li>
+<li><a href="../glossary.html">甚語</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="mod-ssl" id="mod-ssl">mod_ssl</a></h2>
+<p>このモゞュヌルで提䟛されるディレクティブや環境倉数に関する
+詳しい文曞は、<a href="../mod/mod_ssl.html">mod_ssl
+リファレンス</a>をご芧䞋さい。</p>
+</div></div>
+<div class="bottomlang">
+<p><span>翻蚳枈み蚀語: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />この文曞は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のラむセンスで提䟛されおいたす。.</p>
+<p class="menu"><a href="../mod/">モゞュヌル</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">甚語</a> | <a href="../sitemap.html">サむトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.tr.utf8 b/docs/manual/ssl/index.html.tr.utf8
new file mode 100644
index 0000000..d6766c4
--- /dev/null
+++ b/docs/manual/ssl/index.html.tr.utf8
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache SSL/TLS Şifrelemesi - Apache HTTP Sunucusu SÌrÌm 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">ModÌller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
+<p class="apache">Apache HTTP Sunucusu SÃŒrÃŒm 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">SÌrÌm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache SSL/TLS Şifrelemesi</h1>
+<div class="toplang">
+<p><span>Mevcut Diller: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+
+ <p>Apache HTTP Sunucusunun <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modÌlÌ, GÌvenli Soketler
+ Katmanı (SSL) ve Aktarım Katmanı GÃŒvenliği (TLS) protokollerinin
+ kullanıldığı Sağlam Şifreleme desteğini sağlayan <a href="http://www.openssl.org/">OpenSSL</a> kÃŒtÃŒphanesine bir arayÃŒz
+ içerir.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">Belgeler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl"><code>mod_ssl</code> ModÌlÌ</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="documentation" id="documentation">Belgeler</a></h2>
+ <ul>
+ <li><a href="ssl_howto.html">mod_ssl Yapılandırması Nasıl</a></li>
+ <li><a href="ssl_intro.html">SSL'ye Giriş</a></li>
+ <li><a href="ssl_compat.html">Uyumluluk</a></li>
+ <li><a href="ssl_faq.html">Sıkça Sorulan Sorular</a></li>
+ <li><a href="../glossary.html">Terimler</a></li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="mod-ssl" id="mod-ssl"><code>mod_ssl</code> ModÌlÌ</a></h2>
+ <p>Bu modÃŒlce sağlanan yönergeler ve ortam değişkenleri
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> başvuru kılavuzunda ayrıntılı olarak
+ açıklanmıştır.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Mevcut Diller: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
+<p class="menu"><a href="../mod/">ModÌller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/index.html.zh-cn.utf8 b/docs/manual/ssl/index.html.zh-cn.utf8
new file mode 100644
index 0000000..e8e8258
--- /dev/null
+++ b/docs/manual/ssl/index.html.zh-cn.utf8
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" xml:lang="zh-cn"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Apache SSL/TLS 加密 - Apache HTTP 服务噚 版本 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">暡块</a> | <a href="../mod/directives.html">指什</a> | <a href="http://wiki.apache.org/httpd/FAQ">垞见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">眑站富航</a></p>
+<p class="apache">Apache HTTP 服务噚版本 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="../"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP 服务噚</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="../">版本 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache SSL/TLS 加密</h1>
+<div class="toplang">
+<p><span>可甚语蚀: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div>
+<div class="outofdate">歀翻译可胜过期。芁了解最近的曎改请阅读英文版。</div>
+
+<p>Apache HTTP 服务噚暡块 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
+提䟛了䞎 <a href="http://www.openssl.org/">OpenSSL</a>
+的接口它䜿甚安党套接字层和䌠蟓层安党协议提䟛了区加密。
+歀暡块䞎这篇文档郜基于
+Ralf S. Engelschall 的 mod_ssl 项目。</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">文档</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mod-ssl">mod_ssl</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="documentation" id="documentation">文档</a></h2>
+<ul>
+<li><a href="ssl_intro.html">简介</a></li>
+<li><a href="ssl_compat.html">兌容性</a></li>
+<li><a href="ssl_howto.html">垞见操䜜</a></li>
+<li><a href="ssl_faq.html">垞见问题</a></li>
+<li><a href="../glossary.html">术语</a></li>
+</ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="mod-ssl" id="mod-ssl">mod_ssl</a></h2>
+<p>歀暡块提䟛的指什和环境变量的文档䜍于 <a href="../mod/mod_ssl.html">mod_ssl 参考手册</a>。
+</p>
+</div></div>
+<div class="bottomlang">
+<p><span>可甚语蚀: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="TÌrkçe">&nbsp;tr&nbsp;</a> |
+<a href="../zh-cn/ssl/" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />基于 <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> 讞可证.</p>
+<p class="menu"><a href="../mod/">暡块</a> | <a href="../mod/directives.html">指什</a> | <a href="http://wiki.apache.org/httpd/FAQ">垞见问题</a> | <a href="../glossary.html">术语</a> | <a href="../sitemap.html">眑站富航</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_compat.html b/docs/manual/ssl/ssl_compat.html
new file mode 100644
index 0000000..0e4471e
--- /dev/null
+++ b/docs/manual/ssl/ssl_compat.html
@@ -0,0 +1,9 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: ssl_compat.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: ssl_compat.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/ssl/ssl_compat.html.en b/docs/manual/ssl/ssl_compat.html.en
new file mode 100644
index 0000000..6677074
--- /dev/null
+++ b/docs/manual/ssl/ssl_compat.html.en
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>SSL/TLS Strong Encryption: Compatibility - Apache HTTP Server Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>SSL/TLS Strong Encryption: Compatibility</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_compat.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_compat.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<p>
+This page covers backwards compatibility between mod_ssl and other
+SSL solutions. mod_ssl is not the only SSL solution for Apache; four
+additional products are (or were) also available: Ben Laurie's freely
+available <a href="http://www.apache-ssl.org/">Apache-SSL</a> (from
+where mod_ssl were originally derived in 1998), Red Hat's commercial
+Secure Web Server (which was based on mod_ssl), Covalent's commercial
+Raven SSL Module (also based on
+mod_ssl) and finally C2Net's (now Red Hat's) commercial product <a href="http://www.redhat.com/explore/stronghold/">Stronghold</a> (based
+on a different evolution branch, named Sioux up to Stronghold 2.x, and
+based on mod_ssl since Stronghold 3.x).</p>
+
+<p>
+mod_ssl mostly provides a superset of the functionality of all the other
+solutions, so it's simple to migrate from one of the older modules to
+mod_ssl. The configuration directives and environment variable names
+used by the older SSL solutions vary from those used in mod_ssl;
+mapping tables are included here to give the equivalents used by mod_ssl.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configuration">Configuration Directives</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#variables">Environment Variables</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#customlog">Custom Log Functions</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="configuration" id="configuration">Configuration Directives</a></h2>
+<p>The mapping between configuration directives used by Apache-SSL
+1.x and mod_ssl 2.0.x is given in <a href="#table1">Table
+1</a>. The mapping from Sioux 1.x and Stronghold 2.x is only partial
+because of special functionality in these interfaces which mod_ssl
+doesn't provide.</p>
+
+
+<h3><a name="table1" id="table1">Table 1: Configuration Directive Mapping</a></h3>
+
+<table><tr class="header"><th>Old Directive</th><th>mod_ssl Directive</th><th>Comment</th></tr>
+<tr class="header"><th colspan="3">Apache-SSL 1.x &amp; mod_ssl 2.0.x compatibility:</th></tr>
+<tr><td><code>SSLEnable</code></td><td><code>SSLEngine on</code></td><td>compactified</td></tr>
+<tr class="odd"><td><code>SSLDisable</code></td><td><code>SSLEngine off</code></td><td>compactified</td></tr>
+<tr><td><code>SSLLogFile</code> <em>file</em></td><td><code /></td><td>Use per-module <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> setting instead.</td></tr>
+<tr class="odd"><td><code>SSLRequiredCiphers</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renamed</td></tr>
+<tr><td><code>SSLRequireCipher</code> <em>c1</em> ...</td><td><code>SSLRequire %{SSL_CIPHER} in {"</code><em>c1</em><code>",
+...}</code></td><td>generalized</td></tr>
+<tr class="odd"><td><code>SSLBanCipher</code> <em>c1</em> ...</td><td><code>SSLRequire not (%{SSL_CIPHER} in {"</code><em>c1</em><code>",
+...})</code></td><td>generalized</td></tr>
+<tr><td><code>SSLFakeBasicAuth</code></td><td><code>SSLOptions +FakeBasicAuth</code></td><td>merged</td></tr>
+<tr class="odd"><td><code>SSLCacheServerPath</code> <em>dir</em></td><td>-</td><td>functionality removed</td></tr>
+<tr><td><code>SSLCacheServerPort</code> <em>integer</em></td><td>-</td><td>functionality removed</td></tr>
+<tr class="header"><th colspan="3">Apache-SSL 1.x compatibility:</th></tr>
+<tr class="odd"><td><code>SSLExportClientCertificates</code></td><td><code>SSLOptions +ExportCertData</code></td><td>merged</td></tr>
+<tr><td><code>SSLCacheServerRunDir</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr class="header"><th colspan="3">Sioux 1.x compatibility:</th></tr>
+<tr class="odd"><td><code>SSL_CertFile</code> <em>file</em></td><td><code>SSLCertificateFile</code> <em>file</em></td><td>renamed</td></tr>
+<tr><td><code>SSL_KeyFile</code> <em>file</em></td><td><code>SSLCertificateKeyFile</code> <em>file</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CipherSuite</code> <em>arg</em></td><td><code>SSLCipherSuite</code> <em>arg</em></td><td>renamed</td></tr>
+<tr><td><code>SSL_X509VerifyDir</code> <em>arg</em></td><td><code>SSLCACertificatePath</code> <em>arg</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_Log</code> <em>file</em></td><td><code>-</code></td><td>Use per-module <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> setting instead.</td></tr>
+<tr><td><code>SSL_Connect</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_ClientAuth</code> <em>arg</em></td><td><code>SSLVerifyClient</code> <em>arg</em></td><td>renamed</td></tr>
+<tr><td><code>SSL_X509VerifyDepth</code> <em>arg</em></td><td><code>SSLVerifyDepth</code> <em>arg</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_FetchKeyPhraseFrom</code> <em>arg</em></td><td>-</td><td>not directly mappable; use SSLPassPhraseDialog</td></tr>
+<tr><td><code>SSL_SessionDir</code> <em>dir</em></td><td>-</td><td>not directly mappable; use SSLSessionCache</td></tr>
+<tr class="odd"><td><code>SSL_Require</code> <em>expr</em></td><td>-</td><td>not directly mappable; use SSLRequire</td></tr>
+<tr><td><code>SSL_CertFileType</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr class="odd"><td><code>SSL_KeyFileType</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr><td><code>SSL_X509VerifyPolicy</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr class="odd"><td><code>SSL_LogX509Attributes</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr class="header"><th colspan="3">Stronghold 2.x compatibility:</th></tr>
+<tr><td><code>StrongholdAccelerator</code> <em>engine</em></td><td><code>SSLCryptoDevice</code> <em>engine</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>StrongholdKey</code> <em>dir</em></td><td>-</td><td>functionality not needed</td></tr>
+<tr><td><code>StrongholdLicenseFile</code> <em>dir</em></td><td>-</td><td>functionality not needed</td></tr>
+<tr class="odd"><td><code>SSLFlag</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renamed</td></tr>
+<tr><td><code>SSLSessionLockFile</code> <em>file</em></td><td><code>SSLMutex</code> <em>file</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSLCipherList</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renamed</td></tr>
+<tr><td><code>RequireSSL</code></td><td><code>SSLRequireSSL</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSLErrorFile</code> <em>file</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr><td><code>SSLRoot</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr class="odd"><td><code>SSL_CertificateLogDir</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr><td><code>AuthCertDir</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr class="odd"><td><code>SSL_Group</code> <em>name</em></td><td>-</td><td>functionality not supported</td></tr>
+<tr><td><code>SSLProxyMachineCertPath</code> <em>dir</em></td><td><code>SSLProxyMachineCertificatePath</code> <em>dir</em></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSLProxyMachineCertFile</code> <em>file</em></td><td><code>SSLProxyMachineCertificateFile</code> <em>file</em></td><td>renamed</td></tr>
+<tr><td><code>SSLProxyCipherList</code> <em>spec</em></td><td><code>SSLProxyCipherSpec</code> <em>spec</em></td><td>renamed</td></tr>
+</table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="variables" id="variables">Environment Variables</a></h2>
+
+<p>The mapping between environment variable names used by the older
+SSL solutions and the names used by mod_ssl is given in <a href="#table2">Table 2</a>.</p>
+
+<h3><a name="table2" id="table2">Table 2: Environment Variable Derivation</a></h3>
+
+<table><tr class="header"><th>Old Variable</th><th>mod_ssl Variable</th><th>Comment</th></tr>
+<tr><td><code>SSL_PROTOCOL_VERSION</code></td><td><code>SSL_PROTOCOL</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renamed</td></tr>
+<tr><td><code>HTTPS_SECRETKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>HTTPS_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renamed</td></tr>
+<tr><td><code>HTTPS_CIPHER</code></td><td><code>SSL_CIPHER</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>HTTPS_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERTIFICATE</code></td><td><code>SSL_SERVER_CERT</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_CERT_START</code></td><td><code>SSL_SERVER_V_START</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERT_END</code></td><td><code>SSL_SERVER_V_END</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_CERT_SERIAL</code></td><td><code>SSL_SERVER_M_SERIAL</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_SIGNATURE_ALGORITHM</code></td><td><code>SSL_SERVER_A_SIG</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_DN</code></td><td><code>SSL_SERVER_S_DN</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CN</code></td><td><code>SSL_SERVER_S_DN_CN</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_EMAIL</code></td><td><code>SSL_SERVER_S_DN_Email</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_O</code></td><td><code>SSL_SERVER_S_DN_O</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_OU</code></td><td><code>SSL_SERVER_S_DN_OU</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_C</code></td><td><code>SSL_SERVER_S_DN_C</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_SP</code></td><td><code>SSL_SERVER_S_DN_SP</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_L</code></td><td><code>SSL_SERVER_S_DN_L</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_IDN</code></td><td><code>SSL_SERVER_I_DN</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_ICN</code></td><td><code>SSL_SERVER_I_DN_CN</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_IEMAIL</code></td><td><code>SSL_SERVER_I_DN_Email</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IO</code></td><td><code>SSL_SERVER_I_DN_O</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_IOU</code></td><td><code>SSL_SERVER_I_DN_OU</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IC</code></td><td><code>SSL_SERVER_I_DN_C</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SERVER_ISP</code></td><td><code>SSL_SERVER_I_DN_SP</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IL</code></td><td><code>SSL_SERVER_I_DN_L</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_CERTIFICATE</code></td><td><code>SSL_CLIENT_CERT</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_CERT_START</code></td><td><code>SSL_CLIENT_V_START</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_CERT_END</code></td><td><code>SSL_CLIENT_V_END</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_CERT_SERIAL</code></td><td><code>SSL_CLIENT_M_SERIAL</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_SIGNATURE_ALGORITHM</code></td><td><code>SSL_CLIENT_A_SIG</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_DN</code></td><td><code>SSL_CLIENT_S_DN</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_CN</code></td><td><code>SSL_CLIENT_S_DN_CN</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_EMAIL</code></td><td><code>SSL_CLIENT_S_DN_Email</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_O</code></td><td><code>SSL_CLIENT_S_DN_O</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_OU</code></td><td><code>SSL_CLIENT_S_DN_OU</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_C</code></td><td><code>SSL_CLIENT_S_DN_C</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_SP</code></td><td><code>SSL_CLIENT_S_DN_SP</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_L</code></td><td><code>SSL_CLIENT_S_DN_L</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IDN</code></td><td><code>SSL_CLIENT_I_DN</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_ICN</code></td><td><code>SSL_CLIENT_I_DN_CN</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IEMAIL</code></td><td><code>SSL_CLIENT_I_DN_Email</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_IO</code></td><td><code>SSL_CLIENT_I_DN_O</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IOU</code></td><td><code>SSL_CLIENT_I_DN_OU</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_IC</code></td><td><code>SSL_CLIENT_I_DN_C</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_ISP</code></td><td><code>SSL_CLIENT_I_DN_SP</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_CLIENT_IL</code></td><td><code>SSL_CLIENT_I_DN_L</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_SECKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renamed</td></tr>
+<tr><td><code>SSL_SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renamed</td></tr>
+<tr class="odd"><td><code>SSL_STRONG_CRYPTO</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEY_EXP</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_SESSIONDIR</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_CERTIFICATELOGDIR</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERTFILE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEYFILE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_KEYFILETYPE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr><td><code>SSL_CLIENT_KEY_EXP</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+<tr><td><code>SSL_CLIENT_KEY_SIZE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
+</table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="customlog" id="customlog">Custom Log Functions</a></h2>
+<p>
+When mod_ssl is enabled, additional functions exist for the <a href="../mod/mod_log_config.html#formats">Custom Log Format</a> of
+<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> as documented in the Reference
+Chapter. Beside the ``<code>%{</code><em>varname</em><code>}x</code>''
+eXtension format function which can be used to expand any variables provided
+by any module, an additional Cryptography
+``<code>%{</code><em>name</em><code>}c</code>'' cryptography format function
+exists for backward compatibility. The currently implemented function calls
+are listed in <a href="#table3">Table 3</a>.</p>
+
+<h3><a name="table3" id="table3">Table 3: Custom Log Cryptography Function</a></h3>
+
+<table>
+
+<tr><th>Function Call</th><th>Description</th></tr>
+
+<tr><td><code>%...{version}c</code></td> <td>SSL protocol version</td></tr>
+<tr><td><code>%...{cipher}c</code></td> <td>SSL cipher</td></tr>
+<tr><td><code>%...{subjectdn}c</code></td> <td>Client Certificate Subject Distinguished Name</td></tr>
+<tr><td><code>%...{issuerdn}c</code></td> <td>Client Certificate Issuer Distinguished Name</td></tr>
+<tr><td><code>%...{errcode}c</code></td> <td>Certificate Verification Error (numerical)</td></tr>
+
+<tr><td><code>%...{errstr}c</code></td> <td>Certificate Verification Error (string)</td></tr>
+</table>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_compat.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_compat.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_compat.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_compat.html.fr.utf8 b/docs/manual/ssl/ssl_compat.html.fr.utf8
new file mode 100644
index 0000000..d1bc973
--- /dev/null
+++ b/docs/manual/ssl/ssl_compat.html.fr.utf8
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Chiffrement fort SSL/TLS : Compatibilité - Serveur HTTP Apache Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur HTTP Apache Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement fort SSL/TLS : Compatibilité</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_compat.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_compat.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+
+<p>Ce document couvre la compatibilité ascendante entre mod_ssl et
+d'autres solutions SSL. mod_ssl n'est pas la seule solution SSL pour Apache ;
+quatre autres produits sont (ou ont été) également disponibles :
+<a href="http://www.apache-ssl.org/">Apache-SSL</a>, le produit libre de
+Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure
+Web Server, un produit commercial de Red Hat (basé sur mod_ssl),
+Raven SSL Module, un produit commercial
+de Covalent (basé lui aussi sur mod_ssl), et enfin <a href="http://www.redhat.com/explore/stronghold/">Stronghold</a>, produit
+commercial de C2Net et maintenant de Red Hat, (basé sur une branche
+d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur
+mod_ssl depuis Stronghold 3.x).</p>
+
+<p>En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de
+celles des autres solutions SSL, si bien qu'il est trÚs simple de
+migrer depuis un module plus ancien vers mod_ssl. Les directives de
+configuration et les noms des variables d'environnement utilisés par les
+solutions SSL plus anciennes diffÚrent de ceux qu'utilise mod_ssl ;
+les tableaux de correspondance ci-dessous fournissent les équivalences
+de termes utilisés par mod_ssl.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configuration">Directives de configuration</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#variables">Variables d'environnement</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#customlog">Fonctions de personnalisation des journaux</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="configuration" id="configuration">Directives de configuration</a></h2>
+<p>La correspondance entre les directives de configuration qu'utilise
+Apache-SSL 1.x et mod_ssl 2.0.x est fournie dans le <a href="#table1">Tableau
+1</a>. La correspondance depuis Sioux 1.x et Stronghold 2.x n'est que
+partielle car certaines fonctionnalités de ces interfaces ne sont pas
+supportées par mod_ssl.</p>
+
+
+<h3><a name="table1" id="table1">Tableau 1: Correspondance entre les directives de configuration</a></h3>
+
+<table><tr class="header"><th>Ancienne directive</th><th>Directive mod_ssl</th><th>Commentaires</th></tr>
+<tr class="header"><th colspan="3">Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x :</th></tr>
+<tr><td><code>SSLEnable</code></td><td><code>SSLEngine on</code></td><td>plus compacte</td></tr>
+<tr class="odd"><td><code>SSLDisable</code></td><td><code>SSLEngine off</code></td><td>plus compacte</td></tr>
+<tr><td><code>SSLLogFile</code>
+<em>file</em></td><td><code /></td><td>Utilisez plutÃŽt la directive
+de niveau module <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>.</td></tr>
+<tr class="odd"><td><code>SSLRequiredCiphers</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renommée</td></tr>
+<tr><td><code>SSLRequireCipher</code> <em>c1</em> ...</td><td><code>SSLRequire %{SSL_CIPHER} in {"</code><em>c1</em><code>",
+...}</code></td><td>plus générale</td></tr>
+<tr class="odd"><td><code>SSLBanCipher</code> <em>c1</em> ...</td><td><code>SSLRequire not (%{SSL_CIPHER} in {"</code><em>c1</em><code>",
+...})</code></td><td>plus générale</td></tr>
+<tr><td><code>SSLFakeBasicAuth</code></td><td><code>SSLOptions +FakeBasicAuth</code></td><td>rassemblées</td></tr>
+<tr class="odd"><td><code>SSLCacheServerPath</code> <em>dir</em></td><td>-</td><td>fonctionnalité supprimée</td></tr>
+<tr><td><code>SSLCacheServerPort</code> <em>integer</em></td><td>-</td><td>fonctionnalité supprimée</td></tr>
+<tr class="header"><th colspan="3">Compatibilité avec Apache-SSL 1.x :</th></tr>
+<tr class="odd"><td><code>SSLExportClientCertificates</code></td><td><code>SSLOptions +ExportCertData</code></td><td>rassemblées</td></tr>
+<tr><td><code>SSLCacheServerRunDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="header"><th colspan="3">Compatibilité avec Sioux 1.x :</th></tr>
+<tr class="odd"><td><code>SSL_CertFile</code> <em>file</em></td><td><code>SSLCertificateFile</code> <em>file</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_KeyFile</code> <em>file</em></td><td><code>SSLCertificateKeyFile</code> <em>file</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CipherSuite</code> <em>arg</em></td><td><code>SSLCipherSuite</code> <em>arg</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_X509VerifyDir</code> <em>arg</em></td><td><code>SSLCACertificatePath</code> <em>arg</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_Log</code>
+<em>file</em></td><td><code>-</code></td><td>Utilisez plutÃŽt la directive
+de niveau module <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code></td></tr>
+<tr><td><code>SSL_Connect</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_ClientAuth</code> <em>arg</em></td><td><code>SSLVerifyClient</code> <em>arg</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_X509VerifyDepth</code> <em>arg</em></td><td><code>SSLVerifyDepth</code> <em>arg</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_FetchKeyPhraseFrom</code> <em>arg</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLPassPhraseDialog</td></tr>
+<tr><td><code>SSL_SessionDir</code> <em>dir</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLSessionCache</td></tr>
+<tr class="odd"><td><code>SSL_Require</code> <em>expr</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLRequire</td></tr>
+<tr><td><code>SSL_CertFileType</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_KeyFileType</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>SSL_X509VerifyPolicy</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_LogX509Attributes</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="header"><th colspan="3">Compatibilité avec Stronghold 2.x :</th></tr>
+<tr><td><code>StrongholdAccelerator</code> <em>engine</em></td><td><code>SSLCryptoDevice</code> <em>engine</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>StrongholdKey</code> <em>dir</em></td><td>-</td><td>sans objet</td></tr>
+<tr><td><code>StrongholdLicenseFile</code> <em>dir</em></td><td>-</td><td>sans objet</td></tr>
+<tr class="odd"><td><code>SSLFlag</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renommée</td></tr>
+<tr><td><code>SSLSessionLockFile</code> <em>file</em></td><td><code>SSLMutex</code> <em>file</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLCipherList</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renommée</td></tr>
+<tr><td><code>RequireSSL</code></td><td><code>SSLRequireSSL</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLErrorFile</code> <em>file</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>SSLRoot</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_CertificateLogDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>AuthCertDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_Group</code> <em>name</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>SSLProxyMachineCertPath</code> <em>dir</em></td><td><code>SSLProxyMachineCertificatePath</code> <em>dir</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLProxyMachineCertFile</code> <em>file</em></td><td><code>SSLProxyMachineCertificateFile</code> <em>file</em></td><td>renommée</td></tr>
+<tr><td><code>SSLProxyCipherList</code> <em>spec</em></td><td><code>SSLProxyCipherSpec</code> <em>spec</em></td><td>renommée</td></tr>
+</table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="variables" id="variables">Variables d'environnement</a></h2>
+
+<p>La correspondance entre les noms des variables d'environnement utilisés par
+les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie
+dans le <a href="#table2">Tableau 2</a>.</p>
+
+<h3><a name="table2" id="table2">Tableau 2: Dérivation des variables d'environnement</a></h3>
+
+<table><tr class="header"><th>Ancienne variable</th><th>Variable mod_ssl</th><th>Commentaires</th></tr>
+<tr><td><code>SSL_PROTOCOL_VERSION</code></td><td><code>SSL_PROTOCOL</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renommée</td></tr>
+<tr><td><code>HTTPS_SECRETKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>HTTPS_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
+<tr><td><code>HTTPS_CIPHER</code></td><td><code>SSL_CIPHER</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>HTTPS_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERTIFICATE</code></td><td><code>SSL_SERVER_CERT</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_CERT_START</code></td><td><code>SSL_SERVER_V_START</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERT_END</code></td><td><code>SSL_SERVER_V_END</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_CERT_SERIAL</code></td><td><code>SSL_SERVER_M_SERIAL</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_SIGNATURE_ALGORITHM</code></td><td><code>SSL_SERVER_A_SIG</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_DN</code></td><td><code>SSL_SERVER_S_DN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CN</code></td><td><code>SSL_SERVER_S_DN_CN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_EMAIL</code></td><td><code>SSL_SERVER_S_DN_Email</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_O</code></td><td><code>SSL_SERVER_S_DN_O</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_OU</code></td><td><code>SSL_SERVER_S_DN_OU</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_C</code></td><td><code>SSL_SERVER_S_DN_C</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_SP</code></td><td><code>SSL_SERVER_S_DN_SP</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_L</code></td><td><code>SSL_SERVER_S_DN_L</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_IDN</code></td><td><code>SSL_SERVER_I_DN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_ICN</code></td><td><code>SSL_SERVER_I_DN_CN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_IEMAIL</code></td><td><code>SSL_SERVER_I_DN_Email</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IO</code></td><td><code>SSL_SERVER_I_DN_O</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_IOU</code></td><td><code>SSL_SERVER_I_DN_OU</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IC</code></td><td><code>SSL_SERVER_I_DN_C</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_ISP</code></td><td><code>SSL_SERVER_I_DN_SP</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IL</code></td><td><code>SSL_SERVER_I_DN_L</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_CERTIFICATE</code></td><td><code>SSL_CLIENT_CERT</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_CERT_START</code></td><td><code>SSL_CLIENT_V_START</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_CERT_END</code></td><td><code>SSL_CLIENT_V_END</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_CERT_SERIAL</code></td><td><code>SSL_CLIENT_M_SERIAL</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_SIGNATURE_ALGORITHM</code></td><td><code>SSL_CLIENT_A_SIG</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_DN</code></td><td><code>SSL_CLIENT_S_DN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_CN</code></td><td><code>SSL_CLIENT_S_DN_CN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_EMAIL</code></td><td><code>SSL_CLIENT_S_DN_Email</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_O</code></td><td><code>SSL_CLIENT_S_DN_O</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_OU</code></td><td><code>SSL_CLIENT_S_DN_OU</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_C</code></td><td><code>SSL_CLIENT_S_DN_C</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_SP</code></td><td><code>SSL_CLIENT_S_DN_SP</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_L</code></td><td><code>SSL_CLIENT_S_DN_L</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IDN</code></td><td><code>SSL_CLIENT_I_DN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_ICN</code></td><td><code>SSL_CLIENT_I_DN_CN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IEMAIL</code></td><td><code>SSL_CLIENT_I_DN_Email</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_IO</code></td><td><code>SSL_CLIENT_I_DN_O</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IOU</code></td><td><code>SSL_CLIENT_I_DN_OU</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_IC</code></td><td><code>SSL_CLIENT_I_DN_C</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_ISP</code></td><td><code>SSL_CLIENT_I_DN_SP</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_IL</code></td><td><code>SSL_CLIENT_I_DN_L</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SECKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_STRONG_CRYPTO</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEY_EXP</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_SESSIONDIR</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_CERTIFICATELOGDIR</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERTFILE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEYFILE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_KEYFILETYPE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_CLIENT_KEY_EXP</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_CLIENT_KEY_SIZE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+</table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="customlog" id="customlog">Fonctions de personnalisation des journaux</a></h2>
+<p>Quand mod_ssl est activé, le <a href="../mod/mod_log_config.html#formats">Format de journal courant
+(Custom Log Format)</a> du module <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> possÚde
+des fonctions supplémentaires comme indiqué dans le chapitre de référence.
+En plus de la fonction de format étendu
+``<code>%{</code><em>varname</em><code>}x</code>'' que l'on peut utiliser pour
+extraire le contenu d'une variable fournie par n'importe quel module,
+la fonction
+de format cryptographique ``<code>%{</code><em>name</em><code>}c</code>'' a
+été ajoutée à des fins de compatibilité ascendante. Les appels de fonctions
+actuellement implémentés sont énumérés dans le
+<a href="#table3">Tableau 3</a>.</p>
+
+<h3><a name="table3" id="table3">Table 3: Fonctions cryptographiques du format de journal courant</a></h3>
+
+<table>
+
+<tr><th>Appel de fonction</th><th>Description</th></tr>
+
+<tr><td><code>%...{version}c</code></td> <td>Version du protocole SSL</td></tr>
+<tr><td><code>%...{cipher}c</code></td> <td>Chiffrement SSL</td></tr>
+<tr><td><code>%...{subjectdn}c</code></td> <td>Nom distinctif du sujet du certificat du client</td></tr>
+<tr><td><code>%...{issuerdn}c</code></td> <td>Nom distinctif de l'émetteur du certificat du client</td></tr>
+<tr><td><code>%...{errcode}c</code></td> <td>Erreur lors de la vérification du certificat (numérique)</td></tr>
+
+<tr><td><code>%...{errstr}c</code></td> <td>Erreur lors de la vérification du certificat (chaîne de caractÚres)</td></tr>
+</table>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_compat.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_compat.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_compat.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_faq.html b/docs/manual/ssl/ssl_faq.html
new file mode 100644
index 0000000..605f4be
--- /dev/null
+++ b/docs/manual/ssl/ssl_faq.html
@@ -0,0 +1,9 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: ssl_faq.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: ssl_faq.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/ssl/ssl_faq.html.en b/docs/manual/ssl/ssl_faq.html.en
new file mode 100644
index 0000000..919f5d8
--- /dev/null
+++ b/docs/manual/ssl/ssl_faq.html.en
@@ -0,0 +1,935 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>SSL/TLS Strong Encryption: FAQ - Apache HTTP Server Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>SSL/TLS Strong Encryption: FAQ</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_faq.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_faq.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<blockquote>
+<p>The wise man doesn't give the right answers,
+he poses the right questions.</p>
+<p class="cite">-- <cite>Claude Levi-Strauss</cite></p>
+
+</blockquote>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#installation">Installation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#aboutconfig">Configuration</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#aboutcerts">Certificates</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#aboutssl">The SSL Protocol</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#support">mod_ssl Support</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="installation" id="installation">Installation</a></h2>
+<ul>
+<li><a href="#mutex">Why do I get permission errors related to
+SSLMutex when I start Apache?</a></li>
+<li><a href="#entropy">Why does mod_ssl stop with the error "Failed to
+generate temporary 512 bit RSA private key" when I start Apache?</a></li>
+</ul>
+
+<h3><a name="mutex" id="mutex">Why do I get permission errors related to
+ SSLMutex when I start Apache?</a></h3>
+ <p>Errors such as ``<code>mod_ssl: Child could not open
+ SSLMutex lockfile /opt/apache/logs/ssl_mutex.18332 (System error follows)
+ [...] System: Permission denied (errno: 13)</code>'' are usually
+ caused by overly restrictive permissions on the <em>parent</em> directories.
+ Make sure that all parent directories (here <code>/opt</code>,
+ <code>/opt/apache</code> and <code>/opt/apache/logs</code>) have the x-bit
+ set for, at minimum, the UID under which Apache's children are running (see
+ the <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> directive).</p>
+
+
+<h3><a name="entropy" id="entropy">Why does mod_ssl stop with the error
+ "Failed to generate temporary 512 bit RSA private key" when I start
+ Apache?</a></h3>
+ <p>Cryptographic software needs a source of unpredictable data
+ to work correctly. Many open source operating systems provide
+ a "randomness device" that serves this purpose (usually named
+ <code>/dev/random</code>). On other systems, applications have to
+ seed the OpenSSL Pseudo Random Number Generator (PRNG) manually with
+ appropriate data before generating keys or performing public key
+ encryption. As of version 0.9.5, the OpenSSL functions that need
+ randomness report an error if the PRNG has not been seeded with
+ at least 128 bits of randomness.</p>
+ <p>To prevent this error, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> has to provide
+ enough entropy to the PRNG to allow it to work correctly. This can
+ be done via the <code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</a></code>
+ directive.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="aboutconfig" id="aboutconfig">Configuration</a></h2>
+<ul>
+<li><a href="#parallel">Is it possible to provide HTTP and HTTPS from
+the same server?</a></li>
+<li><a href="#ports">Which port does HTTPS use?</a></li>
+<li><a href="#httpstest">How do I speak HTTPS manually for testing
+purposes?</a></li>
+<li><a href="#hang">Why does the connection hang when I connect to my
+SSL-aware Apache server?</a></li>
+<li><a href="#refused">Why do I get ``Connection Refused'' errors, when
+trying to access my newly installed Apache+mod_ssl server via HTTPS?</a></li>
+<li><a href="#envvars">Why are the <code>SSL_XXX</code> variables not
+available to my CGI &amp; SSI scripts?</a></li>
+<li><a href="#relative">How can I switch between HTTP and HTTPS in
+relative hyperlinks?</a></li>
+</ul>
+
+<h3><a name="parallel" id="parallel">Is it possible to provide HTTP and HTTPS
+ from the same server?</a></h3>
+ <p>Yes. HTTP and HTTPS use different server ports (HTTP binds to
+ port 80, HTTPS to port 443), so there is no direct conflict between
+ them. You can either run two separate server instances bound to
+ these ports, or use Apache's elegant virtual hosting facility to
+ create two virtual servers, both served by the same instance of Apache
+ - one responding over HTTP to requests on port 80, and the other
+ responding over HTTPS to requests on port 443.</p>
+
+
+<h3><a name="ports" id="ports">Which port does HTTPS use?</a></h3>
+<p>You can run HTTPS on any port, but the standards specify port 443, which
+ is where any HTTPS compliant browser will look by default. You can force
+ your browser to look on a different port by specifying it in the URL. For
+ example, if your server is set up to serve pages over HTTPS on port 8080,
+ you can access them at <code>https://example.com:8080/</code></p>
+
+
+<h3><a name="httpstest" id="httpstest">How do I speak HTTPS manually for testing purposes?</a></h3>
+ <p>While you usually just use</p>
+
+ <div class="example"><p><code>$ telnet localhost 80<br />
+ GET / HTTP/1.0</code></p></div>
+
+ <p>for simple testing of Apache via HTTP, it's not so easy for
+ HTTPS because of the SSL protocol between TCP and HTTP. With the
+ help of OpenSSL's <code>s_client</code> command, however, you can
+ do a similar check via HTTPS:</p>
+
+ <div class="example"><p><code>$ openssl s_client -connect localhost:443 -state -debug<br />
+ GET / HTTP/1.0</code></p></div>
+
+ <p>Before the actual HTTP response you will receive detailed
+ information about the SSL handshake. For a more general command
+ line client which directly understands both HTTP and HTTPS, can
+ perform GET and POST operations, can use a proxy, supports byte
+ ranges, etc. you should have a look at the nifty
+ <a href="http://curl.haxx.se/">cURL</a> tool. Using this, you can
+ check that Apache is responding correctly to requests via HTTP and
+ HTTPS as follows:</p>
+
+ <div class="example"><p><code>$ curl http://localhost/<br />
+ $ curl https://localhost/</code></p></div>
+
+
+<h3><a name="hang" id="hang">Why does the connection hang when I connect
+ to my SSL-aware Apache server?</a></h3>
+
+<p>This can happen when you try to connect to a HTTPS server (or virtual
+ server) via HTTP (eg, using <code>http://example.com/</code> instead of
+ <code>https://example.com</code>). It can also happen when trying to
+ connect via HTTPS to a HTTP server (eg, using
+ <code>https://example.com/</code> on a server which doesn't support HTTPS,
+ or which supports it on a non-standard port). Make sure that you're
+ connecting to a (virtual) server that supports SSL.</p>
+
+<h3><a name="refused" id="refused">Why do I get ``Connection Refused'' messages,
+ when trying to access my newly installed Apache+mod_ssl server via HTTPS?</a></h3>
+<p>
+ This error can be caused by an incorrect configuration.
+ Please make sure that your <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> directives match your
+ <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
+ directives. If all else fails, please start afresh, using the default
+ configuration provided by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
+
+
+<h3><a name="envvars" id="envvars">Why are the <code>SSL_XXX</code> variables
+ not available to my CGI &amp; SSI scripts?</a></h3>
+<p>Please make sure you have ``<code>SSLOptions +StdEnvVars</code>''
+ enabled for the context of your CGI/SSI requests.</p>
+
+
+<h3><a name="relative" id="relative">How can I switch between HTTP and HTTPS in relative
+ hyperlinks?</a></h3>
+
+<p>Usually, to switch between HTTP and HTTPS, you have to use
+ fully-qualified hyperlinks (because you have to change the URL
+ scheme). Using <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> however, you can
+ manipulate relative hyperlinks, to achieve the same effect.</p>
+ <pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/(.*)_SSL$" "https://%{SERVER_NAME}/$1" [R,L]
+RewriteRule "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1" [R,L]</pre>
+
+
+ <p>This rewrite ruleset lets you use hyperlinks of the form
+ <code>&lt;a href="document.html_SSL"&gt;</code>, to switch to HTTPS
+ in a relative link. (Replace SSL with NOSSL to switch to HTTP.)</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="aboutcerts" id="aboutcerts">Certificates</a></h2>
+<ul>
+<li><a href="#keyscerts">What are RSA Private Keys, CSRs and
+Certificates?</a></li>
+<li><a href="#startup">Is there a difference on startup between
+a non-SSL-aware Apache and an SSL-aware Apache?</a></li>
+<li><a href="#selfcert">How do I create a self-signed SSL
+Certificate for testing purposes?</a></li>
+<li><a href="#realcert">How do I create a real SSL Certificate?</a></li>
+<li><a href="#ownca">How do I create and use my own Certificate
+Authority (CA)?</a></li>
+<li><a href="#passphrase">How can I change the pass-phrase on my private
+key file?</a></li>
+<li><a href="#removepassphrase">How can I get rid of the pass-phrase
+dialog at Apache startup time?</a></li>
+<li><a href="#verify">How do I verify that a private key matches its
+Certificate?</a></li>
+<li><a href="#pemder">How can I convert a certificate from PEM to DER
+format?</a></li>
+<li><a href="#gid">Why do browsers complain that they cannot
+verify my server certificate?</a></li>
+</ul>
+
+<h3><a name="keyscerts" id="keyscerts">What are RSA Private Keys, CSRs and Certificates?</a></h3>
+<p>An RSA private key file is a digital file that you can use to decrypt
+ messages sent to you. It has a public component which you distribute (via
+ your Certificate file) which allows people to encrypt those messages to
+ you.</p>
+ <p>A Certificate Signing Request (CSR) is a digital file which contains
+ your public key and your name. You send the CSR to a Certifying Authority
+ (CA), who will convert it into a real Certificate, by signing it.</p>
+ <p>A Certificate contains your
+ RSA public key, your name, the name of the CA, and is digitally signed by
+ the CA. Browsers that know the CA can verify the signature on that
+ Certificate, thereby obtaining your RSA public key. That enables them to
+ send messages which only you can decrypt.</p>
+ <p>See the <a href="ssl_intro.html">Introduction</a> chapter for a general
+ description of the SSL protocol.</p>
+
+
+<h3><a name="startup" id="startup">Is there a difference on startup between
+ a non-SSL-aware Apache and an SSL-aware Apache?</a></h3>
+<p>Yes. In general, starting Apache with
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> built-in is just like starting Apache
+ without it. However, if you have a passphrase on your SSL private
+ key file, a startup dialog will pop up which asks you to enter the
+ pass phrase.</p>
+
+ <p>Having to manually enter the passphrase when starting the server
+ can be problematic - for example, when starting the server from the
+ system boot scripts. In this case, you can follow the steps
+ <a href="#removepassphrase">below</a> to remove the passphrase from
+ your private key. Bear in mind that doing so brings additional security
+ risks - proceed with caution!</p>
+
+
+<h3><a name="selfcert" id="selfcert">How do I create a self-signed SSL
+Certificate for testing purposes?</a></h3>
+ <ol>
+ <li>Make sure OpenSSL is installed and in your <code>PATH</code>.<br />
+ <br />
+ </li>
+ <li>Run the following command, to create <code>server.key</code> and
+ <code>server.crt</code> files:<br />
+ <code><strong>$ openssl req -new -x509 -nodes -out server.crt
+ -keyout server.key</strong></code><br />
+ These can be used as follows in your <code>httpd.conf</code>
+ file:
+ <pre class="prettyprint lang-config">SSLCertificateFile "/path/to/this/server.crt"
+SSLCertificateKeyFile "/path/to/this/server.key"</pre>
+
+ </li>
+ <li>It is important that you are aware that this
+ <code>server.key</code> does <em>not</em> have any passphrase.
+ To add a passphrase to the key, you should run the following
+ command, and enter &amp; verify the passphrase as requested.<br />
+ <p><code><strong>$ openssl rsa -des3 -in server.key -out
+ server.key.new</strong></code><br />
+ <code><strong>$ mv server.key.new server.key</strong></code><br /></p>
+ Please backup the <code>server.key</code> file, and the passphrase
+ you entered, in a secure location.
+ </li>
+ </ol>
+
+
+<h3><a name="realcert" id="realcert">How do I create a real SSL Certificate?</a></h3>
+<p>Here is a step-by-step description:</p>
+ <ol>
+ <li>Make sure OpenSSL is installed and in your <code>PATH</code>.
+ <br />
+ <br />
+ </li>
+ <li>Create a RSA private key for your Apache server
+ (will be Triple-DES encrypted and PEM formatted):<br />
+ <br />
+ <code><strong>$ openssl genrsa -des3 -out server.key 2048</strong></code><br />
+ <br />
+ Please backup this <code>server.key</code> file and the
+ pass-phrase you entered in a secure location.
+ You can see the details of this RSA private key by using the command:<br />
+
+ <br />
+ <code><strong>$ openssl rsa -noout -text -in server.key</strong></code><br />
+ <br />
+ If necessary, you can also create a decrypted PEM version (not
+ recommended) of this RSA private key with:<br />
+ <br />
+ <code><strong>$ openssl rsa -in server.key -out server.key.unsecure</strong></code><br />
+ <br />
+
+ </li>
+ <li>Create a Certificate Signing Request (CSR) with the server RSA private
+ key (output will be PEM formatted):<br />
+ <br />
+ <code><strong>$ openssl req -new -key server.key -out server.csr</strong></code><br />
+ <br />
+ Make sure you enter the FQDN ("Fully Qualified Domain Name") of the
+ server when OpenSSL prompts you for the "CommonName", i.e. when you
+ generate a CSR for a website which will be later accessed via
+ <code>https://www.foo.dom/</code>, enter "www.foo.dom" here.
+ You can see the details of this CSR by using<br />
+
+ <br />
+ <code><strong>$ openssl req -noout -text -in server.csr</strong></code><br />
+ <br />
+ </li>
+ <li>You now have to send this Certificate Signing Request (CSR) to
+ a Certifying Authority (CA) to be signed. Once the CSR has been
+ signed, you will have a real Certificate, which can be used by
+ Apache. You can have a CSR signed by a commercial CA, or you can
+ create your own CA to sign it.<br />
+ Commercial CAs usually ask you to post the CSR into a web form,
+ pay for the signing, and then send a signed Certificate, which
+ you can store in a server.crt file.<br />
+
+ For details on how to create your own CA, and use this to sign
+ a CSR, see <a href="#ownca">below</a>.<br />
+
+ Once your CSR has been signed, you can see the details of the
+ Certificate as follows:<br />
+ <br />
+ <code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
+
+ </li>
+ <li>You should now have two files: <code>server.key</code> and
+ <code>server.crt</code>. These can be used as follows in your
+ <code>httpd.conf</code> file:
+ <pre class="prettyprint lang-config">SSLCertificateFile "/path/to/this/server.crt"
+SSLCertificateKeyFile "/path/to/this/server.key"</pre>
+
+ The <code>server.csr</code> file is no longer needed.
+ </li>
+
+ </ol>
+
+
+<h3><a name="ownca" id="ownca">How do I create and use my own Certificate Authority (CA)?</a></h3>
+ <p>The short answer is to use the <code>CA.sh</code> or <code>CA.pl</code>
+ script provided by OpenSSL. Unless you have a good reason not to,
+ you should use these for preference. If you cannot, you can create a
+ self-signed certificate as follows:</p>
+
+ <ol>
+ <li>Create a RSA private key for your server
+ (will be Triple-DES encrypted and PEM formatted):<br />
+ <br />
+ <code><strong>$ openssl genrsa -des3 -out server.key 2048</strong></code><br />
+ <br />
+ Please backup this <code>server.key</code> file and the
+ pass-phrase you entered in a secure location.
+ You can see the details of this RSA private key by using the
+ command:<br />
+ <br />
+ <code><strong>$ openssl rsa -noout -text -in server.key</strong></code><br />
+ <br />
+ If necessary, you can also create a decrypted PEM version (not
+ recommended) of this RSA private key with:<br />
+ <br />
+ <code><strong>$ openssl rsa -in server.key -out server.key.unsecure</strong></code><br />
+ <br />
+ </li>
+ <li>Create a self-signed certificate (X509 structure)
+ with the RSA key you just created (output will be PEM formatted):<br />
+ <br />
+ <code><strong>$ openssl req -new -x509 -nodes -sha1 -days 365
+ -key server.key -out server.crt -extensions usr_cert</strong></code><br />
+ <br />
+ This signs the server CSR and results in a <code>server.crt</code> file.<br />
+ You can see the details of this Certificate using:<br />
+ <br />
+ <code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
+ <br />
+ </li>
+ </ol>
+
+
+<h3><a name="passphrase" id="passphrase">How can I change the pass-phrase on my private key file?</a></h3>
+<p>You simply have to read it with the old pass-phrase and write it again,
+ specifying the new pass-phrase. You can accomplish this with the following
+ commands:</p>
+
+
+ <p><code><strong>$ openssl rsa -des3 -in server.key -out server.key.new</strong></code><br />
+ <code><strong>$ mv server.key.new server.key</strong></code><br /></p>
+
+ <p>The first time you're asked for a PEM pass-phrase, you should
+ enter the old pass-phrase. After that, you'll be asked again to
+ enter a pass-phrase - this time, use the new pass-phrase. If you
+ are asked to verify the pass-phrase, you'll need to enter the new
+ pass-phrase a second time.</p>
+
+
+<h3><a name="removepassphrase" id="removepassphrase">How can I get rid of the pass-phrase dialog at Apache startup time?</a></h3>
+<p>The reason this dialog pops up at startup and every re-start
+ is that the RSA private key inside your server.key file is stored in
+ encrypted format for security reasons. The pass-phrase is needed to decrypt
+ this file, so it can be read and parsed. Removing the pass-phrase
+ removes a layer of security from your server - proceed with caution!</p>
+ <ol>
+ <li>Remove the encryption from the RSA private key (while
+ keeping a backup copy of the original file):<br />
+ <br />
+ <code><strong>$ cp server.key server.key.org</strong></code><br />
+ <code><strong>$ openssl rsa -in server.key.org -out server.key</strong></code><br />
+
+ <br />
+ </li>
+ <li>Make sure the server.key file is only readable by root:<br />
+ <br />
+ <code><strong>$ chmod 400 server.key</strong></code><br />
+ <br />
+ </li>
+ </ol>
+
+ <p>Now <code>server.key</code> contains an unencrypted copy of the key.
+ If you point your server at this file, it will not prompt you for a
+ pass-phrase. HOWEVER, if anyone gets this key they will be able to
+ impersonate you on the net. PLEASE make sure that the permissions on this
+ file are such that only root or the web server user can read it
+ (preferably get your web server to start as root but run as another
+ user, and have the key readable only by root).</p>
+
+ <p>As an alternative approach you can use the ``<code>SSLPassPhraseDialog
+ exec:/path/to/program</code>'' facility. Bear in mind that this is
+ neither more nor less secure, of course.</p>
+
+
+<h3><a name="verify" id="verify">How do I verify that a private key matches its Certificate?</a></h3>
+<p>A private key contains a series of numbers. Two of these numbers form
+ the "public key", the others are part of the "private key". The "public
+ key" bits are included when you generate a CSR, and subsequently form
+ part of the associated Certificate.</p>
+ <p>To check that the public key in your Certificate matches the public
+ portion of your private key, you simply need to compare these numbers.
+ To view the Certificate and the key run the commands:</p>
+
+ <p><code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
+ <code><strong>$ openssl rsa -noout -text -in server.key</strong></code></p>
+
+ <p>The `modulus' and the `public exponent' portions in the key and the
+ Certificate must match. As the public exponent is usually 65537
+ and it's difficult to visually check that the long modulus numbers
+ are the same, you can use the following approach:</p>
+
+ <p><code><strong>$ openssl x509 -noout -modulus -in server.crt | openssl md5</strong></code><br />
+ <code><strong>$ openssl rsa -noout -modulus -in server.key | openssl md5</strong></code></p>
+
+ <p>This leaves you with two rather shorter numbers to compare. It is,
+ in theory, possible that these numbers may be the same, without the
+ modulus numbers being the same, but the chances of this are
+ overwhelmingly remote.</p>
+ <p>Should you wish to check to which key or certificate a particular
+ CSR belongs you can perform the same calculation on the CSR as
+ follows:</p>
+
+ <p><code><strong>$ openssl req -noout -modulus -in server.csr | openssl md5</strong></code></p>
+
+
+<h3><a name="pemder" id="pemder">How can I convert a certificate from PEM to DER format?</a></h3>
+<p>The default certificate format for OpenSSL is PEM, which is simply
+ Base64 encoded DER, with header and footer lines. For some applications
+ (e.g. Microsoft Internet Explorer) you need the certificate in plain DER
+ format. You can convert a PEM file <code>cert.pem</code> into the
+ corresponding DER file <code>cert.der</code> using the following command:
+ <code><strong>$ openssl x509 -in cert.pem -out cert.der -outform DER</strong></code></p>
+
+
+<h3><a name="gid" id="gid">Why do browsers complain that they cannot verify my server certificate?</a></h3>
+
+ <p>One reason this might happen is because your server certificate is signed
+ by an intermediate CA. Various CAs, such as Verisign or Thawte, have started
+ signing certificates not with their root certificate but with intermediate
+ certificates.</p>
+
+ <p>Intermediate CA certificates lie between the root CA certificate (which is
+ installed in the browsers) and the server certificate (which you installed
+ on the server). In order for the browser to be able to traverse and verify
+ the trust chain from the server certificate to the root certificate it
+ needs need to be given the intermediate certificates. The CAs should
+ be able to provide you such intermediate certificate packages that can be
+ installed on the server.</p>
+
+ <p>You need to include those intermediate certificates with the
+ <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></code>
+ directive.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="aboutssl" id="aboutssl">The SSL Protocol</a></h2>
+<ul>
+<li><a href="#random">Why do I get lots of random SSL protocol
+errors under heavy server load?</a></li>
+<li><a href="#load">Why does my webserver have a higher load, now
+that it serves SSL encrypted traffic?</a></li>
+<li><a href="#establishing">Why do HTTPS connections to my server
+sometimes take up to 30 seconds to establish a connection?</a></li>
+<li><a href="#ciphers">What SSL Ciphers are supported by mod_ssl?</a></li>
+<li><a href="#adh">Why do I get ``no shared cipher'' errors, when
+trying to use Anonymous Diffie-Hellman (ADH) ciphers?</a></li>
+<li><a href="#sharedciphers">Why do I get a 'no shared ciphers'
+error when connecting to my newly installed server?</a></li>
+<li><a href="#vhosts">Why can't I use SSL with name-based/non-IP-based
+virtual hosts?</a></li>
+<li><a href="#vhosts2">Is it possible to use Name-Based Virtual
+Hosting to identify different SSL virtual hosts?</a></li>
+<li><a href="#comp">How do I get SSL compression working?</a></li>
+<li><a href="#lockicon">When I use Basic Authentication over HTTPS
+the lock icon in Netscape browsers stays unlocked when the dialog pops up.
+Does this mean the username/password is being sent unencrypted?</a></li>
+<li><a href="#msie">Why do I get I/O errors when connecting via
+HTTPS to an Apache+mod_ssl server with Microsoft Internet Explorer
+(MSIE)?</a></li>
+<li><a href="#srp">How do I enable TLS-SRP?</a></li>
+<li><a href="#javadh">Why do I get handshake failures with Java-based clients when using a certificate with more than 1024 bits?</a></li>
+</ul>
+
+<h3><a name="random" id="random">Why do I get lots of random SSL protocol
+errors under heavy server load?</a></h3>
+<p>There can be a number of reasons for this, but the main one
+ is problems with the SSL session Cache specified by the
+ <code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code> directive. The DBM session
+ cache is the most likely source of the problem, so using the SHM session cache (or
+ no cache at all) may help.</p>
+
+
+<h3><a name="load" id="load">Why does my webserver have a higher load, now
+that it serves SSL encrypted traffic?</a></h3>
+<p>SSL uses strong cryptographic encryption, which necessitates a lot of
+ number crunching. When you request a webpage via HTTPS, everything (even
+ the images) is encrypted before it is transferred. So increased HTTPS
+ traffic leads to load increases.</p>
+
+
+<h3><a name="establishing" id="establishing">Why do HTTPS connections to my server
+sometimes take up to 30 seconds to establish a connection?</a></h3>
+<p>This is usually caused by a <code>/dev/random</code> device for
+ <code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</a></code> which blocks the
+ read(2) call until enough entropy is available to service the
+ request. More information is available in the reference
+ manual for the <code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</a></code>
+ directive.</p>
+
+
+<h3><a name="ciphers" id="ciphers">What SSL Ciphers are supported by mod_ssl?</a></h3>
+<p>Usually, any SSL ciphers supported by the version of OpenSSL in use,
+ are also supported by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Which ciphers are
+ available can depend on the way you built OpenSSL. Typically, at
+ least the following ciphers are supported:</p>
+
+ <ol>
+ <li>RC4 with SHA1</li>
+ <li>AES with SHA1</li>
+ <li>Triple-DES with SHA1</li>
+ </ol>
+
+ <p>To determine the actual list of ciphers available, you should run
+ the following:</p>
+ <div class="example"><p><code>$ openssl ciphers -v</code></p></div>
+
+
+<h3><a name="adh" id="adh">Why do I get ``no shared cipher'' errors, when
+trying to use Anonymous Diffie-Hellman (ADH) ciphers?</a></h3>
+<p>By default, OpenSSL does <em>not</em> allow ADH ciphers, for security
+ reasons. Please be sure you are aware of the potential side-effects
+ if you choose to enable these ciphers.</p>
+ <p>In order to use Anonymous Diffie-Hellman (ADH) ciphers, you must
+ build OpenSSL with ``<code>-DSSL_ALLOW_ADH</code>'', and then add
+ ``<code>ADH</code>'' into your <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>.</p>
+
+
+<h3><a name="sharedciphers" id="sharedciphers">Why do I get a 'no shared ciphers'
+error when connecting to my newly installed server?</a></h3>
+<p>Either you have made a mistake with your
+ <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>
+ directive (compare it with the pre-configured example in
+ <code>extra/httpd-ssl.conf</code>) or you chose to use DSA/DH
+ algorithms instead of RSA when you generated your private key
+ and ignored or overlooked the warnings. If you have chosen
+ DSA/DH, then your server cannot communicate using RSA-based SSL
+ ciphers (at least until you configure an additional RSA-based
+ certificate/key pair). Modern browsers like NS or IE can only
+ communicate over SSL using RSA ciphers. The result is the
+ "no shared ciphers" error. To fix this, regenerate your server
+ certificate/key pair, using the RSA algorithm.</p>
+
+
+<h3><a name="vhosts" id="vhosts">Why can't I use SSL with name-based/non-IP-based virtual hosts?</a></h3>
+<p>The reason is very technical, and a somewhat "chicken and egg" problem.
+ The SSL protocol layer stays below the HTTP protocol layer and
+ encapsulates HTTP. When an SSL connection (HTTPS) is established
+ Apache/mod_ssl has to negotiate the SSL protocol parameters with the
+ client. For this, mod_ssl has to consult the configuration of the virtual
+ server (for instance it has to look for the cipher suite, the server
+ certificate, etc.). But in order to go to the correct virtual server
+ Apache has to know the <code>Host</code> HTTP header field. To do this, the
+ HTTP request header has to be read. This cannot be done before the SSL
+ handshake is finished, but the information is needed in order to
+ complete the SSL handshake phase. See the next question for how to
+ circumvent this issue.</p>
+
+ <p>Note that if you have a wildcard SSL certificate, or a
+ certificate that has multiple hostnames on it using subjectAltName
+ fields, you can use SSL on name-based virtual hosts without further
+ workarounds.</p>
+
+
+<h3><a name="vhosts2" id="vhosts2">Is it possible to use Name-Based
+Virtual Hosting to identify different SSL virtual hosts?</a></h3>
+ <p>Name-Based Virtual Hosting is a very popular method of identifying
+ different virtual hosts. It allows you to use the same IP address and
+ the same port number for many different sites. When people move on to
+ SSL, it seems natural to assume that the same method can be used to have
+ lots of different SSL virtual hosts on the same server.</p>
+
+ <p>It is possible, but only if using a 2.2.12 or later web server,
+ built with 0.9.8j or later OpenSSL. This is because it requires a
+ feature that only the most recent revisions of the SSL
+ specification added, called Server Name Indication (SNI).</p>
+
+ <p>Note that if you have a wildcard SSL certificate, or a
+ certificate that has multiple hostnames on it using subjectAltName
+ fields, you can use SSL on name-based virtual hosts without further
+ workarounds.</p>
+
+ <p>The reason is that the SSL protocol is a separate layer which
+ encapsulates the HTTP protocol. So the SSL session is a separate
+ transaction, that takes place before the HTTP session has begun.
+ The server receives an SSL request on IP address X and port Y
+ (usually 443). Since the SSL request did not contain any Host:
+ field, the server had no way to decide which SSL virtual host to use.
+ Usually, it just used the first one it found which matched the
+ port and IP address specified.</p>
+
+ <p>If you are using a version of the web server and OpenSSL that
+ support SNI, though, and the client's browser also supports SNI,
+ then the hostname is included in the original SSL request, and the
+ web server can select the correct SSL virtual host.</p>
+
+ <p>You can, of course, use Name-Based Virtual Hosting to identify many
+ non-SSL virtual hosts (all on port 80, for example) and then
+ have a single SSL virtual host (on port 443). But if you do this,
+ you must make sure to put the non-SSL port number on the NameVirtualHost
+ directive, e.g.</p>
+
+ <pre class="prettyprint lang-config">NameVirtualHost 192.168.1.1:80</pre>
+
+
+ <p>Other workaround solutions include: </p>
+
+ <p>Using separate IP addresses for different SSL hosts.
+ Using different port numbers for different SSL hosts.</p>
+
+
+<h3><a name="comp" id="comp">How do I get SSL compression working?</a></h3>
+<p>Although SSL compression negotiation was defined in the specification
+of SSLv2 and TLS, it took until May 2004 for RFC 3749 to define DEFLATE as
+a negotiable standard compression method.
+</p>
+<p>OpenSSL 0.9.8 started to support this by default when compiled with the
+<code>zlib</code> option. If both the client and the server support compression,
+it will be used. However, most clients still try to initially connect with an
+SSLv2 Hello. As SSLv2 did not include an array of preferred compression algorithms
+in its handshake, compression cannot be negotiated with these clients.
+If the client disables support for SSLv2, either an SSLv3 or TLS Hello
+may be sent, depending on which SSL library is used, and compression may
+be set up. You can verify whether clients make use of SSL compression by
+logging the <code>%{SSL_COMPRESS_METHOD}x</code> variable.
+</p>
+
+
+<h3><a name="lockicon" id="lockicon">When I use Basic Authentication over HTTPS
+the lock icon in Netscape browsers stays unlocked when the dialog pops up.
+Does this mean the username/password is being sent unencrypted?</a></h3>
+<p>No, the username/password is transmitted encrypted. The icon in
+ Netscape browsers is not actually synchronized with the SSL/TLS layer.
+ It only toggles to the locked state when the first part of the actual
+ webpage data is transferred, which may confuse people. The Basic
+ Authentication facility is part of the HTTP layer, which is above
+ the SSL/TLS layer in HTTPS. Before any HTTP data communication takes
+ place in HTTPS, the SSL/TLS layer has already completed its handshake
+ phase, and switched to encrypted communication. So don't be
+ confused by this icon.</p>
+
+
+<h3><a name="msie" id="msie">Why do I get I/O errors when connecting via
+HTTPS to an Apache+mod_ssl server with older versions of Microsoft Internet
+Explorer (MSIE)?</a></h3>
+<p>The first reason is that the SSL implementation in some MSIE versions has
+ some subtle bugs related to the HTTP keep-alive facility and the SSL close
+ notify alerts on socket connection close. Additionally the interaction
+ between SSL and HTTP/1.1 features are problematic in some MSIE versions.
+ You can work around these problems by forcing Apache not to use HTTP/1.1,
+ keep-alive connections or send the SSL close notify messages to MSIE clients.
+ This can be done by using the following directive in your SSL-aware
+ virtual host section:</p>
+ <pre class="prettyprint lang-config">SetEnvIf User-Agent "MSIE [2-5]" \
+ nokeepalive ssl-unclean-shutdown \
+ downgrade-1.0 force-response-1.0</pre>
+
+ <p>Further, some MSIE versions have problems with particular ciphers.
+ Unfortunately, it is not possible to implement a MSIE-specific
+ workaround for this, because the ciphers are needed as early as the
+ SSL handshake phase. So a MSIE-specific
+ <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> won't solve these
+ problems. Instead, you will have to make more drastic
+ adjustments to the global parameters. Before you decide to do
+ this, make sure your clients really have problems. If not, do not
+ make these changes - they will affect <em>all</em> your clients, MSIE
+ or otherwise.</p>
+
+
+<h3><a name="srp" id="srp">How do I enable TLS-SRP?</a></h3>
+ <p>TLS-SRP (Secure Remote Password key exchange for TLS, specified in RFC 5054)
+ can supplement or replace certificates in authenticating an SSL connection.
+ To use TLS-SRP, set the
+ <code class="directive"><a href="../mod/mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></code> directive to
+ point to an OpenSSL SRP verifier file. To create the verifier file, use the
+ <code>openssl</code> tool:</p>
+ <div class="example"><p><code>
+ openssl srp -srpvfile passwd.srpv -add username
+ </code></p></div>
+ <p>After creating this file, specify it in the SSL server configuration:</p>
+ <div class="example"><p><code>
+ SSLSRPVerifierFile /path/to/passwd.srpv
+ </code></p></div>
+ <p>To force clients to use non-certificate TLS-SRP cipher suites, use the
+ following directive:</p>
+ <div class="example"><p><code>
+ SSLCipherSuite "!DSS:!aRSA:SRP"
+ </code></p></div>
+
+
+<h3><a name="javadh" id="javadh">Why do I get handshake failures with Java-based clients when using a certificate with more than 1024 bits?</a></h3>
+ <p>Beginning with version 2.4.7,
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> will use DH parameters which include primes
+ with lengths of more than 1024 bits. Java 7 and earlier limit their
+ support for DH prime sizes to a maximum of 1024 bits, however.</p>
+
+ <p>If your Java-based client aborts with exceptions such as
+ <code>java.lang.RuntimeException: Could not generate DH keypair</code> and
+ <code>java.security.InvalidAlgorithmParameterException: Prime size must be
+ multiple of 64, and can only range from 512 to 1024 (inclusive)</code>,
+ and httpd logs <code>tlsv1 alert internal error (SSL alert number 80)</code>
+ (at <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>info</code>
+ or higher), you can either rearrange mod_ssl's cipher list with
+ <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>
+ (possibly in conjunction with <code class="directive"><a href="../mod/mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></code>),
+ or you can use custom DH parameters with a 1024-bit prime, which
+ will always have precedence over any of the built-in DH parameters.</p>
+
+ <p>To generate custom DH parameters, use the <code>openssl dhparam 1024</code>
+ command. Alternatively, you can use the following standard 1024-bit DH
+ parameters from <a href="http://www.ietf.org/rfc/rfc2409.txt">RFC 2409</a>,
+ section 6.2:</p>
+ <div class="example"><pre>-----BEGIN DH PARAMETERS-----
+MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR
+Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
+/1y29Aa37e44a/taiZ+lrp8kEXxLH+ZJKGZR7OZTgf//////////AgEC
+-----END DH PARAMETERS-----</pre></div>
+ <p>Add the custom parameters including the "BEGIN DH PARAMETERS" and
+ "END DH PARAMETERS" lines to the end of the first certificate file
+ you have configured using the
+ <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> directive.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="support" id="support">mod_ssl Support</a></h2>
+<ul>
+<li><a href="#resources">What information resources are available in
+case of mod_ssl problems?</a></li>
+<li><a href="#contact">What support contacts are available in case of
+mod_ssl problems?</a></li>
+<li><a href="#reportdetails">What information should I
+provide when writing a bug report?</a></li>
+<li><a href="#coredumphelp">I had a core dump, can you help me?</a></li>
+<li><a href="#backtrace">How do I get a backtrace, to help find the reason
+for my core dump?</a></li>
+</ul>
+
+<h3><a name="resources" id="resources">What information resources are available in case of mod_ssl problems?</a></h3>
+<p>The following information resources are available.
+ In case of problems you should search here first.</p>
+
+ <dl>
+ <dt>Answers in the User Manual's F.A.Q. List (this)</dt>
+ <dd><a href="http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html">
+ http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html</a><br />
+ First check the F.A.Q. (this text). If your problem is a common
+ one, it may have been answered several times before, and been included
+ in this doc.
+ </dd>
+ </dl>
+
+
+<h3><a name="contact" id="contact">What support contacts are available in case
+of mod_ssl problems?</a></h3>
+ <p>The following lists all support possibilities for mod_ssl, in order of
+ preference. Please go through these possibilities
+ <em>in this order</em> - don't just pick the one you like the look of. </p>
+ <ol>
+
+ <li><em>Send a Problem Report to the Apache httpd Users Support Mailing List</em><br />
+ <a href="mailto:users@httpd.apache.org">
+ users@httpd.apache.org</a><br />
+ This is the second way of submitting your problem report. Again, you must
+ subscribe to the list first, but you can then easily discuss your problem
+ with the whole Apache httpd user community.
+ </li>
+
+ <li><em>Write a Problem Report in the Bug Database</em><br />
+ <a href="http://httpd.apache.org/bug_report.html">
+ http://httpd.apache.org/bug_report.html</a><br />
+ This is the last way of submitting your problem report. You should only
+ do this if you've already posted to the mailing lists, and had no success.
+ Please follow the instructions on the above page <em>carefully</em>.
+ </li>
+ </ol>
+
+
+<h3><a name="reportdetails" id="reportdetails">What information should I
+provide when writing a bug report?</a></h3>
+<p>You should always provide at least the following information:</p>
+
+ <dl>
+ <dt>Apache httpd and OpenSSL version information</dt>
+ <dd>The Apache version can be determined
+ by running <code>httpd -v</code>. The OpenSSL version can be
+ determined by running <code>openssl version</code>. Alternatively, if
+ you have Lynx installed, you can run the command <code>lynx -mime_header
+ http://localhost/ | grep Server</code> to gather this information in a
+ single step.
+ </dd>
+
+ <dt>The details on how you built and installed Apache httpd and OpenSSL</dt>
+ <dd>For this you can provide a logfile of your terminal session which shows
+ the configuration and install steps. If this is not possible, you
+ should at least provide the <code class="program"><a href="../programs/configure.html">configure</a></code> command line you used.
+ </dd>
+
+ <dt>In case of core dumps please include a Backtrace</dt>
+ <dd>If your Apache httpd dumps its core, please attach
+ a stack-frame ``backtrace'' (see <a href="#backtrace">below</a>
+ for information on how to get this). This information is required
+ in order to find a reason for your core dump.
+ </dd>
+
+ <dt>A detailed description of your problem</dt>
+ <dd>Don't laugh, we really mean it! Many problem reports don't
+ include a description of what the actual problem is. Without this,
+ it's very difficult for anyone to help you. So, it's in your own
+ interest (you want the problem be solved, don't you?) to include as
+ much detail as possible, please. Of course, you should still include
+ all the essentials above too.
+ </dd>
+ </dl>
+
+
+<h3><a name="coredumphelp" id="coredumphelp">I had a core dump, can you help me?</a></h3>
+<p>In general no, at least not unless you provide more details about the code
+ location where Apache dumped core. What is usually always required in
+ order to help you is a backtrace (see next question). Without this
+ information it is mostly impossible to find the problem and help you in
+ fixing it.</p>
+
+
+<h3><a name="backtrace" id="backtrace">How do I get a backtrace, to help find
+the reason for my core dump?</a></h3>
+<p>Following are the steps you will need to complete, to get a backtrace:</p>
+ <ol>
+ <li>Make sure you have debugging symbols available, at least
+ in Apache. On platforms where you use GCC/GDB, you will have to build
+ Apache+mod_ssl with ``<code>OPTIM="-g -ggdb3"</code>'' to get this. On
+ other platforms at least ``<code>OPTIM="-g"</code>'' is needed.
+ </li>
+
+ <li>Start the server and try to reproduce the core-dump. For this you may
+ want to use a directive like ``<code>CoreDumpDirectory /tmp</code>'' to
+ make sure that the core-dump file can be written. This should result
+ in a <code>/tmp/core</code> or <code>/tmp/httpd.core</code> file. If you
+ don't get one of these, try running your server under a non-root UID.
+ Many modern kernels do not allow a process to dump core after it has
+ done a <code>setuid()</code> (unless it does an <code>exec()</code>) for
+ security reasons (there can be privileged information left over in
+ memory). If necessary, you can run <code>/path/to/httpd -X</code>
+ manually to force Apache to not fork.
+ </li>
+
+ <li>Analyze the core-dump. For this, run <code>gdb /path/to/httpd
+ /tmp/httpd.core</code> or a similar command. In GDB, all you
+ have to do then is to enter <code>bt</code>, and voila, you get the
+ backtrace. For other debuggers consult your local debugger manual.
+ </li>
+ </ol>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_faq.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_faq.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_faq.html.fr.utf8 b/docs/manual/ssl/ssl_faq.html.fr.utf8
new file mode 100644
index 0000000..5d32e0f
--- /dev/null
+++ b/docs/manual/ssl/ssl_faq.html.fr.utf8
@@ -0,0 +1,1036 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Chiffrement SSL/TLS fort: foire aux questions - Serveur HTTP Apache Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur HTTP Apache Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement SSL/TLS fort: foire aux questions</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_faq.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_faq.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+<blockquote>
+<p>Le sage n'apporte pas de bonnes réponses, il pose les bonnes questions</p>
+<p class="cite">-- <cite>Claude Levi-Strauss</cite></p>
+
+</blockquote>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#installation">Installation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#aboutconfig">Configuration</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#aboutcerts">Certificats</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#aboutssl">Le protocole SSL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#support">Support de mod_ssl</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="installation" id="installation">Installation</a></h2>
+<ul>
+<li><a href="#mutex">Pourquoi le démarrage d'Apache provoque-t-il des
+erreurs de permission en rapport avec SSLMutex ?</a></li>
+<li><a href="#entropy">Pourquoi mod_ssl s'arrête-t-il avec l'erreur
+"Failed to generate temporary 512 bit RSA private key" au démarrage
+d'Apache ?</a></li>
+</ul>
+
+<h3><a name="mutex" id="mutex">Pourquoi le démarrage d'Apache provoque-t-il des
+erreurs de permission en rapport avec SSLMutex ?</a></h3>
+ <p>Des erreurs telles que ``<code>mod_ssl: Child could not open
+ SSLMutex lockfile /opt/apache/logs/ssl_mutex.18332 (avec l'erreur
+ systÚme qui suit) [...] System: Permission denied (errno: 13)</code>''
+ sont souvent provoquées par des permissions trop restrictives sur les
+ répertoires <em>parents</em>. Assurez-vous que tous les répertoires
+ parents (ici <code>/opt</code>, <code>/opt/apache</code> et
+ <code>/opt/apache/logs</code>) ont le bit x positionné au moins pour
+ l'UID sous lequel les processus enfants d'Apache s'exécutent (voir la
+ directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>).</p>
+
+
+<h3><a name="entropy" id="entropy">Pourquoi mod_ssl s'arrête-t-il avec l'erreur
+"Failed to generate temporary 512 bit RSA private key" au démarrage
+d'Apache ?</a></h3>
+ <p>Pour fonctionner correctement, les logiciels de cryptographie ont
+ besoin d'une source de données aléatoires. De nombreux systÚmes
+ d'exploitation libres proposent un "périphérique source d'entropie"
+ qui fournit ce service (il se nomme en général
+ <code>/dev/random</code>). Sur d'autres systÚmes, les applications
+ doivent amorcer manuellement
+ le Générateur de Nombres Pseudo-Aléatoires d'OpenSSL
+ (Pseudo Random Number Generator -PRNG) à l'aide de données appropriées
+ avant de générer des clés ou d'effectuer un chiffrement à clé
+ publique. Depuis la version 0.9.5, les fonctions d'OpenSSL qui nécessitent
+ des données aléatoires provoquent une erreur si le PRNG n'a pas été amorcé
+ avec une source de données aléatoires d'au moins 128 bits.</p>
+ <p>Pour éviter cette erreur, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> doit fournir
+ suffisamment d'entropie au PRNG pour lui permettre de fonctionner
+ correctement. Ce niveau d'entropie est défini par la directive
+ <code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</a></code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="aboutconfig" id="aboutconfig">Configuration</a></h2>
+<ul>
+<li><a href="#parallel">Peut-on faire cohabiter HTTP et HTTPS sur le même
+serveur ?</a></li>
+<li><a href="#ports">Quel port HTTPS utilise-t-il ?</a></li>
+<li><a href="#httpstest">Comment s'exprimer en langage HTTPS à des fins
+de test ?</a></li>
+<li><a href="#hang">Pourquoi la communication se bloque-t-elle lorsque je
+me connecte à mon serveur Apache configuré pour SSL ?</a></li>
+<li><a href="#refused">Pourquoi, lorsque je tente d'accéder en HTTPS à mon
+serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused''
+s'affiche-t-elle ?</a></li>
+<li><a href="#envvars">Pourquoi les variables <code>SSL_XXX</code>
+ne sont-elles pas disponibles dans mes scripts CGI et SSI ?</a></li>
+<li><a href="#relative">Comment puis-je basculer entre les protocoles HTTP et
+HTTPS dans les hyperliens relatifs ?</a></li>
+</ul>
+
+<h3><a name="parallel" id="parallel">Peut-on faire cohabiter HTTP et HTTPS sur le même
+serveur ?</a></h3>
+ <p>Oui. HTTP et HTTPS utilisent des ports différents (HTTP écoute le port
+ 80 et HTTPS le port 443), si bien qu'il n'y a pas de conflit direct entre
+ les deux. Vous pouvez soit exécuter deux instances séparées du serveur,
+ chacune d'entre elles écoutant l'un de ces ports, soit utiliser l'élégante
+ fonctionnalité d'Apache que constituent les hÎtes virtuels pour créer
+ deux serveurs virtuels gérés par la même instance d'Apache - le
+ premier serveur répondant en HTTP aux requêtes sur le port 80,
+ le second répondant en HTTPS aux requêtes sur le port
+ 443.</p>
+
+
+<h3><a name="ports" id="ports">Quel port HTTPS utilise-t-il ?</a></h3>
+<p>Vous pouvez associer le protocole HTTPS à n'importe quel port, mais le port
+standard est le port 443, que tout navigateur compatible HTTPS va utiliser par
+défaut. Vous pouvez forcer votre navigateur à utiliser un port différent en le
+précisant dans l'URL. Par exemple, si votre serveur est configuré pour
+servir des pages en HTTPS sur le port 8080, vous pourrez y accéder par
+l'adresse <code>https://example.com:8080/</code>.</p>
+
+
+<h3><a name="httpstest" id="httpstest">Comment s'exprimer en langage HTTPS à des fins
+de test ?</a></h3>
+ <p>Alors que vous utilisez simplement</p>
+
+ <div class="example"><p><code>$ telnet localhost 80<br />
+ GET / HTTP/1.0</code></p></div>
+
+ <p>pour tester facilement Apache via HTTP, les choses ne sont pas si
+ simples pour HTTPS à cause du protocole SSL situé entre TCP et HTTP.
+ La commande OpenSSL <code>s_client</code> vous permet cependant
+ d'effectuer un test similaire via HTTPS :</p>
+
+ <div class="example"><p><code>$ openssl s_client -connect localhost:443 -state -debug<br />
+ GET / HTTP/1.0</code></p></div>
+
+ <p>Avant la véritable réponse HTTP, vous recevrez des informations
+ détaillées à propos de l'établissement de la connexion SSL. Si vous
+ recherchez un client en ligne de commande à usage plus général qui comprend
+ directement HTTP et HTTPS, qui peut effectuer des opérations GET et POST,
+ peut utiliser un mandataire, supporte les requêtes portant sur une partie
+ d'un fichier (byte-range), etc..., vous devriez vous tourner vers
+ l'excellent outil <a href="http://curl.haxx.se/">cURL</a>. Grâce à lui,
+ vous pouvez vérifier si Apache répond correctement aux requêtes via
+ HTTP et HTTPS comme suit :</p>
+
+ <div class="example"><p><code>$ curl http://localhost/<br />
+ $ curl https://localhost/</code></p></div>
+
+
+<h3><a name="hang" id="hang">Pourquoi la communication se bloque-t-elle lorsque je
+me connecte à mon serveur Apache configuré pour SSL ?</a></h3>
+<p>Ceci peut arriver si vous vous connectez à un serveur HTTPS (ou à
+un serveur virtuel) via HTTP (par exemple, en utilisant
+<code>http://example.com/</code> au lieu de <code>https://example.com</code>).
+Cela peut aussi arriver en essayant de vous connecter via HTTPS à un
+serveur HTTP (par exemple, en utilisant <code>https://example.com/</code>
+avec un serveur qui ne supporte pas HTTPS, ou le supporte, mais sur un
+port non standard). Assurez-vous que vous vous connectez bien à un
+serveur (virtuel) qui supporte SSL.</p>
+
+
+<h3><a name="refused" id="refused">Pourquoi, lorsque je tente d'accéder en HTTPS à mon
+serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused''
+s'affiche-t-elle ?</a></h3>
+<p>Une configuration incorrecte peut provoquer ce type d'erreur.
+Assurez-vous que vos directives <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> s'accordent avec vos directives
+ <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. Si
+ l'erreur persiste, recommencez depuis le début en restaurant la
+ configuration par défaut fournie par<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
+
+
+<h3><a name="envvars" id="envvars">Pourquoi les variables <code>SSL_XXX</code>
+ne sont-elles pas disponibles dans mes scripts CGI et SSI ?</a></h3>
+<p>Assurez-vous que la directive ``<code>SSLOptions +StdEnvVars</code>'' est
+bien présente dans le contexte de vos requêtes CGI/SSI.</p>
+
+
+<h3><a name="relative" id="relative">Comment puis-je basculer entre les protocoles HTTP et
+HTTPS dans les hyperliens relatifs ?</a></h3>
+
+<p>Normalement, pour basculer entre HTTP et HTTPS, vous devez utiliser des
+hyperliens pleinement qualifiés (car vous devez modifier le schéma de l'URL).
+Cependant, à l'aide du module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, vous pouvez
+manipuler des hyperliens relatifs, pour obtenir le même effet.</p>
+ <pre class="prettyprint lang-config">RewriteEngine on
+RewriteRule "^/(.*)_SSL$" "https://%{SERVER_NAME}/$1" [R,L]
+RewriteRule "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1" [R,L]</pre>
+
+
+ <p>Ce jeu de rÚgles rewrite vous permet d'utiliser des hyperliens de la
+ forme <code>&lt;a href="document.html_SSL"&gt;</code> pour passer en HTTPS
+ dans les liens relatifs. (Remplacez SSL par NOSSL pour passer en HTTP.)</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="aboutcerts" id="aboutcerts">Certificats</a></h2>
+<ul>
+<li><a href="#keyscerts">Qu'est-ce qu'un clé privée RSA, un certificat,
+une demande de signature de certificat (CSR) ?</a></li>
+<li><a href="#startup">Y a-t-il une différence au démarrage entre un serveur
+Apache non SSL et un serveur Apache supportant SSL ?</a></li>
+<li><a href="#selfcert">Comment créer un certificat auto-signé SSL à des
+fins de test ?</a></li>
+<li><a href="#realcert">Comment créer un vrai certificat SSL ?</a></li>
+<li><a href="#ownca">Comment créer et utiliser sa propre Autorité de
+certification (CA) ?</a></li>
+<li><a href="#passphrase">Comment modifier le mot de passe
+de ma clé privée ?</a></li>
+<li><a href="#removepassphrase">Comment démarrer Apache sans avoir à entrer de
+mot de passe ?</a></li>
+<li><a href="#verify">Comment vérifier si une clé privée correspond bien
+à son certificat ?</a></li>
+<li><a href="#pemder">Comment convertir un certificat du format PEM
+au format DER ?</a></li>
+<li><a href="#gid">Pourquoi les navigateurs se plaignent-ils de ne pas pouvoir
+vérifier mon certificat de serveur ?</a></li>
+</ul>
+
+<h3><a name="keyscerts" id="keyscerts">Qu'est-ce qu'un clé privée RSA, un certificat,
+une demande de signature de certificat (CSR) ?</a></h3>
+<p>Un fichier de clé privée RSA est un fichier numérique que vous pouvez
+utiliser pour déchiffrer des messages que l'on vous a envoyés. Il a son
+pendant à caractÚre public que vous pouvez distribuer (par le biais de votre
+certificat), ce qui permet aux utilisateurs de chiffrer les messages qu'ils
+vous envoient.</p>
+ <p>Une Demande de Signature de Certificat (CSR) est un fichier numérique
+ qui contient votre clé publique et votre nom. La CSR doit être envoyée à
+ une Autorité de Certification (CA), qui va la convertir en vrai certificat
+ en la signant.</p>
+ <p>Un certificat contient votre clé publique RSA, votre nom, le nom
+ de la CA, et est signé numériquement par cette derniÚre. Les navigateurs
+ qui reconnaissent la CA peuvent vérifier la signature du certificat, et
+ ainsi en extraire votre clé publique RSA. Ceci leur permet de vous envoyer
+ des messages chiffrés que vous seul pourrez déchiffrer.</p>
+ <p>Se référer au chapitre <a href="ssl_intro.html">Introduction</a>
+ pour une description générale du protocole SSL.</p>
+
+
+<h3><a name="startup" id="startup">Y a-t-il une différence au démarrage entre un serveur
+Apache non SSL et un serveur Apache supportant SSL ?</a></h3>
+<p>Oui. En général, avec ou sans <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> intégré, le démarrage
+d'Apache ne présente pas de différences. Cependant, si votre fichier de clé
+privée SSL possÚde un mot de passe, vous devrez le taper au démarrage
+d'Apache.</p>
+
+ <p>Devoir entrer manuellement le mot de passe au démarrage du serveur peut
+ poser quelques problÚmes - par exemple, quand le serveur est démarré au
+ moyen de scripts au lancement du systÚme. Dans ce cas, vous pouvez suivre
+ les étapes <a href="#removepassphrase">ci-dessous</a> pour supprimer le
+ mot de passe de votre clé privée. Gardez à l'esprit qu'agir ainsi augmente
+ les risques de sécurité - agissez avec précaution !</p>
+
+
+<h3><a name="selfcert" id="selfcert">Comment créer un certificat auto-signé SSL à des
+fins de test ?</a></h3>
+ <ol>
+ <li>Vérifiez qu'OpenSSL est installé et l'exécutable openssl dans votre
+ <code>PATH</code>.<br />
+ <br />
+ </li>
+ <li>Exécuter la commande suivante pour créer les fichiers
+ <code>server.key</code> et <code>server.crt</code> :<br />
+ <code><strong>$ openssl req -new -x509 -nodes -out server.crt
+ -keyout server.key</strong></code><br />
+ Ces fichiers seront utilisés comme suit dans votre
+ <code>httpd.conf</code> :
+ <pre class="prettyprint lang-config">SSLCertificateFile "/path/to/this/server.crt"
+SSLCertificateKeyFile "/path/to/this/server.key"</pre>
+
+ </li>
+ <li>Il est important de savoir que le fichier <code>server.key</code> n'a
+ <em>pas</em> de mot de passe. Pour ajouter un mot de passe à la clé, vous
+ devez exécuter la commande suivante et confirmer le mot de passe comme
+ demandé.<br />
+ <p><code><strong>$ openssl rsa -des3 -in server.key -out
+ server.key.new</strong></code><br />
+ <code><strong>$ mv server.key.new server.key</strong></code><br /></p>
+ Sauvegardez le fichier <code>server.key</code> ainsi que son mot de
+ passe en lieu sûr.
+ </li>
+ </ol>
+
+
+<h3><a name="realcert" id="realcert">Comment créer un vrai certificat SSL ?</a></h3>
+<p>Voici la marche à suivre pas à pas :</p>
+ <ol>
+ <li>Assurez-vous qu'OpenSSL est bien installé et dans votre <code>PATH</code>.
+ <br />
+ <br />
+ </li>
+ <li>Créez une clé privée RSA pour votre serveur Apache
+ (elle sera au format PEM et chiffrée en Triple-DES):<br />
+ <br />
+ <code><strong>$ openssl genrsa -des3 -out server.key 2048</strong></code><br />
+ <br />
+ Enregistrez le fichier <code>server.key</code> et le mot de passe
+ éventuellement défini en lieu sûr.
+ Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
+ commande :<br />
+
+ <br />
+ <code><strong>$ openssl rsa -noout -text -in server.key</strong></code><br />
+ <br />
+ Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée
+ (non recommandé) de clé privée RSA avec :<br />
+ <br />
+ <code><strong>$ openssl rsa -in server.key -out server.key.unsecure</strong></code><br />
+ <br />
+
+ </li>
+ <li>Créez une Demande de signature de Certificat (CSR) à l'aide de la
+ clé privée précédemment générée (la sortie sera au format PEM):<br />
+ <br />
+ <code><strong>$ openssl req -new -key server.key -out server.csr</strong></code><br />
+ <br />
+ Vous devez entrer le Nom de Domaine Pleinement Qualifié
+ ("Fully Qualified Domain Name" ou FQDN) de votre serveur lorsqu'OpenSSL
+ vous demande le "CommonName", c'est à dire que si vous générez une CSR
+ pour un site web auquel on accÚdera par l'URL
+ <code>https://www.foo.dom/</code>, le FQDN sera "www.foo.dom". Vous
+ pouvez afficher les détails de ce CSR avec :<br />
+
+ <br />
+ <code><strong>$ openssl req -noout -text -in server.csr</strong></code><br />
+ <br />
+ </li>
+ <li>Vous devez maintenant envoyer la CSR à une Autorité de Certification
+ (CA), afin que cette derniÚre puisse la signer. Une fois la CSR signée,
+ vous disposerez d'un véritable certificat que vous pourrez utiliser avec
+ Apache. Vous pouvez faire signer votre CSR par une CA commerciale ou par
+ votre propre CA.<br />
+ Les CAs commerciales vous demandent en général de leur envoyer la CSR
+ par l'intermédiaire d'un formulaire web, de régler le montant de la
+ signature, puis vous envoient un certificat signé que vous pouvez
+ enregistrer dans un fichier server.crt.
+
+ Pour plus de détails sur la maniÚre de créer sa propre CA, et de
+ l'utiliser pour signer une CSR, voir <a href="#ownca">ci-dessous</a>.<br />
+
+ Une fois la CSR signée, vous pouvez afficher les détails du certificat
+ comme suit :<br />
+ <br />
+ <code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
+
+ </li>
+ <li>Vous devez maintenant disposer de deux fichiers :
+ <code>server.key</code> et <code>server.crt</code>. Ils sont précisés dans
+ votre fichier <code>httpd.conf</code> comme suit :
+ <pre class="prettyprint lang-config">SSLCertificateFile "/path/to/this/server.crt"
+SSLCertificateKeyFile "/path/to/this/server.key"</pre>
+
+ Le fichier <code>server.csr</code> n'est plus nécessaire.
+ </li>
+
+ </ol>
+
+
+<h3><a name="ownca" id="ownca">Comment créer et utiliser sa propre Autorité de
+certification (CA) ?</a></h3>
+ <p>La solution la plus simple consiste à utiliser les scripts
+ <code>CA.sh</code> ou <code>CA.pl</code> fournis avec OpenSSL. De
+ préférence, utilisez cette solution, à moins que vous ayez de bonnes
+ raisons de ne pas le faire. Dans ce dernier cas, vous pouvez créer un
+ certificat auto-signé comme suit :</p>
+
+ <ol>
+ <li>Créez une clé privée RSA pour votre serveur
+ (elle sera au format PEM et chiffrée en Triple-DES) :<br />
+ <br />
+ <code><strong>$ openssl genrsa -des3 -out server.key 2048</strong></code><br />
+ <br />
+ Sauvegardez le fichier <code>server.key</code> et le mot de passe
+ éventuellement défini en lieu sûr.
+ Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
+ commande :<br />
+ <br />
+ <code><strong>$ openssl rsa -noout -text -in server.key</strong></code><br />
+ <br />
+ Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée
+ (non recommandé) de cette clé privée RSA avec :<br />
+ <br />
+ <code><strong>$ openssl rsa -in server.key -out server.key.unsecure</strong></code><br />
+ <br />
+ </li>
+ <li>Créez un certificat auto-signé (structure X509) à l'aide de la clé RSA
+ que vous venez de générer (la sortie sera au format PEM) :<br />
+ <br />
+ <code><strong>$ openssl req -new -x509 -nodes -sha1 -days 365
+ -key server.key -out server.crt -extensions usr_cert</strong></code><br />
+ <br />
+ Cette commande signe le certificat du serveur et produit un fichier
+ <code>server.crt</code>. Vous pouvez afficher les détails de ce
+ certificat avec :<br />
+ <br />
+ <code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
+ <br />
+ </li>
+ </ol>
+
+
+<h3><a name="passphrase" id="passphrase">Comment modifier le mot de passe
+de ma clé privée ?</a></h3>
+<p>Vous devez simplement lire la clé avec l'ancien mot de passe et la
+réécrire en spécifiant le nouveau mot de passe. Pour cela, vous pouvez
+utiliser les commandes suivantes :</p>
+
+
+ <p><code><strong>$ openssl rsa -des3 -in server.key -out server.key.new</strong></code><br />
+ <code><strong>$ mv server.key.new server.key</strong></code><br /></p>
+
+ <p>La premiÚre fois qu'il vous est demandé un mot de passe PEM, vous
+ devez entrer l'ancien mot de passe. Ensuite, on vous demandera d'entrer
+ encore un mot de passe - cette fois, entrez le nouveau mot de passe. Si on
+ vous demande de vérifier le mot de passe, vous devrez entrer le nouveau
+ mot de passe une seconde fois.</p>
+
+
+<h3><a name="removepassphrase" id="removepassphrase">Comment démarrer Apache sans avoir à entrer de
+mot de passe ?</a></h3>
+<p>L'apparition de ce dialogue au démarrage et à chaque redémarrage provient
+du fait que la clé privée RSA contenue dans votre fichier server.key est
+enregistrée sous forme chiffrée pour des raisons de sécurité. Le
+déchiffrement de ce fichier nécessite un mot de passe, afin de pouvoir être
+lu et interprété. Cependant, La suppression du mot de passe diminue le niveau de
+sécurité du serveur - agissez avec précautions !</p>
+ <ol>
+ <li>Supprimer le chiffrement de la clé privée RSA (tout en conservant une
+ copie de sauvegarde du fichier original) :<br />
+ <br />
+ <code><strong>$ cp server.key server.key.org</strong></code><br />
+ <code><strong>$ openssl rsa -in server.key.org -out server.key</strong></code><br />
+
+ <br />
+ </li>
+ <li>Assurez-vous que le fichier server.key n'est lisible que par root :<br />
+ <br />
+ <code><strong>$ chmod 400 server.key</strong></code><br />
+ <br />
+ </li>
+ </ol>
+
+ <p>Maintenant, <code>server.key</code> contient une copie non chiffrée de
+ la clé. Si vous utilisez ce fichier pour votre serveur, il ne vous
+ demandera plus de mot de passe. CEPENDANT, si quelqu'un arrive à obtenir
+ cette clé, il sera en mesure d'usurper votre identité sur le réseau.
+ Vous DEVEZ par conséquent vous assurer que seuls root ou le serveur web
+ peuvent lire ce fichier (de préférence, démarrez le serveur web sous
+ root et faites le s'exécuter sous un autre utilisateur, en n'autorisant
+ la lecture de la clé que par root).</p>
+
+ <p>Une autre alternative consiste à utiliser la directive
+ ``<code>SSLPassPhraseDialog exec:/chemin/vers/programme</code>''. Gardez
+ cependant à l'esprit que ce n'est bien entendu ni plus ni moins
+ sécurisé.</p>
+
+
+<h3><a name="verify" id="verify">Comment vérifier si une clé privée correspond bien
+à son certificat ?</a></h3>
+<p>Une clé privée contient une série de nombres. Deux de ces nombres forment la
+"clé publique", les autres appartiennent à la "clé privée". Les bits de la
+"clé publique" sont inclus quand vous générez une CSR, et font par
+conséquent partie du certificat associé.</p>
+ <p>Pour vérifier que la clé publique contenue dans votre certificat
+ correspond bien à la partie publique de votre clé privée, il vous suffit
+ de comparer ces nombres. Pour afficher le certificat et la clé,
+ utilisez cette commande :</p>
+
+ <p><code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
+ <code><strong>$ openssl rsa -noout -text -in server.key</strong></code></p>
+
+ <p>Les parties `modulus' et `public exponent' doivent être identiques dans
+ la clé et le certificat. Comme le `public exponent' est habituellement
+ 65537, et comme il est difficile de vérifier visuellement que les nombreux
+ nombres du `modulus' sont identiques, vous pouvez utiliser l'approche
+ suivante :</p>
+
+ <p><code><strong>$ openssl x509 -noout -modulus -in server.crt | openssl md5</strong></code><br />
+ <code><strong>$ openssl rsa -noout -modulus -in server.key | openssl md5</strong></code></p>
+
+ <p>Il ne vous reste ainsi que deux nombres relativement courts à comparer.
+ Il est possible, en théorie que ces deux nombres soient les mêmes, sans que
+ les nombres du modulus soient identiques, mais les chances en sont infimes.</p>
+ <p>Si vous souhaitez vérifier à quelle clé ou certificat appartient une CSR
+ particuliÚre, vous pouvez effectuer le même calcul
+ sur la CSR comme suit :</p>
+
+ <p><code><strong>$ openssl req -noout -modulus -in server.csr | openssl md5</strong></code></p>
+
+
+<h3><a name="pemder" id="pemder">Comment convertir un certificat du format PEM
+au format DER ?</a></h3>
+<p>Le format des certificats par défaut pour OpenSSL est le format PEM,
+qui est tout simplement un format DER codé en Base64, avec des lignes
+d'en-têtes et des annotations. Certaines applications, comme
+Microsoft Internet Explorer, ont besoin d'un certificat au format DER de base.
+Vous pouvez convertir un fichier PEM <code>cert.pem</code> en son équivalent
+au format DER <code>cert.der</code> à l'aide de la commande suivante :
+<code><strong>$ openssl x509 -in cert.pem -out cert.der
+-outform DER</strong></code></p>
+
+
+<h3><a name="gid" id="gid">Pourquoi les navigateurs se plaignent-ils de ne pas pouvoir
+vérifier mon certificat de serveur ?</a></h3>
+
+ <p>Ceci peut se produire si votre certificat de serveur est signé
+ par une autorité de certification intermédiaire. Plusieurs CAs,
+ comme Verisign ou Thawte, ont commencé à signer les certificats avec
+ des certificats intermédiaires au lieu de leur certificat racine.</p>
+
+ <p>Les certificats de CA intermédiaires se situe à un niveau
+ intermédiaire entre le certificat racine de la CA (qui est installé dans les
+ navigateurs) et le certificat du serveur (que vous avez installé sur
+ votre serveur). Pour que le navigateur puisse traverser et vérifier
+ la chaîne de confiance depuis le certificat du serveur jusqu'au
+ certificat racine, il faut lui fournir les certificats
+ intermédiaires. Les CAs devraient pouvoir fournir de tels
+ paquetages de certificats intermédiaires à installer sur les
+ serveurs.</p>
+
+ <p>Vous devez inclure ces certificats intermédiaires via la
+ directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="aboutssl" id="aboutssl">Le protocole SSL</a></h2>
+<ul>
+<li><a href="#random">Pourquoi de nombreuses et aléatoires erreurs de
+protocole SSL apparaissent-elles en cas de forte charge du serveur ?</a></li>
+<li><a href="#load">Pourquoi la charge de mon serveur est-elle plus
+importante depuis qu'il sert des ressources chiffrées en SSL ?</a></li>
+<li><a href="#establishing">Pourquoi les connexions en HTTPS à mon serveur
+prennent-elles parfois jusqu'à 30 secondes pour s'établir ?</a></li>
+<li><a href="#ciphers">Quels sont les algorithmes de chiffrement
+supportés par mod_ssl ?</a></li>
+<li><a href="#adh">Pourquoi une erreur ``no shared cipher'' apparaît-elle
+quand j'essaie d'utiliser un algorithme de chiffrement
+Diffie-Hellman anonyme (ADH) ?</a></li>
+<li><a href="#sharedciphers">Pourquoi une erreur ``no shared cipher''
+apparaît-elle lorsqu'on se connecte à mon serveur
+fraîchement installé ?</a></li>
+<li><a href="#vhosts">Pourquoi ne peut-on pas utiliser SSL avec des hÃŽtes
+virtuels identifiés par un nom et non par une adresse IP ?</a></li>
+<li><a href="#vhosts2">Est-il possible d'utiliser
+l'hébergement virtuel basé sur le nom d'hÎte
+pour différencier plusieurs hÎtes virtuels ?</a></li>
+<li><a href="#comp">Comment mettre en oeuvre la compression SSL ?</a></li>
+<li><a href="#lockicon">Lorsque j'utilise l'authentification de base sur HTTPS,
+l'icÎne de verrouillage des navigateurs Netscape reste ouverte quand la boîte
+de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur
+et mot de passe sont envoyés en clair ?</a></li>
+<li><a href="#msie">Pourquoi des erreurs d'entrée/sortie apparaissent-elles
+lorsqu'on se connecte à un serveur Apache+mod_ssl avec
+Microsoft Internet Explorer (MSIE) ?</a></li>
+<li><a href="#srp">Comment activer TLS-SRP ?</a></li>
+<li><a href="#javadh">Pourquoi des erreurs de négociation apparaissent
+avec les clients basés sur Java lorsqu'on utilise un certificat de plus
+de 1024 bits ?</a></li>
+</ul>
+
+<h3><a name="random" id="random">Pourquoi de nombreuses et aléatoires erreurs de
+protocole SSL apparaissent-elles en cas de forte charge du serveur ?</a></h3>
+<p>Ce problÚme peut avoir plusieurs causes, mais la principale réside dans le
+cache de session SSL défini par la directive
+<code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>. Le cache de session
+DBM est souvent à la source du problÚme qui peut être résolu en utilisant le
+cache de session SHM (ou en n'utilisant tout simplement pas de cache).</p>
+
+
+<h3><a name="load" id="load">Pourquoi la charge de mon serveur est-elle plus
+importante depuis qu'il sert des ressources chiffrées en SSL ?</a></h3>
+<p>SSL utilise un procédé de chiffrement fort qui nécessite la manipulation
+d'une quantité trÚs importante de nombres. Lorsque vous effectuez une requête
+pour une page web via HTTPS, tout (même les images) est chiffré avant d'être
+transmis. C'est pourquoi un accroissement du traffic HTTPS entraîne une
+augmentation de la charge.</p>
+
+
+<h3><a name="establishing" id="establishing">Pourquoi les connexions en HTTPS à mon serveur
+prennent-elles parfois jusqu'à 30 secondes pour s'établir ?</a></h3>
+<p>Ce problÚme provient en général d'un périphérique <code>/dev/random</code>
+qui bloque l'appel systÚme read(2) jusqu'à ce que suffisamment d'entropie
+soit disponible pour servir la requête. Pour plus d'information, se référer au
+manuel de référence de la directive
+<code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</a></code>.</p>
+
+
+<h3><a name="ciphers" id="ciphers">Quels sont les algorithmes de chiffrement
+supportés par mod_ssl ?</a></h3>
+<p>En général, tous les algorithmes de chiffrement supportés par la version
+d'OpenSSL installée, le sont aussi par <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. La liste des
+algorithmes disponibles peut dépendre de la maniÚre dont vous avez installé
+OpenSSL. Typiquement, au moins les algorithmes suivants sont supportés :</p>
+
+ <ol>
+ <li>RC4 avec SHA1</li>
+ <li>AES avec SHA1</li>
+ <li>Triple-DES avec SHA1</li>
+ </ol>
+
+ <p>Pour déterminer la liste réelle des algorithmes disponibles, vous
+ pouvez utiliser la commande suivante :</p>
+ <div class="example"><p><code>$ openssl ciphers -v</code></p></div>
+
+
+<h3><a name="adh" id="adh">Pourquoi une erreur ``no shared cipher'' apparaît-elle
+quand j'essaie d'utiliser un algorithme de chiffrement
+Diffie-Hellman anonyme (ADH) ?</a></h3>
+<p>Par défaut et pour des raisons de sécurité, OpenSSl ne permet <em>pas</em>
+l'utilisation des algorithmes de chiffrements ADH. Veuillez vous informer
+sur les effets pervers potentiels si vous choisissez d'activer le support
+de ces algorithmes de chiffrements.</p>
+<p>Pour pouvoir utiliser les algorithmes de chiffrements Diffie-Hellman
+anonymes (ADH), vous devez compiler OpenSSL avec
+``<code>-DSSL_ALLOW_ADH</code>'', puis ajouter ``<code>ADH</code>'' à votre
+directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>.</p>
+
+
+<h3><a name="sharedciphers" id="sharedciphers">Pourquoi une erreur ``no shared cipher''
+apparaît-elle lorsqu'on se connecte à mon serveur
+fraîchement installé ?</a></h3>
+<p>Soit vous avez fait une erreur en définissant votre directive
+<code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> (comparez-la avec
+l'exemple préconfiguré dans <code>extra/httpd-ssl.conf</code>), soit vous avez
+choisi d'utiliser des algorithmes DSA/DH au lieu de RSA lorsque vous avez
+généré votre clé privée, et avez ignoré ou êtes passé outre les
+avertissements. Si vous avez choisi DSA/DH, votre serveur est incapable de
+communiquer en utilisant des algorithmes de chiffrements SSL basés sur RSA
+(du moins tant que vous n'aurez pas configuré une paire clé/certificat RSA
+additionnelle). Les navigateurs modernes tels que NS ou IE ne peuvent
+communiquer par SSL qu'avec des algorithmes RSA. C'est ce qui provoque l'erreur
+"no shared ciphers". Pour la corriger, générez une nouvelle paire
+clé/certificat pour le serveur en utilisant un algorithme de chiffrement
+RSA.</p>
+
+
+<h3><a name="vhosts" id="vhosts">Pourquoi ne peut-on pas utiliser SSL avec des hÃŽtes
+virtuels identifiés par un nom et non par une adresse IP ?</a></h3>
+<p>La raison est trÚs technique, et s'apparente au problÚme de la primauté de
+l'oeuf ou de la poule. La couche du protocole SSL se trouve en dessous de la
+couche de protocole HTTP qu'elle encapsule. Lors de l'établissement d'une
+connexion SSL (HTTPS), Apache/mod_ssl doit négocier les paramÚtres du
+protocole SSL avec le client. Pour cela, mod_ssl doit consulter la
+configuration du serveur virtuel (par exemple, il doit accéder à la suite
+d'algorithmes de chiffrement, au certificat du serveur, etc...). Mais afin de
+sélectionner le bon serveur virtuel, Apache doit connaître le contenu du champ
+d'en-tête HTTP <code>Host</code>. Pour cela, il doit lire l'en-tête de la
+requête HTTP. Mais il ne peut le faire tant que la négociation SSL n'est pas
+terminée, or, la phase de négociation SSL a besoin du nom d'hÎte contenu
+dans l'en-tête de la requête. Voir la question suivante pour
+contourner ce problÚme.</p>
+
+ <p>Notez que si votre certificat comporte un nom de serveur avec
+ caractÚres génériques, ou des noms de serveurs multiples dans le
+ champ subjectAltName, vous pouvez utiliser SSL avec les serveurs
+ virtuels à base de noms sans avoir à contourner ce problÚme.</p>
+
+
+<h3><a name="vhosts2" id="vhosts2">Est-il possible d'utiliser
+l'hébergement virtuel basé sur le nom d'hÎte
+pour différencier plusieurs hÎtes virtuels ?</a></h3>
+ <p>L'hébergement virtuel basé sur le nom est une méthode trÚs populaire
+ d'identification des différents hÎtes virtuels. Il permet d'utiliser la
+ même adresse IP et le même numéro de port pour de nombreux sites
+ différents. Lorsqu'on se tourne vers SSL, il semble tout naturel de penser
+ que l'on peut appliquer la même méthode pour gérer plusieurs hÎtes
+ virtuels SSL sur le même serveur.</p>
+
+ <p>C'est possible, mais seulement si on utilise une version 2.2.12
+ ou supérieure du serveur web compilée avec OpenSSL
+ version 0.9.8j ou supérieure. Ceci est du au fait que
+ l'utilisation de l'hébergement virtuel à base de nom
+ avec SSL nécessite une fonctionnalité appelée
+ Indication du Nom de Serveur (Server Name Indication - SNI) que
+ seules les révisions les plus récentes de la
+ spécification SSL supportent.</p>
+
+ <p>Notez que si votre certificat comporte un nom de serveur avec
+ caractÚres génériques, ou des noms de serveurs multiples dans le
+ champ subjectAltName, vous pouvez utiliser SSL avec les serveurs
+ virtuels à base de noms sans avoir à contourner ce problÚme.</p>
+
+ <p>La raison en est que le protocole SSL constitue une couche séparée qui
+ encapsule le protocole HTTP. Aini, la session SSL nécessite une
+ transaction séparée qui prend place avant que la session HTTP n'ait débuté.
+ Le serveur reçoit une requête SSL sur l'adresse IP X et le port Y
+ (habituellement 443). Comme la requête SSL ne contenait aucun
+ en-tête Host:, le serveur n'avait aucun moyen de déterminer quel hÎte virtuel SSL il
+ devait utiliser. En général, il utilisait le premier
+ qu'il trouvait et qui
+ correspondait à l'adresse IP et au port spécifiés.</p>
+
+ <p>Par contre, si vous utilisez des versions du serveur web et
+ d'OpenSSL qui supportent SNI, et si le navigateur du client le
+ supporte aussi, alors le nom d'hÃŽte sera inclus dans la
+ requête SSL originale, et le serveur web pourra
+ sélectionner le bon serveur virtuel SSL.</p>
+
+ <p>Bien entendu, vous pouvez utiliser l'hébergement virtuel basé sur le nom
+ pour identifier de nombreux hÃŽtes virtuels non-SSL
+ (tous sur le port 80 par exemple), et ne gérer qu'un seul hÎte virtuel SSL
+ (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port
+ non-SSL à l'aide de la directive NameVirtualHost dans ce style :</p>
+
+ <pre class="prettyprint lang-config">NameVirtualHost 192.168.1.1:80</pre>
+
+
+ <p>il existe d'autres solutions alternatives comme :</p>
+
+ <p>Utiliser des adresses IP différentes pour chaque hÎte SSL.
+ Utiliser des numéros de port différents pour chaque hÎte SSL.</p>
+
+
+<h3><a name="comp" id="comp">Comment mettre en oeuvre la compression SSL ?</a></h3>
+<p>Bien que la négociation pour la compression SSL ait été définie dans la
+spécification de SSLv2 et TLS, ce n'est qu'en mai 2004 que la RFC 3749 a
+défini DEFLATE comme une méthode de compression standard négociable.
+</p>
+<p>Depuis la version 0.9.8, OpenSSL supporte cette compression par défaut
+lorsqu'il est compilé avec l'option <code>zlib</code>. Si le client et le
+serveur supportent la compression, elle sera utilisée. Cependant, la
+plupart des clients essaient encore de se connecter avec un Hello SSLv2.
+Comme SSLv2 ne comportait pas de table des algorithmes de compression préférés
+dans sa négociation, la compression ne peut pas être négociée avec ces clients.
+Si le client désactive le support SSLv2, un Hello SSLv3 ou TLS peut être
+envoyé, selon la bibliothÚque SSL utilisée, et la compression peut être mise
+en oeuvre. Vous pouvez vérifier si un client utilise la compression SSL en
+journalisant la variable <code>%{SSL_COMPRESS_METHOD}x</code>.
+</p>
+
+
+<h3><a name="lockicon" id="lockicon">Lorsque j'utilise l'authentification de base sur HTTPS,
+l'icÎne de verrouillage des navigateurs Netscape reste ouverte quand la boîte
+de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur
+et mot de passe sont envoyés en clair ?</a></h3>
+<p>Non, le couple utilisateur/mot de passe est transmis sous forme chiffrée.
+ L'icÃŽne de chiffrement dans les navigateurs Netscape n'est pas vraiment
+ synchronisé avec la couche SSL/TLS. Il ne passe à l'état verrouillé
+ qu'au moment où la premiÚre partie des données relatives à la page web
+ proprement dite sont transférées, ce qui peut prêter à confusion. Le
+ dispositif d'authentification de base appartient à la couche HTTP, qui
+ est située au dessus de la couche SSL/TLS dans HTTPS. Avant tout
+ transfert de données HTTP sous HTTPS, la couche SSL/TLS a déjà achevé
+ sa phase de négociation et basculé dans le mode de communication
+ chiffrée. Ne vous laissez donc pas abuser par l'état de cet icÎne.</p>
+
+
+<h3><a name="msie" id="msie">Pourquoi des erreurs d'entrée/sortie apparaissent-elles
+lorsqu'on se connecte via HTTPS à un serveur Apache+mod_ssl avec des
+versions anciennes de
+Microsoft Internet Explorer (MSIE) ?</a></h3>
+<p>La premiÚre raison en est la présence dans l'implémentation SSL de
+certaines versions de MSIE de bogues subtils en rapport avec le
+dispositif de "maintien en vie" (keep-alive) HTTP, et les alertes de
+notification de fermeture de session SSL en cas de coupure de la
+connexion au point d'entrée (socket). De plus, l'interaction entre
+SSL et les fonctionnalités HTTP/1.1 pose problÚme avec certaines
+versions de MSIE. Vous pouvez contourner ces problÚmes en interdisant
+à Apache l'utilisation de HTTP/1.1, les connexions avec maintien en vie
+ou l'envoi de messages de notification de fermeture de session SSL aux
+clients MSIE. Pour cela, vous pouvez utiliser la directive suivante
+dans votre section d'hÃŽte virtuel avec support SSL :</p>
+ <pre class="prettyprint lang-config">SetEnvIf User-Agent "MSIE [2-5]" \
+ nokeepalive ssl-unclean-shutdown \
+ downgrade-1.0 force-response-1.0</pre>
+
+ <p>En outre, certaines versions de MSIE ont des problÚmes avec des
+ algorithmes de chiffrement particuliers. Hélas, il n'est pas
+ possible d'apporter une solution spécifique à MSIE pour ces
+ problÚmes, car les algorithmes de chiffrement sont utilisés dÚs la
+ phase de négociation SSL. Ainsi, une directive
+ <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> spécifique
+ à MSIE ne peut être d'aucun secours. Par contre, vous devrez
+ ajuster les paramÚtres généraux de maniÚre drastique. Avant de
+ vous décider, soyez sûr que vos clients rencontrent vraiment des
+ problÚmes. Dans la négative, n'effectuez pas ces ajustements car
+ ils affecteront <em>tous</em> vos clients, ceux utilisant MSIE,
+ mais aussi les autres.</p>
+
+
+
+<h3><a name="srp" id="srp">Comment activer TLS-SRP ?</a></h3>
+ <p>Le protocole TLS-SRP (Echange de clés sécurisé par mot de passe
+ pour TLS comme spécifié dans la RFC 5054) peut compléter ou même
+ remplacer les certificats lors du processus d'authentification des
+ connexions SSL. Pour utiliser TLS-SRP, spécifiez un fichier de
+ vérification SRP OpenSSL via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></code>. Vous pouvez créer
+ le fichier de vérification via l'utilitaire <code>openssl</code> :</p>
+ <div class="example"><p><code>
+ openssl srp -srpvfile passwd.srpv -add username
+ </code></p></div>
+ <p>Une fois ce fichier créé, vous devez le référencer dans la
+ configuration du serveur SSL :</p>
+ <div class="example"><p><code>
+ SSLSRPVerifierFile /path/to/passwd.srpv
+ </code></p></div>
+ <p>Pour forcer les clients à utiliser des algorithmes de chiffrement
+ basés sur TLS-SRP et s'affranchissant des certificats, utilisez la
+ directive suivante :</p>
+ <div class="example"><p><code>
+ SSLCipherSuite "!DSS:!aRSA:SRP"
+ </code></p></div>
+
+
+<h3><a name="javadh" id="javadh">Pourquoi des erreurs de négociation apparaissent
+avec les clients basés sur Java lorsqu'on utilise un certificat de plus
+de 1024 bits ?</a></h3>
+ <p>Depuis la version 2.4.7,
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> utilise des paramÚtres DH qui comportent
+ des nombres premiers de plus de 1024 bits. Cependant, java 7 et ses versions
+ antérieures ne supportent que les nombres premiers DH d'une longueur
+ maximale de 1024 bits.</p>
+
+ <p>Si votre client basé sur Java s'arrête avec une exception telle
+ que <code>java.lang.RuntimeException: Could not generate DH
+ keypair</code> et
+ <code>java.security.InvalidAlgorithmParameterException: Prime size
+ must be multiple of 64, and can only range from 512 to 1024
+ (inclusive)</code>, et si httpd enregistre le message <code>tlsv1
+ alert internal error (SSL alert number 80)</code> dans son journal
+ des erreurs (avec un <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
+ <code>info</code> ou supérieur), vous pouvez soit réarranger la
+ liste d'algorithmes de mod_ssl via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> (éventuellement en
+ conjonction avec la directive <code class="directive"><a href="../mod/mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></code>), soit utiliser des
+ paramÚtres DH personnalisés avec un nombre
+ premier de 1024 bits, paramÚtres qui seront toujours prioritaires
+ par rapport à tout autre paramÚtre DH par défaut.</p>
+
+ <p>Pour générer des paramÚtres DH personnalisés, utilisez la
+ commande <code>openssl dhparam 1024</code>. Vous pouvez aussi
+ utiliser les
+ paramÚtres DH standards issus de la <a href="http://www.ietf.org/rfc/rfc2409.txt">RFC 2409</a>, section 6.2 :</p>
+ <div class="example"><pre>-----BEGIN DH PARAMETERS-----
+MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR
+Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
+/1y29Aa37e44a/taiZ+lrp8kEXxLH+ZJKGZR7OZTgf//////////AgEC
+-----END DH PARAMETERS-----</pre></div>
+ <p>Ajoute les paramÚtres personnalisés incluant les lignes "BEGIN DH
+ PARAMETERS" et "END DH PARAMETERS" à la fin du premier fichier de
+ certificat défini via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code>.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="support" id="support">Support de mod_ssl</a></h2>
+<ul>
+<li><a href="#resources">Quelles sont les sources d'informations
+disponibles en cas de problÚme avec mod_ssl ?</a></li>
+<li><a href="#contact">Qui peut-on contacter pour un support en cas de
+problÚme avec mod_ssl ?</a></li>
+<li><a href="#reportdetails">Quelles informations dois-je fournir lors
+de l'écriture d'un rapport de bogue ?</a></li>
+<li><a href="#coredumphelp">Un vidage mémoire s'est produit,
+pouvez-vous m'aider ?</a></li>
+<li><a href="#backtrace">Comment puis-je obtenir une journalisation de
+ce qui s'est passé, pour m'aider à trouver la raison de ce vidage
+mémoire ?</a></li>
+</ul>
+
+<h3><a name="resources" id="resources">Quelles sont les sources d'informations
+disponibles en cas de problÚme avec mod_ssl ?</a></h3>
+<p>Voici les sources d'informations disponibles ; vous devez chercher
+ici en cas de problÚme.</p>
+
+ <dl>
+ <dt>Vous trouverez des réponses dans la Foire Aux Questions du
+ manuel utilisateur (ce document)</dt>
+ <dd><a href="http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html">
+ http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html</a><br />
+ Cherchez tout d'abord dans la foire aux questions
+ (ce document). Si votre question est courante, on a déjà dû y
+ répondre de nombreuses fois, et elle fait probablement partie
+ de ce document.
+ </dd>
+ </dl>
+
+
+<h3><a name="contact" id="contact">Qui peut-on contacter pour un support en cas de
+problÚme avec mod_ssl ?</a></h3>
+ <p>Voici toutes les possibilités de support pour mod_ssl, par ordre
+ de préférence. Merci d'utiliser ces possibilités
+ <em>dans cet ordre</em> - ne vous précipitez pas sur celle qui vous
+ paraît la plus alléchante. </p>
+ <ol>
+ <li><em>Envoyez un rapport de problÚme à la liste de diffusion de
+ support des utilisateurs d'Apache httpd</em><br />
+ <a href="mailto:users@httpd.apache.org">
+ users@httpd.apache.org</a><br />
+ C'est la deuxiÚme maniÚre de soumettre votre rapport de
+ problÚme. Ici aussi, vous devez d'abord vous abonner à la
+ liste, mais vous pourrez ensuite discuter facilement de votre
+ problÚme avec l'ensemble de la communauté d'utilisateurs
+ d'Apache httpd.
+ </li>
+
+ <li><em>Ecrire un rapport de problÚme dans la base de données des
+ bogues</em><br />
+ <a href="http://httpd.apache.org/bug_report.html">
+ http://httpd.apache.org/bug_report.html</a><br />
+ C'est la derniÚre maniÚre de soumettre votre rapport de
+ problÚme. Vous ne devez utiliser cette solution que si vous
+ avez déjà écrit aux listes de diffusion, et n'avez pas trouvé
+ de solution. Merci de suivre les instructions de la page
+ mentionnée ci-dessus <em>avec soin</em>.
+ </li>
+ </ol>
+
+
+<h3><a name="reportdetails" id="reportdetails">Quelles informations dois-je fournir lors
+de l'écriture d'un rapport de bogue ?</a></h3>
+<p>Vous devez toujours fournir au moins les informations
+suivantes :</p>
+
+ <dl>
+ <dt>Les versions d'Apache httpd et OpenSSL installées</dt>
+ <dd>La version d'Apache peut être déterminée en exécutant
+ <code>httpd -v</code>. La version d'OpenSSL peut être déterminée
+ en exécutant <code>openssl version</code>. Si Lynx est installé,
+ vous pouvez aussi exécuter la commande<code>lynx -mime_header
+ http://localhost/ | grep Server</code> et ainsi obtenir ces
+ informations en une seule fois.
+ </dd>
+
+ <dt>Les détails de votre installation d'Apache httpd et OpenSSL</dt>
+ <dd>A cet effet, vous pouvez fournir un fichier journal de votre
+ session de terminal qui montre les étapes de la configuration et
+ de l'installation. En cas d'impossibilité, vous devez au moins
+ fournir la ligne de commande <code class="program"><a href="../programs/configure.html">configure</a></code> que
+ vous avez utilisée.
+ </dd>
+
+ <dt>En cas de vidage mémoire, inclure une trace de ce qui s'est
+ passé</dt>
+ <dd>Si votre serveur Apache httpd fait un vidage de sa
+ mémoire, merci de fournir en piÚce jointe un fichier contenant
+ une trace de la zone dédiée à la pile (voir
+ <a href="#backtrace">ci-dessous</a> pour des informations sur la maniÚre
+ de l'obtenir). Il est nécessaire de disposer de ces informations
+ afin de pouvoir déterminer la raison de votre vidage mémoire.
+ </dd>
+
+ <dt>Une description détaillée de votre problÚme</dt>
+
+ <dd>Ne riez pas, nous sommes sérieux ! De nombreux rapports
+ n'incluent pas de description de la véritable nature du problÚme.
+ Sans ces informations, il est trÚs difficile pour quiconque de
+ vous aider. Donc, et c'est votre propre intérêt (vous souhaitez
+ que le problÚme soit résolu, n'est-ce pas ?), fournissez, s'il vous
+ plait, le maximum de détails possible. Bien entendu, vous devez
+ aussi inclure tout ce qui a été dit précédemment.
+ </dd>
+ </dl>
+
+
+<h3><a name="coredumphelp" id="coredumphelp">Un vidage mémoire s'est produit,
+pouvez-vous m'aider ?</a></h3>
+<p>En général non, du moins tant que vous n'aurez pas fourni plus de
+détails à propos de la localisation dans le code où Apache a effectué
+son vidage mémoire. Ce dont nous avons en général besoin pour vous
+aider est une trace de ce qui s'est passé (voir la question suivante).
+Sans cette information, il est pratiquement impossible de déterminer
+la nature du problÚme et de vous aider à le résoudre.</p>
+
+
+<h3><a name="backtrace" id="backtrace">Comment puis-je obtenir une journalisation de
+ce qui s'est passé, pour m'aider à trouver la raison de ce vidage
+mémoire ?</a></h3>
+<p>Vous trouverez ci-dessous les différentes étapes permettant
+d'obtenir une journalisation des évÚnements (backtrace) :</p>
+ <ol>
+ <li>Assurez-vous que les symboles de débogage sont disponibles, au
+ moins pour Apache. Pour cela, sur les plates-formes où GCC/GDB est
+ utilisé, vous devez compiler Apache+mod_ssl avec l'option
+ ``<code>OPTIM="-g -ggdb3"</code>''. Sur les autres plates-formes,
+ l'option ``<code>OPTIM="-g"</code>'' est un minimum.
+ </li>
+
+ <li>Démarrez le serveur et essayez de reproduire le vidage mémoire.
+ A cet effet, vous pouvez utiliser une directive du style
+ ``<code>CoreDumpDirectory /tmp</code>'' pour être sûr que le
+ fichier de vidage mémoire puisse bien être écrit. Vous devriez
+ obtenir un fichier <code>/tmp/core</code> ou
+ <code>/tmp/httpd.core</code>. Si ce n'est pas le cas, essayez de
+ lancer votre serveur sous un UID autre que root.
+ Pour des raisons de sécurité, de nombreux
+ noyaux modernes de permettent pas à un processus de vider sa
+ mémoire une fois qu'il a accompli un <code>setuid()</code> (à moins
+ qu'il effectue un <code>exec()</code>) car des informations d'un
+ niveau privilégié pourraient être transmises en mémoire. Si
+ nécessaire, vous pouvez exécuter <code>/chemin/vers/httpd -X</code>
+ manuellement afin de ne pas permettre à Apache de se clÎner (fork).
+ </li>
+
+ <li>Analysez le vidage mémoire. Pour cela, exécutez
+ <code>gdb /path/to/httpd /tmp/httpd.core</code> ou une commande
+ similaire. Dans GDB, tout ce que vous avez à faire est d'entrer
+ <code>bt</code>, et voila, vous obtenez la backtrace. Pour les
+ débogueurs autres que GDB consulter le manuel correspondant.
+ </li>
+ </ol>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_faq.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_faq.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_faq.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_howto.html b/docs/manual/ssl/ssl_howto.html
new file mode 100644
index 0000000..5fbf4e4
--- /dev/null
+++ b/docs/manual/ssl/ssl_howto.html
@@ -0,0 +1,9 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: ssl_howto.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: ssl_howto.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/ssl/ssl_howto.html.en b/docs/manual/ssl/ssl_howto.html.en
new file mode 100644
index 0000000..6d5653a
--- /dev/null
+++ b/docs/manual/ssl/ssl_howto.html.en
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>SSL/TLS Strong Encryption: How-To - Apache HTTP Server Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>SSL/TLS Strong Encryption: How-To</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_howto.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_howto.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+
+<p>This document is intended to get you started, and get a few things
+working. You are strongly encouraged to read the rest of the SSL
+documentation, and arrive at a deeper understanding of the material,
+before progressing to the advanced techniques.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configexample">Basic Configuration Example</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ciphersuites">Cipher Suites and Enforcing Strong Security</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ocspstapling">OCSP Stapling</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#accesscontrol">Client Authentication and Access Control</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#logging">Logging</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="configexample" id="configexample">Basic Configuration Example</a></h2>
+
+
+<p>Your SSL configuration will need to contain, at minimum, the
+following directives.</p>
+
+<pre class="prettyprint lang-config">LoadModule ssl_module modules/mod_ssl.so
+
+Listen 443
+&lt;VirtualHost *:443&gt;
+ ServerName www.example.com
+ SSLEngine on
+ SSLCertificateFile "/path/to/www.example.com.cert"
+ SSLCertificateKeyFile "/path/to/www.example.com.key"
+&lt;/VirtualHost&gt;</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ciphersuites" id="ciphersuites">Cipher Suites and Enforcing Strong Security</a></h2>
+
+<ul>
+<li><a href="#onlystrong">How can I create an SSL server which accepts strong encryption only?</a></li>
+<li><a href="#strongurl">How can I create an SSL server which accepts all types of ciphers in general, but
+requires a strong cipher for access to a particular URL?</a></li>
+</ul>
+
+<h3><a name="onlystrong" id="onlystrong">How can I create an SSL server which accepts strong encryption
+only?</a></h3>
+
+ <p>The following enables only the strongest ciphers:</p>
+ <pre class="prettyprint lang-config">SSLCipherSuite HIGH:!aNULL:!MD5</pre>
+
+
+ <p>While with the following configuration you specify a preference
+ for specific speed-optimized ciphers (which will be selected by
+ mod_ssl, provided that they are supported by the client):</p>
+
+ <pre class="prettyprint lang-config">SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
+SSLHonorCipherOrder on</pre>
+
+
+
+<h3><a name="strongurl" id="strongurl">How can I create an SSL server which accepts all types of ciphers
+in general, but requires a strong ciphers for access to a particular
+URL?</a></h3>
+
+ <p>Obviously, a server-wide <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> which restricts
+ ciphers to the strong variants, isn't the answer here. However,
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> can be reconfigured within <code>Location</code>
+ blocks, to give a per-directory solution, and can automatically force
+ a renegotiation of the SSL parameters to meet the new configuration.
+ This can be done as follows:</p>
+ <pre class="prettyprint lang-config"># be liberal in general
+SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
+
+&lt;Location "/strong/area"&gt;
+# but https://hostname/strong/area/ and below
+# requires strong ciphers
+SSLCipherSuite HIGH:!aNULL:!MD5
+&lt;/Location&gt;</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ocspstapling" id="ocspstapling">OCSP Stapling</a></h2>
+
+
+<p>The Online Certificate Status Protocol (OCSP) is a mechanism for
+determining whether or not a server certificate has been revoked, and OCSP
+Stapling is a special form of this in which the server, such as httpd and
+mod_ssl, maintains current OCSP responses for its certificates and sends
+them to clients which communicate with the server. Most certificates
+contain the address of an OCSP responder maintained by the issuing
+Certificate Authority, and mod_ssl can communicate with that responder to
+obtain a signed response that can be sent to clients communicating with
+the server.</p>
+
+<p>Because the client can obtain the certificate revocation status from
+the server, without requiring an extra connection from the client to the
+Certificate Authority, OCSP Stapling is the preferred way for the
+revocation status to be obtained. Other benefits of eliminating the
+communication between clients and the Certificate Authority are that the
+client browsing history is not exposed to the Certificate Authority and
+obtaining status is more reliable by not depending on potentially heavily
+loaded Certificate Authority servers.</p>
+
+<p>Because the response obtained by the server can be reused for all clients
+using the same certificate during the time that the response is valid, the
+overhead for the server is minimal.</p>
+
+<p>Once general SSL support has been configured properly, enabling OCSP
+Stapling generally requires only very minor modifications to the httpd
+configuration &#8212; the addition of these two directives:</p>
+
+ <pre class="prettyprint lang-config">SSLUseStapling On
+SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"</pre>
+
+
+<p>These directives are placed at global scope (i.e., not within a virtual
+host definition) wherever other global SSL configuration directives are
+placed, such as in <code>conf/extra/httpd-ssl.conf</code> for normal
+open source builds of httpd, <code>/etc/apache2/mods-enabled/ssl.conf</code>
+for the Ubuntu or Debian-bundled httpd, etc.</p>
+
+<p>The path on the <code class="directive">SSLStaplingCache</code> directive
+(e.g., <code>logs/</code>) should match the one on the
+<code class="directive">SSLSessionCache</code> directive. This path is relative
+to <code class="directive">ServerRoot</code>.</p>
+
+<p>This particular <code class="directive">SSLStaplingCache</code> directive requires
+<code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> (from the <code>shmcb</code> prefix on the
+directive's argument). This module is usually enabled already for
+<code class="directive">SSLSessionCache</code> or on behalf of some module other than
+<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. If you enabled an SSL session cache using a
+mechanism other than <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code>, use that alternative
+mechanism for <code class="directive">SSLStaplingCache</code> as well. For example:</p>
+
+ <pre class="prettyprint lang-config">SSLSessionCache "dbm:logs/ssl_scache"
+SSLStaplingCache "dbm:logs/ssl_stapling"</pre>
+
+
+<p>You can use the openssl command-line program to verify that an OCSP response
+is sent by your server:</p>
+
+<pre>$ openssl s_client -connect www.example.com:443 -status -servername www.example.com
+...
+OCSP response:
+======================================
+OCSP Response Data:
+ OCSP Response Status: successful (0x0)
+ Response Type: Basic OCSP Response
+...
+ Cert Status: Good
+...</pre>
+
+<p>The following sections highlight the most common situations which require
+further modification to the configuration. Refer also to the
+<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> reference manual.</p>
+
+<h3>If more than a few SSL certificates are used for the server</h3>
+
+<p>OCSP responses are stored in the SSL stapling cache. While the responses
+are typically a few hundred to a few thousand bytes in size, mod_ssl
+supports OCSP responses up to around 10K bytes in size. With more than a
+few certificates, the stapling cache size (32768 bytes in the example above)
+may need to be increased. Error message AH01929 will be logged in case of
+an error storing a response.</p>
+
+
+<h3>If the certificate does not point to an OCSP responder, or if a
+different address must be used</h3>
+
+<p>Refer to the
+<code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code> directive.</p>
+
+<p>You can confirm that a server certificate points to an OCSP responder
+using the openssl command-line program, as follows:</p>
+
+<pre>$ openssl x509 -in ./www.example.com.crt -text | grep 'OCSP.*http'
+OCSP - URI:http://ocsp.example.com</pre>
+
+<p>If the OCSP URI is provided and the web server can communicate to it
+directly without using a proxy, no configuration is required. Note that
+firewall rules that control outbound connections from the web server may
+need to be adjusted.</p>
+
+<p>If no OCSP URI is provided, contact your Certificate Authority to
+determine if one is available; if so, configure it with
+<code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code> in the virtual
+host that uses the certificate.</p>
+
+
+<h3>If multiple SSL-enabled virtual hosts are configured and OCSP
+Stapling should be disabled for some</h3>
+
+
+<p>Add <code>SSLUseStapling Off</code> to the virtual hosts for which OCSP
+Stapling should be disabled.</p>
+
+
+<h3>If the OCSP responder is slow or unreliable</h3>
+
+<p>Several directives are available to handle timeouts and errors. Refer
+to the documentation for the
+<code class="directive"><a href="../mod/mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></code>,
+<code class="directive"><a href="../mod/mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></code>, and
+<code class="directive"><a href="../mod/mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code>
+directives.</p>
+
+
+<h3>If mod_ssl logs error AH02217</h3>
+
+<pre>AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!</pre>
+<p>In order to support OCSP Stapling when a particular server certificate is
+used, the certificate chain for that certificate must be configured. If it
+was not configured as part of enabling SSL, the AH02217 error will be issued
+when stapling is enabled, and an OCSP response will not be provided for clients
+using the certificate.</p>
+
+<p>Refer to the <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></code>
+and <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> for instructions
+for configuring the certificate chain.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="accesscontrol" id="accesscontrol">Client Authentication and Access Control</a></h2>
+
+<ul>
+<li><a href="#allclients">How can I force clients to authenticate using certificates?</a></li>
+<li><a href="#arbitraryclients">How can I force clients to authenticate using certificates for a
+ particular URL, but still allow arbitrary clients to access the rest of the server?</a></li>
+<li><a href="#certauthenticate">How can I allow only clients who have certificates to access a
+ particular URL, but allow all clients to access the rest of the server?</a></li>
+<li><a href="#intranet">How can I require HTTPS with strong ciphers, and either
+basic authentication or client certificates, for access to part of the
+Intranet website, for clients coming from the Internet?</a></li>
+</ul>
+
+<h3><a name="allclients" id="allclients">How can I force clients to authenticate using certificates?</a></h3>
+
+
+ <p>When you know all of your users (eg, as is often the case on a corporate
+ Intranet), you can require plain certificate authentication. All you
+ need to do is to create client certificates signed by your own CA
+ certificate (<code>ca.crt</code>) and then verify the clients against this
+ certificate.</p>
+ <pre class="prettyprint lang-config"># require a client certificate which has to be directly
+# signed by our CA certificate in ca.crt
+SSLVerifyClient require
+SSLVerifyDepth 1
+SSLCACertificateFile "conf/ssl.crt/ca.crt"</pre>
+
+
+
+<h3><a name="arbitraryclients" id="arbitraryclients">How can I force clients to authenticate using certificates for a
+ particular URL, but still allow arbitrary clients to access the rest of the server?</a></h3>
+
+
+ <p>To force clients to authenticate using certificates for a particular URL,
+ you can use the per-directory reconfiguration features of
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>:</p>
+
+ <pre class="prettyprint lang-config">SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+
+&lt;Location "/secure/area"&gt;
+SSLVerifyClient require
+SSLVerifyDepth 1
+&lt;/Location&gt;</pre>
+
+
+
+<h3><a name="certauthenticate" id="certauthenticate">How can I allow only clients who have certificates to access a
+ particular URL, but allow all clients to access the rest of the server?</a></h3>
+
+
+ <p>The key to doing this is checking that part of the client certificate
+ matches what you expect. Usually this means checking all or part of the
+ Distinguished Name (DN), to see if it contains some known string.
+ There are two ways to do this, using either <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> or
+ <code class="directive"><a href="../mod/mod_ssl.html#sslrequire">SSLRequire</a></code>.</p>
+
+ <p>The <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> method is generally required when
+ the certificates are completely arbitrary, or when their DNs have
+ no common fields (usually the organisation, etc.). In this case,
+ you should establish a password database containing <em>all</em>
+ clients allowed, as follows:</p>
+
+ <pre class="prettyprint lang-config">SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+&lt;Directory "/usr/local/apache2/htdocs/secure/area"&gt;
+ SSLVerifyClient require
+ SSLVerifyDepth 5
+ SSLOptions +FakeBasicAuth
+ SSLRequireSSL
+ AuthName "Snake Oil Authentication"
+ AuthType Basic
+ AuthBasicProvider file
+ AuthUserFile "/usr/local/apache2/conf/httpd.passwd"
+ Require valid-user
+&lt;/Directory&gt;</pre>
+
+
+ <p>The password used in this example is the DES encrypted string "password".
+ See the <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> docs for more
+ information.</p>
+
+ <div class="example"><h3>httpd.passwd</h3><pre>/C=DE/L=Munich/O=Snake Oil, Ltd./OU=Staff/CN=Foo:xxj31ZMTZzkVA
+/C=US/L=S.F./O=Snake Oil, Ltd./OU=CA/CN=Bar:xxj31ZMTZzkVA
+/C=US/L=L.A./O=Snake Oil, Ltd./OU=Dev/CN=Quux:xxj31ZMTZzkVA</pre></div>
+
+ <p>When your clients are all part of a common hierarchy, which is encoded
+ into the DN, you can match them more easily using <code class="directive"><a href="../mod/mod_ssl.html#sslrequire">SSLRequire</a></code>, as follows:</p>
+
+
+ <pre class="prettyprint lang-config">SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+&lt;Directory "/usr/local/apache2/htdocs/secure/area"&gt;
+ SSLVerifyClient require
+ SSLVerifyDepth 5
+ SSLOptions +FakeBasicAuth
+ SSLRequireSSL
+ SSLRequire %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+ and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
+&lt;/Directory&gt;</pre>
+
+
+
+<h3><a name="intranet" id="intranet">How can I require HTTPS with strong ciphers, and either basic
+authentication or client certificates, for access to part of the
+Intranet website, for clients coming from the Internet? I still want to allow
+plain HTTP access for clients on the Intranet.</a></h3>
+
+
+ <p>These examples presume that clients on the Intranet have IPs in the range
+ 192.168.1.0/24, and that the part of the Intranet website you want to allow
+ internet access to is <code>/usr/local/apache2/htdocs/subarea</code>.
+ This configuration should remain outside of your HTTPS virtual host, so
+ that it applies to both HTTPS and HTTP.</p>
+
+ <pre class="prettyprint lang-config">SSLCACertificateFile "conf/ssl.crt/company-ca.crt"
+
+&lt;Directory "/usr/local/apache2/htdocs"&gt;
+ # Outside the subarea only Intranet access is granted
+ Require ip 192.168.1.0/24
+&lt;/Directory&gt;
+
+&lt;Directory "/usr/local/apache2/htdocs/subarea"&gt;
+ # Inside the subarea any Intranet access is allowed
+ # but from the Internet only HTTPS + Strong-Cipher + Password
+ # or the alternative HTTPS + Strong-Cipher + Client-Certificate
+
+ # If HTTPS is used, make sure a strong cipher is used.
+ # Additionally allow client certs as alternative to basic auth.
+ SSLVerifyClient optional
+ SSLVerifyDepth 1
+ SSLOptions +FakeBasicAuth +StrictRequire
+ SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
+
+ # Force clients from the Internet to use HTTPS
+ RewriteEngine on
+ RewriteCond "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
+ RewriteCond "%{HTTPS}" "!=on"
+ RewriteRule "." "-" [F]
+
+ # Allow Network Access and/or Basic Auth
+ Satisfy any
+
+ # Network Access Control
+ Require ip 192.168.1.0/24
+
+ # HTTP Basic Authentication
+ AuthType basic
+ AuthName "Protected Intranet Area"
+ AuthBasicProvider file
+ AuthUserFile "conf/protected.passwd"
+ Require valid-user
+&lt;/Directory&gt;</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="logging" id="logging">Logging</a></h2>
+
+
+ <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> can log extremely verbose debugging information
+ to the error log, when its <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> is
+ set to the higher trace levels. On the other hand, on a very busy server,
+ level <code>info</code> may already be too much. Remember that you can
+ configure the <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> per module to
+ suite your needs.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_howto.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_howto.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_howto.html.fr.utf8 b/docs/manual/ssl/ssl_howto.html.fr.utf8
new file mode 100644
index 0000000..bd6ee35
--- /dev/null
+++ b/docs/manual/ssl/ssl_howto.html.fr.utf8
@@ -0,0 +1,489 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Chiffrement fort SSL/TLS : Mode d'emploi - Serveur HTTP Apache Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur HTTP Apache Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement fort SSL/TLS : Mode d'emploi</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_howto.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_howto.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+
+
+<p>Ce document doit vous permettre de démarrer et de faire fonctionner
+une configuration de base. Avant de vous lancer dans l'application de
+techniques avancées, il est fortement recommandé de lire le reste
+de la documentation SSL afin d'en comprendre le fonctionnement de
+maniÚre plus approfondie.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configexample">Exemple de configuration basique</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ciphersuites">Suites de chiffrement et mise en application de la sécurité
+de haut niveau</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ocspstapling">Agrafage OCSP</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#accesscontrol">Authentification du client et contrÎle d'accÚs</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="configexample" id="configexample">Exemple de configuration basique</a></h2>
+
+
+<p>Votre configuration SSL doit comporter au moins les directives
+suivantes :</p>
+
+<pre class="prettyprint lang-config">LoadModule ssl_module modules/mod_ssl.so
+
+Listen 443
+&lt;VirtualHost *:443&gt;
+ ServerName www.example.com
+ SSLEngine on
+ SSLCertificateFile "/path/to/www.example.com.cert"
+ SSLCertificateKeyFile "/path/to/www.example.com.key"
+&lt;/VirtualHost&gt;</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ciphersuites" id="ciphersuites">Suites de chiffrement et mise en application de la sécurité
+de haut niveau</a></h2>
+
+<ul>
+<li><a href="#onlystrong">Comment créer un serveur SSL
+qui n'accepte que le chiffrement fort ?</a></li>
+<li><a href="#strongurl">Comment créer un serveur qui accepte tous les types de
+chiffrement en général, mais exige un chiffrement fort pour pouvoir
+accéder à une URL particuliÚre ?</a></li>
+</ul>
+
+
+<h3><a name="onlystrong" id="onlystrong">Comment créer un serveur SSL qui n'accepte
+que le chiffrement fort ?</a></h3>
+
+ <p>Les directives suivantes ne permettent que les
+ chiffrements de plus haut niveau :</p>
+ <pre class="prettyprint lang-config">SSLCipherSuite HIGH:!aNULL:!MD5</pre>
+
+
+ <p>Avec la configuration qui suit, vous indiquez une préférence pour
+ des algorityhmes de chiffrement spécifiques optimisés en matiÚre de
+ rapidité (le choix final sera opéré par mod_ssl, dans la mesure ou le
+ client les supporte) :</p>
+
+ <pre class="prettyprint lang-config">SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
+SSLHonorCipherOrder on</pre>
+
+
+
+<h3><a name="strongurl" id="strongurl">Comment créer un serveur qui accepte tous les types de
+chiffrement en général, mais exige un chiffrement fort pour pouvoir
+accéder à une URL particuliÚre ?</a></h3>
+
+ <p>Dans ce cas bien évidemment, une directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> au niveau du serveur principal
+ qui restreint le choix des suites de chiffrement aux versions les plus
+ fortes ne conviendra pas. <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut cependant être
+ reconfiguré au sein de blocs <code>Location</code> qui permettent
+ d'adapter la configuration générale à un répertoire spécifique ;
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut alors forcer automatiquement une
+ renégociation des paramÚtres SSL pour parvenir au but recherché.
+ Cette configuration peut se présenter comme suit :</p>
+ <pre class="prettyprint lang-config"># soyons trÚs tolérant a priori
+SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
+
+&lt;Location "/strong/area"&gt;
+# sauf pour https://hostname/strong/area/ et ses sous-répertoires
+# qui exigent des chiffrements forts
+SSLCipherSuite HIGH:!aNULL:!MD5
+&lt;/Location&gt;</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ocspstapling" id="ocspstapling">Agrafage OCSP</a></h2>
+
+
+<p>Le protocole de contrÃŽle du statut des certificats en ligne (Online
+Certificate Status Protocol - OCSP) est un mécanisme permettant de
+déterminer si un certificat a été révoqué ou non, et l'agrafage OCSP en
+est une fonctionnalité particuliÚre par laquelle le serveur, par exemple
+httpd et mod_ssl, maintient une liste des réponses OCSP actuelles pour
+ses certificats et l'envoie aux clients qui communiquent avec lui. La
+plupart des certificats contiennent l'adresse d'un répondeur OCSP maintenu
+par l'Autorité de Certification (CA) spécifiée, et mod_ssl peut requérir
+ce répondeur pour obtenir une réponse signée qui peut être envoyée aux
+clients qui communiquent avec le serveur.</p>
+
+<p>L'agrafage OCSP est la méthode la plus performante pour obtenir le
+statut d'un certificat car il est disponible au niveau du serveur, et le
+client n'a donc pas besoin d'ouvrir une nouvelle connexion vers
+l'autorité de certification. Autres avantages de l'absence de
+communication entre le client et l'autorité de certification :
+l'autorité de certification n'a pas accÚs à l'historique de navigation
+du client, et l'obtention du statut du certificat est plus efficace car
+elle n'est plus assujettie à une surcharge éventuelle des serveurs de
+l'autorité de certification.</p>
+
+<p>La charge du serveur est moindre car la réponse qu'il a obtenu du
+répondeur OCSP peut être réutilisée par tous les clients qui utilisent
+le même certificat dans la limite du temps de validité de la réponse.</p>
+
+<p>Une fois le support général SSL correctement configuré, l'activation
+de l'agrafage OCSP ne requiert que des modifications mineures
+à la configuration de httpd et il suffit en général de l'ajout de ces
+deux directives :</p>
+
+ <pre class="prettyprint lang-config">SSLUseStapling On
+SSLStaplingCache "shmcb:ssl_stapling(32768)"</pre>
+
+
+<p>Ces directives sont placées de façon à ce qu'elles aient une portée
+globale (et particuliÚrement en dehors de toute section VirtualHost), le
+plus souvent où sont placées les autres directives de configuration
+globales SSL, comme <code>conf/extra/httpd-ssl.conf</code> pour les
+installations de httpd à partir des sources, ou
+<code>/etc/apache2/mods-enabled/ssl.conf</code> pour Ubuntu ou Debian,
+etc...</p>
+
+<p>Le chemin spécifié par la directive
+<code class="directive">SSLStaplingCache</code> (par exemple <code>logs/</code>)
+doit être le même que celui spécifié par la directive
+<code class="directive">SSLSessionCache</code>. Ce chemin est relatif au chemin
+spécifié par la directive <code class="directive">ServerRoot</code>.</p>
+
+<p>Cette directive <code class="directive">SSLStaplingCache</code> particuliÚre
+nécessite le chargement du module <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> (à
+cause du préfixe <code>shmcb</code> de son argument). Ce module est en
+général déjà activé pour la directive
+<code class="directive">SSLSessionCache</code>, ou pour des modules autres que
+<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Si vous activez un cache de session SSL
+utilisant un mécanisme autre que <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code>,
+utilisez aussi ce mécanisme alternatif pour la directive
+<code class="directive">SSLStaplingCache</code>. Par exemple :</p>
+
+ <pre class="prettyprint lang-config">SSLSessionCache "dbm:ssl_scache"
+SSLStaplingCache "dbm:ssl_stapling"</pre>
+
+
+<p>Vous pouvez utiliser la commande openssl pour vérifier que votre
+serveur envoie bien une réponse OCSP :</p>
+
+<pre>$ openssl s_client -connect www.example.com:443 -status -servername www.example.com
+...
+OCSP response:
+======================================
+OCSP Response Data:
+ OCSP Response Status: successful (0x0)
+ Response Type: Basic OCSP Response
+...
+ Cert Status: Good
+...</pre>
+
+<p>Les sections suivantes explicitent les situations courantes qui
+requiÚrent des modifications supplémentaires de la configuration. Vous
+pouvez aussi vous référer au manuel de référence de
+<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
+
+<h3>Si l'on utilise plus que quelques certificats SSL pour le serveur</h3>
+
+<p>Les réponses OCSP sont stockées dans le cache d'agrafage SSL. Alors
+que les réponses ont une taille de quelques centaines à quelques
+milliers d'octets, mod_ssl supporte des réponses d'une taille jusqu'à
+environ 10 ko. Dans notre cas, le nombre de certificats est conséquent
+et la taille du cache (32768 octets dans l'exemple ci-dessus) doit être
+augmentée. En cas d'erreur lors du stockage d'une réponse, le
+message AH01929 sera enregistré dans le journal.</p>
+
+
+<h3>Si le certificat ne spécifie pas de répondeur OCSP, ou si une
+adresse différente doit être utilisée</h3>
+
+<p>Veuillez vous référer à la documentation de la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code>.</p>
+
+<p>Vous pouvez vérifier si un certificat spécifie un répondeur OCSP en
+utilisant la commande openssl comme suit :</p>
+
+<pre>$ openssl x509 -in ./www.example.com.crt -text | grep 'OCSP.*http'
+OCSP - URI:http://ocsp.example.com</pre>
+
+<p>Si un URI OCSP est fourni et si le serveur web peut communiquer
+directement avec lui sans passer par un mandataire, aucune modification
+supplémentaire de la configuration n'est requise. Notez que les rÚgles
+du pare-feu qui contrÃŽlent les connexions sortantes en provenance du
+serveur web devront peut-être subir quelques ajustements.</p>
+
+<p>Si aucun URI OCSP n'est fourni, contactez votre autorité de
+certification pour savoir s'il en existe une ; si c'est le
+cas, utilisez la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code> pour la spécifier dans
+la configuration du serveur virtuel qui utilise le certificat.</p>
+
+
+<h3>Si plusieurs serveurs virtuels sont configurés pour utiliser SSL
+et si l'agrafage OCSP doit être désactivé pour certains d'entre eux</h3>
+
+
+<p>Ajoutez la directive <code>SSLUseStapling Off</code> à la
+configuration des serveurs virtuels pour lesquels l'agrafage OCSP doit
+être désactivé.</p>
+
+
+<h3>Si le répondeur OCSP est lent ou instable</h3>
+
+<p>De nombreuses directives permettent de gérer les temps de réponse et
+les erreurs. Référez-vous à la documentation de <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></code>, <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></code>, et <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code>.</p>
+
+
+<h3>Si mod_ssl enregistre l'erreur AH02217 dans le journal</h3>
+
+<pre>AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!</pre>
+<p>Afin de pouvoir supporter l'agrafage OCSP lorsqu'un certificat de
+serveur particulier est utilisé, une chaîne de certification pour ce
+certificat doit être spécifiée. Si cela n'a pas été fait lors de
+l'activation de SSL, l'erreur AH02217 sera enregistrée lorsque
+l'agrafage OCSP sera activé, et les clients qui utilisent le certificat
+considéré ne recevront pas de réponse OCSP.</p>
+
+<p>Veuillez vous référer à la documentation des directives <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></code> et <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> pour spécifier une
+chaîne de certification.</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="accesscontrol" id="accesscontrol">Authentification du client et contrÎle d'accÚs</a></h2>
+
+<ul>
+<li><a href="#allclients">Comment forcer les clients
+à s'authentifier à l'aide de certificats ?</a></li>
+<li><a href="#arbitraryclients">Comment forcer les clients
+à s'authentifier à l'aide de certificats pour une URL particuliÚre,
+mais autoriser quand-même tout client anonyme
+à accéder au reste du serveur ?</a></li>
+<li><a href="#certauthenticate">Comment n'autoriser l'accÚs à une URL
+particuliÚre qu'aux clients qui possÚdent des certificats, mais autoriser
+l'accÚs au reste du serveur à tous les clients ?</a></li>
+<li><a href="#intranet">Comment imposer HTTPS avec chiffrements forts,
+et soit authentification de base, soit possession de certificats clients,
+pour l'accÚs à une partie de l'Intranet, pour les clients en
+provenance de l'Internet ?</a></li>
+</ul>
+
+<h3><a name="allclients" id="allclients">Comment forcer les clients
+à s'authentifier à l'aide de certificats ?
+</a></h3>
+
+
+ <p>Lorsque vous connaissez tous vos clients (comme c'est en général le cas
+ au sein d'un intranet d'entreprise), vous pouvez imposer une
+ authentification basée uniquement sur les certificats. Tout ce dont vous
+ avez besoin pour y parvenir est de créer des certificats clients signés par
+ le certificat de votre propre autorité de certification
+ (<code>ca.crt</code>), et d'authentifier les clients à l'aide de ces
+ certificats.</p>
+ <pre class="prettyprint lang-config"># exige un certificat client signé par le certificat de votre CA
+# contenu dans ca.crt
+SSLVerifyClient require
+SSLVerifyDepth 1
+SSLCACertificateFile "conf/ssl.crt/ca.crt"</pre>
+
+
+
+<h3><a name="arbitraryclients" id="arbitraryclients">Comment forcer les clients
+à s'authentifier à l'aide de certificats pour une URL particuliÚre,
+mais autoriser quand-même tout client anonyme
+à accéder au reste du serveur ?</a></h3>
+
+
+<p>Pour forcer les clients à s'authentifier à l'aide de certificats pour une
+URL particuliÚre, vous pouvez utiliser les fonctionnalités de reconfiguration
+de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en fonction du répertoire :</p>
+
+ <pre class="prettyprint lang-config">SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+
+&lt;Location "/secure/area"&gt;
+SSLVerifyClient require
+SSLVerifyDepth 1
+&lt;/Location&gt;</pre>
+
+
+
+<h3><a name="certauthenticate" id="certauthenticate">Comment n'autoriser l'accÚs à une URL
+particuliÚre qu'aux clients qui possÚdent des certificats, mais autoriser
+l'accÚs au reste du serveur à tous les clients ?</a></h3>
+
+
+ <p>La clé du problÚme consiste à vérifier si une partie du certificat
+ client correspond à ce que vous attendez. Cela signifie en général
+ consulter tout ou partie du nom distinctif (DN), afin de vérifier s'il
+ contient une chaîne connue. Il existe deux méthodes pour y parvenir ;
+ on utilise soit le module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, soit la
+ directive <code class="directive"><a href="../mod/mod_ssl.html#sslrequire">SSLRequire</a></code>.</p>
+
+ <p>La méthode du module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est en général
+ incontournable lorsque les certificats ont un contenu arbitraire, ou
+ lorsque leur DN ne contient aucun champ connu
+ (comme l'organisation, etc...). Dans ce cas, vous devez construire une base
+ de données de mots de passe contenant <em>tous</em> les clients
+ autorisés, comme suit :</p>
+
+ <pre class="prettyprint lang-config">SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+&lt;Directory "/usr/local/apache2/htdocs/secure/area"&gt;
+SSLVerifyClient require
+ SSLVerifyDepth 5
+ SSLOptions +FakeBasicAuth
+ SSLRequireSSL
+ AuthName "Snake Oil Authentication"
+ AuthType Basic
+ AuthBasicProvider file
+ AuthUserFile "/usr/local/apache2/conf/httpd.passwd"
+ Require valid-user
+&lt;/Directory&gt;</pre>
+
+
+
+ <p>Le mot de passe utilisé dans cet exemple correspond à la chaîne de
+ caractÚres "password" chiffrée en DES. Voir la documentation de la
+ directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> pour
+ plus de détails.</p>
+
+ <div class="example"><h3>httpd.passwd</h3><pre>/C=DE/L=Munich/O=Snake Oil, Ltd./OU=Staff/CN=Foo:xxj31ZMTZzkVA
+/C=US/L=S.F./O=Snake Oil, Ltd./OU=CA/CN=Bar:xxj31ZMTZzkVA
+/C=US/L=L.A./O=Snake Oil, Ltd./OU=Dev/CN=Quux:xxj31ZMTZzkVA</pre></div>
+
+ <p>Lorsque vos clients font tous partie d'une même hiérarchie, ce qui
+ apparaît dans le DN, vous pouvez les authentifier plus facilement en
+ utilisant la directive <code class="directive"><a href="../mod/mod_ssl.html#sslrequire">SSLRequire</a></code>, comme suit :</p>
+
+
+ <pre class="prettyprint lang-config">SSLVerifyClient none
+SSLCACertificateFile "conf/ssl.crt/ca.crt"
+SSLCACertificatePath "conf/ssl.crt"
+
+&lt;Directory "/usr/local/apache2/htdocs/secure/area"&gt;
+ SSLVerifyClient require
+ SSLVerifyDepth 5
+ SSLOptions +FakeBasicAuth
+ SSLRequireSSL
+ SSLRequire %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+ and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
+&lt;/Directory&gt;</pre>
+
+
+
+<h3><a name="intranet" id="intranet">Comment imposer HTTPS avec chiffrements forts,
+et soit authentification de base, soit possession de certificats clients,
+pour l'accÚs à une partie de l'Intranet, pour les clients en
+provenance de l'Internet ? Je souhaite quand-même autoriser l'accÚs en HTTP
+aux clients de l'intranet.</a></h3>
+
+
+ <p>On suppose dans ces exemples que les clients de l'intranet ont des
+ adresses IP dans la gamme 192.168.1.0/24, et que la partie de l'intranet
+ à laquelle vous voulez autoriser l'accÚs depuis l'Internet est
+ <code>/usr/local/apache2/htdocs/subarea</code>. Ces lignes de configuration
+ doivent se trouver en dehors de votre hÃŽte virtuel HTTPS, afin qu'elles
+ s'appliquent à la fois à HTTP et HTTPS.</p>
+
+ <pre class="prettyprint lang-config">SSLCACertificateFile "conf/ssl.crt/company-ca.crt"
+
+&lt;Directory "/usr/local/apache2/htdocs"&gt;
+# En dehors de subarea, seul l'accÚs depuis l'intranet est
+# autorisé
+ Require ip 192.168.1.0/24
+&lt;/Directory&gt;
+
+&lt;Directory "/usr/local/apache2/htdocs/subarea"&gt;
+# Dans subarea, tout accÚs depuis l'intranet est autorisé
+# mais depuis l'Internet, seul l'accÚs par HTTPS + chiffrement fort + Mot de passe
+# ou HTTPS + chiffrement fort + certificat client n'est autorisé.
+
+# Si HTTPS est utilisé, on s'assure que le niveau de chiffrement est fort.
+# Autorise en plus les certificats clients comme une alternative à
+# l'authentification basique.
+ SSLVerifyClient optional
+ SSLVerifyDepth 1
+ SSLOptions +FakeBasicAuth +StrictRequire
+ SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
+
+ # ON oblige les clients venant d'Internet à utiliser HTTPS
+ RewriteEngine on
+ RewriteCond "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
+ RewriteCond "%{HTTPS}" "!=on"
+ RewriteRule "." "-" [F]
+
+ # On permet l'accÚs soit sur les critÚres réseaux, soit par authentification Basique
+ Satisfy any
+
+ # ContrÎle d'accÚs réseau
+ Require ip 192.168.1.0/24
+
+ # Configuration de l'authentification HTTP Basique
+ AuthType basic
+ AuthName "Protected Intranet Area"
+ AuthBasicProvider file
+ AuthUserFile "conf/protected.passwd"
+ Require valid-user
+&lt;/Directory&gt;</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="logging" id="logging">Journalisation</a></h2>
+
+
+ <p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut enregistrer des informations de
+ débogage trÚs verbeuses dans le journal des erreurs, lorsque sa
+ directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie
+ à des niveaux de trace élevés. Par contre, sur un serveur trÚs
+ sollicité, le niveau <code>info</code> sera probablement déjà trop
+ élevé. Souvenez-vous que vous pouvez configurer la directive
+ <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> par module afin de
+ pourvoir à vos besoins.</p>
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_howto.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_howto.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_intro.html b/docs/manual/ssl/ssl_intro.html
new file mode 100644
index 0000000..6c80387
--- /dev/null
+++ b/docs/manual/ssl/ssl_intro.html
@@ -0,0 +1,13 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: ssl_intro.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
+
+URI: ssl_intro.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
+
+URI: ssl_intro.html.ja.utf8
+Content-Language: ja
+Content-type: text/html; charset=UTF-8
diff --git a/docs/manual/ssl/ssl_intro.html.en b/docs/manual/ssl/ssl_intro.html.en
new file mode 100644
index 0000000..a8c5d0b
--- /dev/null
+++ b/docs/manual/ssl/ssl_intro.html.en
@@ -0,0 +1,672 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>SSL/TLS Strong Encryption: An Introduction - Apache HTTP Server Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>SSL/TLS Strong Encryption: An Introduction</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_intro.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_intro.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+
+
+<p>As an introduction this chapter is aimed at readers who are familiar
+with the Web, HTTP, and Apache, but are not security experts. It is not
+intended to be a definitive guide to the SSL protocol, nor does it discuss
+specific techniques for managing certificates in an organization, or the
+important legal issues of patents and import and export restrictions.
+Rather, it is intended to provide a common background to <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> users by pulling together various concepts, definitions,
+and examples as a starting point for further exploration.</p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cryptographictech">Cryptographic Techniques</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#certificates">Certificates</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssl">Secure Sockets Layer (SSL)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#references">References</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="cryptographictech" id="cryptographictech">Cryptographic Techniques</a></h2>
+
+<p>Understanding SSL requires an understanding of cryptographic
+algorithms, message digest functions (aka. one-way or hash functions), and
+digital signatures. These techniques are the subject of entire books (see
+for instance [<a href="#AC96">AC96</a>]) and provide the basis for privacy,
+integrity, and authentication.</p>
+
+<h3><a name="cryptographicalgo" id="cryptographicalgo">Cryptographic Algorithms</a></h3>
+
+ <p>Suppose Alice wants to send a message to her bank to transfer some
+ money. Alice would like the message to be private, since it will
+ include information such as her account number and transfer amount. One
+ solution is to use a cryptographic algorithm, a technique that would
+ transform her message into an encrypted form, unreadable until it is
+ decrypted. Once in this form, the message can only be
+ decrypted by using a secret key. Without the key the message is useless:
+ good cryptographic algorithms make it so difficult
+ for intruders to decode the original text that it isn't worth their
+ effort.</p>
+
+ <p>There are two categories of cryptographic algorithms: conventional
+ and public key.</p>
+
+ <dl>
+ <dt>Conventional cryptography</dt>
+ <dd>also known as symmetric cryptography, requires the sender and
+ receiver to share a key: a secret piece of information that may be
+ used to encrypt or decrypt a message. As long as this key is kept
+ secret, nobody other than the sender or recipient can read the message.
+ If Alice and the bank know a secret key, then they can send each other
+ private messages. The task of sharing a key between sender and recipient
+ before communicating, while also keeping it secret from others, can be
+ problematic.</dd>
+
+ <dt>Public key cryptography</dt>
+ <dd>also known as asymmetric cryptography, solves the key exchange
+ problem by defining an algorithm which uses two keys, each of which
+ may be used to encrypt a message. If one key is used to encrypt a
+ message then the other must be used to decrypt it. This makes it
+ possible to receive secure messages by simply publishing one key
+ (the public key) and keeping the other secret (the private key).</dd>
+ </dl>
+
+ <p>Anyone can encrypt a message using the public key, but only the
+ owner of the private key will be able to read it. In this way, Alice
+ can send private messages to the owner of a key-pair (the bank), by
+ encrypting them using their public key. Only the bank will be able to
+ decrypt them.</p>
+
+
+<h3><a name="messagedigests" id="messagedigests">Message Digests</a></h3>
+
+ <p>Although Alice may encrypt her message to make it private, there
+ is still a concern that someone might modify her original message or
+ substitute it with a different one, in order to transfer the money
+ to themselves, for instance. One way of guaranteeing the integrity
+ of Alice's message is for her to create a concise summary of her
+ message and send this to the bank as well. Upon receipt of the message,
+ the bank creates its own summary and compares it with the one Alice
+ sent. If the summaries are the same then the message has been received
+ intact.</p>
+
+ <p>A summary such as this is called a <dfn>message digest</dfn>, <em>one-way
+ function</em> or <em>hash function</em>. Message digests are used to create
+ a short, fixed-length representation of a longer, variable-length message.
+ Digest algorithms are designed to produce a unique digest for each
+ message. Message digests are designed to make it impractically difficult
+ to determine the message from the digest and (in theory) impossible to
+ find two different messages which create the same digest -- thus
+ eliminating the possibility of substituting one message for another while
+ maintaining the same digest.</p>
+
+ <p>Another challenge that Alice faces is finding a way to send the digest
+ to the bank securely; if the digest is not sent securely, its integrity may
+ be compromised and with it the possibility for the bank to determine the
+ integrity of the original message. Only if the digest is sent securely can
+ the integrity of the associated message be determined.</p>
+
+ <p>One way to send the digest securely is to include it in a digital
+ signature.</p>
+
+
+<h3><a name="digitalsignatures" id="digitalsignatures">Digital Signatures</a></h3>
+<p>When Alice sends a message to the bank, the bank needs to ensure that the
+message is really from her, so an intruder cannot request a transaction
+involving her account. A <em>digital signature</em>, created by Alice and
+included with the message, serves this purpose.</p>
+
+<p>Digital signatures are created by encrypting a digest of the message and
+other information (such as a sequence number) with the sender's private key.
+Though anyone can <em>decrypt</em> the signature using the public key, only the
+sender knows the private key. This means that only the sender can have signed
+the message. Including the digest in the signature means the signature is only
+good for that message; it also ensures the integrity of the message since no one
+can change the digest and still sign it.</p>
+<p>To guard against interception and reuse of the signature by an intruder at a
+later date, the signature contains a unique sequence number. This protects
+the bank from a fraudulent claim from Alice that she did not send the message
+-- only she could have signed it (non-repudiation).</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="certificates" id="certificates">Certificates</a></h2>
+
+<p>Although Alice could have sent a private message to the bank, signed
+it and ensured the integrity of the message, she still needs to be sure
+that she is really communicating with the bank. This means that she needs
+to be sure that the public key she is using is part of the bank's key-pair,
+and not an intruder's. Similarly, the bank needs to verify that the message
+signature really was signed by the private key that belongs to Alice.</p>
+
+<p>If each party has a certificate which validates the other's identity,
+confirms the public key and is signed by a trusted agency, then both
+can be assured that they are communicating with whom they think they are.
+Such a trusted agency is called a <em>Certificate Authority</em> and
+certificates are used for authentication.</p>
+
+<h3><a name="certificatecontents" id="certificatecontents">Certificate Contents</a></h3>
+
+ <p>A certificate associates a public key with the real identity of
+ an individual, server, or other entity, known as the subject. As
+ shown in <a href="#table1">Table 1</a>, information about the subject
+ includes identifying information (the distinguished name) and the
+ public key. It also includes the identification and signature of the
+ Certificate Authority that issued the certificate and the period of
+ time during which the certificate is valid. It may have additional
+ information (or extensions) as well as administrative information
+ for the Certificate Authority's use, such as a serial number.</p>
+
+ <h4><a name="table1" id="table1">Table 1: Certificate Information</a></h4>
+
+ <table>
+
+ <tr><th>Subject</th>
+ <td>Distinguished Name, Public Key</td></tr>
+ <tr><th>Issuer</th>
+ <td>Distinguished Name, Signature</td></tr>
+ <tr><th>Period of Validity</th>
+ <td>Not Before Date, Not After Date</td></tr>
+ <tr><th>Administrative Information</th>
+ <td>Version, Serial Number</td></tr>
+ <tr><th>Extended Information</th>
+ <td>Basic Constraints, Netscape Flags, etc.</td></tr>
+ </table>
+
+
+ <p>A distinguished name is used to provide an identity in a specific
+ context -- for instance, an individual might have a personal
+ certificate as well as one for their identity as an employee.
+ Distinguished names are defined by the X.509 standard [<a href="#X509">X509</a>], which defines the fields, field names and
+ abbreviations used to refer to the fields (see <a href="#table2">Table
+ 2</a>).</p>
+
+ <h4><a name="table2" id="table2">Table 2: Distinguished Name Information</a></h4>
+
+ <table class="bordered">
+
+ <tr><th>DN Field</th>
+ <th>Abbrev.</th>
+ <th>Description</th>
+ <th>Example</th></tr>
+ <tr><td>Common Name</td>
+ <td>CN</td>
+ <td>Name being certified</td>
+ <td>CN=Joe Average</td></tr>
+ <tr><td>Organization or Company</td>
+ <td>O</td>
+ <td>Name is associated with this<br />organization</td>
+ <td>O=Snake Oil, Ltd.</td></tr>
+ <tr><td>Organizational Unit</td>
+ <td>OU</td>
+ <td>Name is associated with this <br />organization unit, such
+ as a department</td>
+ <td>OU=Research Institute</td></tr>
+ <tr><td>City/Locality</td>
+ <td>L</td>
+ <td>Name is located in this City</td>
+ <td>L=Snake City</td></tr>
+ <tr><td>State/Province</td>
+ <td>ST</td>
+ <td>Name is located in this State/Province</td>
+ <td>ST=Desert</td></tr>
+ <tr><td>Country</td>
+ <td>C</td>
+ <td>Name is located in this Country (ISO code)</td>
+ <td>C=XZ</td></tr>
+ </table>
+
+
+ <p>A Certificate Authority may define a policy specifying which
+ distinguished field names are optional and which are required. It
+ may also place requirements upon the field contents, as may users of
+ certificates. For example, a Netscape browser requires that the
+ Common Name for a certificate representing a server matches a wildcard
+ pattern for the domain name of that server, such
+ as <code>*.snakeoil.com</code>.</p>
+
+ <p>The binary format of a certificate is defined using the ASN.1
+ notation [<a href="#ASN1">ASN1</a>] [<a href="#PKCS">PKCS</a>]. This
+ notation defines how to specify the contents and encoding rules
+ define how this information is translated into binary form. The binary
+ encoding of the certificate is defined using Distinguished Encoding
+ Rules (DER), which are based on the more general Basic Encoding Rules
+ (BER). For those transmissions which cannot handle binary, the binary
+ form may be translated into an ASCII form by using Base64 encoding
+ [<a href="#MIME">MIME</a>]. When placed between begin and end delimiter
+ lines (as below), this encoded version is called a PEM ("Privacy Enhanced
+ Mail") encoded certificate.</p>
+
+ <div class="example"><h3>Example of a PEM-encoded certificate (snakeoil.crt)</h3><pre>-----BEGIN CERTIFICATE-----
+MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
+FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
+A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
+cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
+bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
+MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
+a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
+cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
+AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
+vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
+lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
+HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
+gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
+2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
+dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
+-----END CERTIFICATE-----</pre></div>
+
+
+<h3><a name="certificateauthorities" id="certificateauthorities">Certificate Authorities</a></h3>
+
+ <p>By verifying the information in a certificate request
+ before granting the certificate, the Certificate Authority assures
+ itself of the identity of the private key owner of a key-pair.
+ For instance, if Alice requests a personal certificate, the
+ Certificate Authority must first make sure that Alice really is the
+ person the certificate request claims she is.</p>
+
+ <h4><a name="certificatechains" id="certificatechains">Certificate Chains</a></h4>
+
+ <p>A Certificate Authority may also issue a certificate for
+ another Certificate Authority. When examining a certificate,
+ Alice may need to examine the certificate of the issuer, for each
+ parent Certificate Authority, until reaching one which she has
+ confidence in. She may decide to trust only certificates with a
+ limited chain of issuers, to reduce her risk of a "bad" certificate
+ in the chain.</p>
+
+
+ <h4><a name="rootlevelca" id="rootlevelca">Creating a Root-Level CA</a></h4>
+
+ <p>As noted earlier, each certificate requires an issuer to assert
+ the validity of the identity of the certificate subject, up to
+ the top-level Certificate Authority (CA). This presents a problem:
+ who can vouch for the certificate of the top-level
+ authority, which has no issuer? In this unique case, the
+ certificate is "self-signed", so the issuer of the certificate is
+ the same as the subject. Browsers are preconfigured to trust well-known
+ certificate authorities, but it is important to exercise extra care in
+ trusting a self-signed certificate. The wide publication of a
+ public key by the root authority reduces the risk in trusting this
+ key -- it would be obvious if someone else publicized a key
+ claiming to be the authority.</p>
+
+ <p>A number of companies, such as <a href="http://www.thawte.com/">Thawte</a> and <a href="http://www.verisign.com/">VeriSign</a>
+ have established themselves as Certificate Authorities. These
+ companies provide the following services:</p>
+
+ <ul>
+ <li>Verifying certificate requests</li>
+ <li>Processing certificate requests</li>
+ <li>Issuing and managing certificates</li>
+ </ul>
+
+ <p>It is also possible to create your own Certificate Authority.
+ Although risky in the Internet environment, it may be useful
+ within an Intranet where the organization can easily verify the
+ identities of individuals and servers.</p>
+
+
+ <h4><a name="certificatemanagement" id="certificatemanagement">Certificate Management</a></h4>
+
+ <p>Establishing a Certificate Authority is a responsibility which
+ requires a solid administrative, technical and management
+ framework. Certificate Authorities not only issue certificates,
+ they also manage them -- that is, they determine for how long
+ certificates remain valid, they renew them and keep lists of
+ certificates that were issued in the past but are no longer valid
+ (Certificate Revocation Lists, or CRLs).</p>
+
+ <p>For example, if Alice is entitled to a certificate as an
+ employee of a company but has now left
+ that company, her certificate may need to be revoked.
+ Because certificates are only issued after the subject's identity has
+ been verified and can then be passed around to all those with whom
+ the subject may communicate, it is impossible to tell from the
+ certificate alone that it has been revoked.
+ Therefore when examining certificates for validity
+ it is necessary to contact the issuing Certificate Authority to
+ check CRLs -- this is usually not an automated part of the process.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>If you use a Certificate Authority that browsers are not configured
+ to trust by default, it is necessary to load the Certificate
+ Authority certificate into the browser, enabling the browser to
+ validate server certificates signed by that Certificate Authority.
+ Doing so may be dangerous, since once loaded, the browser will
+ accept all certificates signed by that Certificate Authority.</p>
+ </div>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ssl" id="ssl">Secure Sockets Layer (SSL)</a></h2>
+
+<p>The Secure Sockets Layer protocol is a protocol layer which may be
+placed between a reliable connection-oriented network layer protocol
+(e.g. TCP/IP) and the application protocol layer (e.g. HTTP). SSL provides
+for secure communication between client and server by allowing mutual
+authentication, the use of digital signatures for integrity and encryption
+for privacy.</p>
+
+<p>The protocol is designed to support a range of choices for specific
+algorithms used for cryptography, digests and signatures. This allows
+algorithm selection for specific servers to be made based on legal, export
+or other concerns and also enables the protocol to take advantage of new
+algorithms. Choices are negotiated between client and server when
+establishing a protocol session.</p>
+
+<h3><a name="table4" id="table4">Table 4: Versions of the SSL protocol</a></h3>
+
+ <table class="bordered">
+
+ <tr><th>Version</th>
+ <th>Source</th>
+ <th>Description</th>
+ </tr>
+ <tr><td>SSL v2.0</td>
+ <td>Vendor Standard (from Netscape Corp.)</td>
+ <td>First SSL protocol for which implementations exist</td>
+ </tr>
+ <tr><td>SSL v3.0</td>
+ <td>Expired Internet Draft (from Netscape Corp.) [<a href="#SSL3">SSL3</a>]</td>
+ <td>Revisions to prevent specific security attacks, add non-RSA
+ ciphers and support for certificate chains</td>
+ </tr>
+ <tr><td>TLS v1.0</td>
+ <td>Proposed Internet Standard (from IETF) [<a href="#TLS1">TLS1</a>]</td>
+ <td>Revision of SSL 3.0 to update the MAC layer to HMAC, add block
+ padding for block ciphers, message order standardization and more
+ alert messages.</td>
+ </tr>
+ <tr><td>TLS v1.1</td>
+ <td>Proposed Internet Standard (from IETF) [<a href="#TLS11">TLS11</a>]</td>
+ <td>Update of TLS 1.0 to add protection against Cipher block chaining
+ (CBC) attacks.</td>
+ </tr>
+ <tr><td>TLS v1.2</td>
+ <td>Proposed Internet Standard (from IETF) [<a href="#TLS12">TLS12</a>]</td>
+ <td>Update of TLS 1.1 deprecating MD5 as hash, and adding incompatibility
+ to SSL so it will never negotiate the use of SSLv2.</td>
+ </tr>
+ </table>
+
+
+<p>There are a number of versions of the SSL protocol, as shown in
+<a href="#table4">Table 4</a>. As noted there, one of the benefits in
+SSL 3.0 is that it adds support of certificate chain loading. This feature
+allows a server to pass a server certificate along with issuer certificates
+to the browser. Chain loading also permits the browser to validate the
+server certificate, even if Certificate Authority certificates are not
+installed for the intermediate issuers, since they are included in the
+certificate chain. SSL 3.0 is the basis for the Transport Layer Security
+[<a href="#TLS1">TLS</a>] protocol standard, currently in development by
+the Internet Engineering Task Force (IETF).</p>
+
+<h3><a name="session" id="session">Establishing a Session</a></h3>
+
+ <p>The SSL session is established by following a handshake sequence
+ between client and server, as shown in <a href="#figure1">Figure 1</a>. This sequence may vary, depending on whether the server
+ is configured to provide a server certificate or request a client
+ certificate. Although cases exist where additional handshake steps
+ are required for management of cipher information, this article
+ summarizes one common scenario. See the SSL specification for the full
+ range of possibilities.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Once an SSL session has been established, it may be reused. This
+ avoids the performance penalty of repeating the many steps needed
+ to start a session. To do this, the server assigns each SSL session a
+ unique session identifier which is cached in the server and which the
+ client can use in future connections to reduce the handshake time
+ (until the session identifier expires from the cache of the server).</p>
+ </div>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig1.gif" alt="" width="423" height="327" /><br />
+ <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a>: Simplified SSL
+ Handshake Sequence</p>
+
+ <p>The elements of the handshake sequence, as used by the client and
+ server, are listed below:</p>
+
+ <ol>
+ <li>Negotiate the Cipher Suite to be used during data transfer</li>
+ <li>Establish and share a session key between client and server</li>
+ <li>Optionally authenticate the server to the client</li>
+ <li>Optionally authenticate the client to the server</li>
+ </ol>
+
+ <p>The first step, Cipher Suite Negotiation, allows the client and
+ server to choose a Cipher Suite supported by both of them. The SSL3.0
+ protocol specification defines 31 Cipher Suites. A Cipher Suite is
+ defined by the following components:</p>
+
+ <ul>
+ <li>Key Exchange Method</li>
+ <li>Cipher for Data Transfer</li>
+ <li>Message Digest for creating the Message Authentication Code (MAC)</li>
+ </ul>
+
+ <p>These three elements are described in the sections that follow.</p>
+
+
+<h3><a name="keyexchange" id="keyexchange">Key Exchange Method</a></h3>
+
+ <p>The key exchange method defines how the shared secret symmetric
+ cryptography key used for application data transfer will be agreed
+ upon by client and server. SSL 2.0 uses RSA key exchange only, while
+ SSL 3.0 supports a choice of key exchange algorithms including
+ RSA key exchange (when certificates are used), and Diffie-Hellman key
+ exchange (for exchanging keys without certificates, or without prior
+ communication between client and server).</p>
+
+ <p>One variable in the choice of key exchange methods is digital
+ signatures -- whether or not to use them, and if so, what kind of
+ signatures to use. Signing with a private key provides protection
+ against a man-in-the-middle-attack during the information exchange
+ used to generating the shared key [<a href="#AC96">AC96</a>, p516].</p>
+
+
+<h3><a name="ciphertransfer" id="ciphertransfer">Cipher for Data Transfer</a></h3>
+
+ <p>SSL uses conventional symmetric cryptography, as described earlier,
+ for encrypting messages in a session.
+ There are nine choices of how to encrypt, including the option not to
+ encrypt:</p>
+
+ <ul>
+ <li>No encryption</li>
+ <li>Stream Ciphers
+ <ul>
+ <li>RC4 with 40-bit keys</li>
+ <li>RC4 with 128-bit keys</li>
+ </ul></li>
+ <li>CBC Block Ciphers
+ <ul><li>RC2 with 40 bit key</li>
+ <li>DES with 40 bit key</li>
+ <li>DES with 56 bit key</li>
+ <li>Triple-DES with 168 bit key</li>
+ <li>Idea (128 bit key)</li>
+ <li>Fortezza (96 bit key)</li>
+ </ul></li>
+ </ul>
+
+ <p>"CBC" refers to Cipher Block Chaining, which means that a
+ portion of the previously encrypted cipher text is used in the
+ encryption of the current block. "DES" refers to the Data Encryption
+ Standard [<a href="#AC96">AC96</a>, ch12], which has a number of
+ variants (including DES40 and 3DES_EDE). "Idea" is currently one of
+ the best and cryptographically strongest algorithms available,
+ and "RC2" is a proprietary algorithm from RSA DSI [<a href="#AC96">AC96</a>, ch13].</p>
+
+
+<h3><a name="digestfunction" id="digestfunction">Digest Function</a></h3>
+
+ <p>The choice of digest function determines how a digest is created
+ from a record unit. SSL supports the following:</p>
+
+ <ul>
+ <li>No digest (Null choice)</li>
+ <li>MD5, a 128-bit hash</li>
+ <li>Secure Hash Algorithm (SHA-1), a 160-bit hash</li>
+ </ul>
+
+ <p>The message digest is used to create a Message Authentication Code
+ (MAC) which is encrypted with the message to verify integrity and to
+ protect against replay attacks.</p>
+
+
+<h3><a name="handshake" id="handshake">Handshake Sequence Protocol</a></h3>
+
+ <p>The handshake sequence uses three protocols:</p>
+
+ <ul>
+ <li>The <dfn>SSL Handshake Protocol</dfn>
+ for performing the client and server SSL session establishment.</li>
+ <li>The <dfn>SSL Change Cipher Spec Protocol</dfn> for actually
+ establishing agreement on the Cipher Suite for the session.</li>
+ <li>The <dfn>SSL Alert Protocol</dfn> for conveying SSL error
+ messages between client and server.</li>
+ </ul>
+
+ <p>These protocols, as well as application protocol data, are
+ encapsulated in the <dfn>SSL Record Protocol</dfn>, as shown in
+ <a href="#figure2">Figure 2</a>. An encapsulated protocol is
+ transferred as data by the lower layer protocol, which does not
+ examine the data. The encapsulated protocol has no knowledge of the
+ underlying protocol.</p>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig2.gif" alt="" width="428" height="217" /><br />
+ <a id="figure2" name="figure2"><dfn>Figure 2</dfn></a>: SSL Protocol Stack
+ </p>
+
+ <p>The encapsulation of SSL control protocols by the record protocol
+ means that if an active session is renegotiated the control protocols
+ will be transmitted securely. If there was no previous session,
+ the Null cipher suite is used, which means there will be no encryption and
+ messages will have no integrity digests, until the session has been
+ established.</p>
+
+
+<h3><a name="datatransfer" id="datatransfer">Data Transfer</a></h3>
+
+ <p>The SSL Record Protocol, shown in <a href="#figure3">Figure 3</a>,
+ is used to transfer application and SSL Control data between the
+ client and server, where necessary fragmenting this data into smaller units,
+ or combining multiple higher level protocol data messages into single
+ units. It may compress, attach digest signatures, and encrypt these
+ units before transmitting them using the underlying reliable transport
+ protocol (Note: currently, no major SSL implementations include support
+ for compression).</p>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig3.gif" alt="" width="423" height="323" /><br />
+ <a id="figure3" name="figure3"><dfn>Figure 3</dfn></a>: SSL Record Protocol
+ </p>
+
+
+<h3><a name="securehttp" id="securehttp">Securing HTTP Communication</a></h3>
+
+ <p>One common use of SSL is to secure Web HTTP communication between
+ a browser and a webserver. This does not preclude the use of
+ non-secured HTTP - the secure version (called HTTPS) is the same as
+ plain HTTP over SSL, but uses the URL scheme <code>https</code>
+ rather than <code>http</code>, and a different server port (by default,
+ port 443). This functionality is a large part of what <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> provides for the Apache webserver.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="references" id="references">References</a></h2>
+
+<dl>
+<dt><a id="AC96" name="AC96">[AC96]</a></dt>
+<dd>Bruce Schneier, <q>Applied Cryptography</q>, 2nd Edition, Wiley,
+1996. See <a href="http://www.counterpane.com/">http://www.counterpane.com/</a> for various other materials by Bruce
+Schneier.</dd>
+
+<dt><a id="ASN1" name="ASN1">[ASN1]</a></dt>
+<dd>ITU-T Recommendation X.208, <q>Specification of Abstract Syntax Notation
+One (ASN.1)</q>, last updated 2008. See <a href="http://www.itu.int/ITU-T/asn1/">http://www.itu.int/ITU-T/asn1/</a>.
+</dd>
+
+<dt><a id="X509" name="X509">[X509]</a></dt>
+<dd>ITU-T Recommendation X.509, <q>The Directory - Authentication
+Framework</q>. For references, see <a href="http://en.wikipedia.org/wiki/X.509">http://en.wikipedia.org/wiki/X.509</a>.
+</dd>
+
+<dt><a id="PKCS" name="PKCS">[PKCS]</a></dt>
+<dd><q>Public Key Cryptography Standards (PKCS)</q>,
+RSA Laboratories Technical Notes, See <a href="http://www.rsasecurity.com/rsalabs/pkcs/">http://www.rsasecurity.com/rsalabs/pkcs/</a>.</dd>
+
+<dt><a id="MIME" name="MIME">[MIME]</a></dt>
+<dd>N. Freed, N. Borenstein, <q>Multipurpose Internet Mail Extensions
+(MIME) Part One: Format of Internet Message Bodies</q>, RFC2045.
+See for instance <a href="http://tools.ietf.org/html/rfc2045">http://tools.ietf.org/html/rfc2045</a>.</dd>
+
+<dt><a id="SSL3" name="SSL3">[SSL3]</a></dt>
+<dd>Alan O. Freier, Philip Karlton, Paul C. Kocher, <q>The SSL Protocol
+Version 3.0</q>, 1996. See <a href="http://www.netscape.com/eng/ssl3/draft302.txt">http://www.netscape.com/eng/ssl3/draft302.txt</a>.</dd>
+
+<dt><a id="TLS1" name="TLS1">[TLS1]</a></dt>
+<dd>Tim Dierks, Christopher Allen, <q>The TLS Protocol Version 1.0</q>,
+1999. See <a href="http://ietf.org/rfc/rfc2246.txt">http://ietf.org/rfc/rfc2246.txt</a>.</dd>
+
+<dt><a id="TLS11" name="TLS11">[TLS11]</a></dt>
+<dd><q>The TLS Protocol Version 1.1</q>,
+2006. See <a href="http://tools.ietf.org/html/rfc4346">http://tools.ietf.org/html/rfc4346</a>.</dd>
+
+<dt><a id="TLS12" name="TLS12">[TLS12]</a></dt>
+<dd><q>The TLS Protocol Version 1.2</q>,
+2008. See <a href="http://tools.ietf.org/html/rfc5246">http://tools.ietf.org/html/rfc5246</a>.</dd>
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/ssl/ssl_intro.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_intro.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_intro.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_intro.html.fr.utf8 b/docs/manual/ssl/ssl_intro.html.fr.utf8
new file mode 100644
index 0000000..cc4fb39
--- /dev/null
+++ b/docs/manual/ssl/ssl_intro.html.fr.utf8
@@ -0,0 +1,727 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>Chiffrement SSL/TLS fort : Introduction - Serveur HTTP Apache Version 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur HTTP Apache Version 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement SSL/TLS fort : Introduction</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_intro.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+
+
+<p>Ce chapitre en guise d'introduction est destiné aux lecteurs pour lesquels
+le Web, HTTP et Apache sont familiers, mais ne sont pas des experts en matiÚre
+de sécurité. Il n'a pas la prétention d'être un guide détaillé sur le
+protocole SSL, il ne traitera pas non plus des techniques spécifiques de gestion
+des certificats dans une organisation, ni des importants problÚmes légaux de
+brevets ou des restrictions d'importation ou d'exportation. Il se veut plutÃŽt
+une base de travail pour les utilisateurs de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en
+rassemblant différents concepts, définitions et exemples comme point de départ
+pour une exploration plus détaillée.</p>
+
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cryptographictech">Techniques de chiffrement</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#certificates">Certificats</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssl">Couche Points d'AccÚs Sécurisés - Secure Sockets Layer (SSL)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#references">Références</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="cryptographictech" id="cryptographictech">Techniques de chiffrement</a></h2>
+
+<p>La maîtrise de SSL nécessite la compréhension des algorithmes de
+chiffrement, des fonctions relatives aux empreintes de messages (comme les
+fonctions de type hash ou non réversibles), et des signatures numériques. Ces
+techniques pourraient faire l'objet d'un ouvrage à elles seules (voir par
+exemple [<a href="#AC96">AC96</a>]) et constituent les bases de la
+confidentialité, de l'intégrité et de l'authentification.</p>
+
+<h3><a name="cryptographicalgo" id="cryptographicalgo">Algorithmes de chiffrement</a></h3>
+
+ <p>Supposons qu'Alice veuille envoyer un message à sa banque pour
+ transférer une certaine somme. Alice souhaiterait que le message soit
+ privé, car il contient des informations comme son numéro de compte et le
+ montant du transfert. Une solution consisterait à utiliser un algorithme de
+ chiffrement, technique qui permet de remplacer un message par sa version
+ chiffrée, illisible jusqu'à ce qu'elle soit déchiffrée.
+ Sous sa forme chiffrée,
+ le message ne peut être déchiffré qu'en utilisant une clé secrÚte. Sans la
+ clé, le message est inutilisable : les bons algorithmes de chiffrement
+ rendent si difficile la restitution du texte original par des intrus que
+ ceux-ci y gaspilleraient leurs efforts.</p>
+
+ <p>Il existe deux catégories d'algorithmes de chiffrement : conventionnel
+ ou à clé publique.</p>
+
+ <dl>
+ <dt>Chiffrement conventionnel</dt>
+ <dd>aussi connu sous le nom de chiffrement symétrique, il nécessite le
+ partage d'une clé entre l'expéditeur et le destinataire : une portion
+ d'information secrÚte permettant de chiffrer et déchiffrer un message.
+ Tant que cette clé reste secrÚte, personne à part l'expéditeur et le
+ destinataire ne peut lire le message. Si Alice et sa banque partagent une
+ clé secrÚte, ils peuvent donc s'envoyer l'un à l'autre des messages privés.
+ Le fait de partager une clé entre l'expéditeur et le destinataire avant
+ de communiquer, tout en la maintenant secrÚte vis à vis des autres, peut
+ toutefois poser des problÚmes.</dd>
+
+ <dt>Chiffrement à clé publique</dt>
+ <dd>aussi connu sous le nom de chiffrement asymétrique, il résoud le
+ problÚme d'échange de clé en définissant un algorithme qui utilise deux
+ clés, chacune d'entre elles pouvant être utilisée pour chiffrer un message.
+ Si une des clés a été utilisée pour chiffrer le message, on doit utiliser
+ l'autre clé pour le déchiffrer. Il est ainsi possible de recevoir des
+ messages sécurisés simplement en rendant publique une des clés (la clé
+ publique), et en gardant l'autre clé secrÚte (la clé privée).</dd>
+ </dl>
+
+ <p>Tout le monde peut chiffrer un message en utilisant la clé publique,
+ mais seul le propriétaire de la clé privée sera en mesure de le lire. De
+ cette façon, Alice peut envoyer des messages privés au propriétaire d'une
+ paire de clés (sa banque), en les chiffrant à l'aide de la clé publique.
+ Seule la banque sera en mesure de les déchiffrer.</p>
+
+
+<h3><a name="messagedigests" id="messagedigests">Empreinte d'un message</a></h3>
+
+ <p>Bien qu'Alice puisse chiffrer son message pour le rendre privé, il
+ subsiste toujours le risque que quelqu'un puisse modifier le message
+ original ou le remplacer par un autre, afin d'effectuer le transfert de
+ fonds à son profit, par exemple. Une solution pour garantir l'intégrité du
+ message consisterait pour Alice à créer un résumé concentré de son message
+ qu'elle enverrait à sa banque avec ce dernier. A la réception du message,
+ la banque crée son propre résumé et le compare avec celui qu'Alice a
+ envoyé. Si les deux résumés sont identiques, le message reçu n'a pas
+ été modifié.</p>
+
+ <p>Un résumé tel que celui-ci est appelé
+ <dfn>empreinte numérique de message</dfn> (message digest),
+ <em>fonction irréversible</em> (one-way function) ou
+ <em>fonction de hashage</em> (hash function). Une empreinte de message
+ constitue une représentation courte et de longueur fixe, d'un message plus
+ long et de longueur variable. Les algorithmes de création d'empreintes sont
+ conçus pour produire une empreinte unique pour chaque message. Les
+ empreintes de messages sont conçues pour que la restitution du message
+ à partir de l'empreinte soit d'une difficulté insurmontable, et qu'il soit
+ (en théorie) impossible de trouver deux messages différents qui produisent
+ la même empreinte -- ce qui élimine la possibilité de remplacer un message
+ par un autre en conservant la même empreinte.</p>
+
+ <p>Trouver le moyen d'envoyer l'empreinte de maniÚre sécurisée à la banque
+ constitue un autre défit auquel Alice doit faire face ; si l'empreinte
+ n'est pas envoyée de maniÚre sécurisée, son intégrité peut être compromise,
+ et avec elle, la possibilité pour la banque de vérifier l'intégrité du
+ message original. L'intégrité du message ne peut être vérifiée que si
+ l'empreinte qui lui est associée est envoyée de maniÚre sécurisée.</p>
+
+ <p>Une solution pour envoyer l'empreinte de maniÚre sécurisée consiste à
+ l'inclure dans une signature numérique.</p>
+
+
+<h3><a name="digitalsignatures" id="digitalsignatures">Signatures numériques</a></h3>
+<p>Quand Alice envoie un message à sa banque, cette derniÚre doit s'assurer
+que le message a bien été envoyé par elle, pour éviter qu'un intrus puisse
+effectuer une transaction sur son compte. Une <em>signature numérique</em>,
+créée par Alice et incluse dans le message, permet d'atteindre cet
+objectif.</p>
+
+<p>Les signatures numériques peuvent être créées en chiffrant une empreinte de
+message, ainsi que d'autres informations (comme un numéro d'ordre) avec la clé
+privée de l'expéditeur. Bien que tout le monde puisse <em>déchiffrer</em> la
+signature à l'aide de la clé publique, seul l'expéditeur connait la clé privée.
+Ce qui implique que seul l'expéditeur peut avoir signé le message. Inclure
+l'empreinte dans la signature entraîne que cette derniÚre n'est valable que
+pour ce message ; ceci assure aussi l'intégrité du message car personne ne
+peut modifier l'empreinte et ensuite signer le message.</p>
+<p>Afin de se prémunir contre l'interception et la réutilisation de la
+signature par un intrus quelques jours plus tard, la signature contient un
+numéro d'ordre unique. Ceci protÚge la banque contre une plainte frauduleuse
+de la part d'Alice alléguant qu'elle n'a pas envoyé le message --
+elle seule peut l'avoir signé (non-répudiation).</p>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="certificates" id="certificates">Certificats</a></h2>
+
+<p>Bien qu'Alice soit parvenue à envoyer un message privé à sa banque, aprÚs
+l'avoir signé et avoir ainsi assuré l'intégrité du message, elle doit encore vérifier
+qu'elle communique réellement avec la banque. C'est à dire qu'elle doit
+s'assurer que la clé publique qu'elle utilise appartient bien à la paire de
+clés de la banque, et non à celle d'un intrus.
+De même, la banque doit vérifier que la
+signature du message a bien été construite avec la clé privée d'Alice.</p>
+
+<p>Si chaque partie possÚde un certificat qui valide l'identité de l'autre,
+confirme la clé publique, et est signé par un organisme de confiance, alors
+les deux protagonistes peuvent être sûrs que la personne avec laquelle ils
+communiquent est bien celle avec laquelle ils désirent le faire. Un tel
+organisme de confiance s'appelle une <em>Autorité de Certification</em>, et
+on utilise les certificats à des fins d'authentification.</p>
+
+<h3><a name="certificatecontents" id="certificatecontents">Contenu d'un certificat</a></h3>
+
+ <p>Un certificat associe une clé publique avec l'identité réelle d'un
+ individu, d'un serveur, ou d'une autre entité plus connue sous le nom de
+ sujet. Comme on le voit dans le <a href="#table1">Tableau 1</a>, les
+ information concernant le sujet comprennent des informations
+ d'identification (le nom distinctif ou distinguished name - dn), ainsi que
+ la clé publique. Il comporte aussi l'identification et la signature de
+ l'autorité de certification qui a délivré le certificat, ainsi que la
+ période de validité de ce dernier. Il peut aussi contenir des informations
+ supplémentaires (ou extensions) telles que des informations de gestion
+ destinées à l'autorité de certification, comme un numéro de série.</p>
+
+ <h4><a name="table1" id="table1">Tableau 1: Information contenues dans un certificat</a></h4>
+
+ <table>
+
+ <tr><th>Sujet</th>
+ <td>Nom distinctif, Clé publique</td></tr>
+ <tr><th>Fournisseur</th>
+ <td>Nom distinctif, Signature</td></tr>
+ <tr><th>Période de validité</th>
+ <td>Pas avant, Pas aprÚs</td></tr>
+ <tr><th>Informations de gestion</th>
+ <td>Version, Numéro de série</td></tr>
+ <tr><th>Extensions</th>
+ <td>Contraintes de base, Drapeaux Netscape, etc.</td></tr>
+ </table>
+
+
+ <p>Un nom distinctif sert à fournir une identité dans un contexte
+ spécifique -- par exemple, un individu peut posséder un certificat
+ personnel, et aussi un certificat en tant qu'employé. Les noms distinctifs
+ doivent respecter le standard X509 [<a href="#X509">X509</a>], qui définit
+ les champs, les noms de champs, et les abréviations utilisées pour faire
+ référence aux champs (voir <a href="#table2">Tableau 2</a>).</p>
+
+ <h4><a name="table2" id="table2">Tableau 2: Informations contenues dans le nom distinctif</a></h4>
+
+ <table class="bordered">
+
+ <tr><th>Champ du DN</th>
+ <th>Abrév.</th>
+ <th>Description</th>
+ <th>Exemple</th></tr>
+ <tr><td>Nom complet (Common Name)</td>
+ <td>CN</td>
+ <td>Nom certifié</td>
+ <td>CN=Joe Average</td></tr>
+ <tr><td>Organisation or Entreprise</td>
+ <td>O</td>
+ <td>Nom est associé à cette<br />organisation</td>
+ <td>O=Snake Oil, Ltd.</td></tr>
+ <tr><td>Unité organisationnelle (Organizational Unit)</td>
+ <td>OU</td>
+ <td>Nom est associé avec cette <br />unité organisationnelle,
+ par exemple un département</td>
+ <td>OU=Research Institute</td></tr>
+ <tr><td>Ville/Localisation</td>
+ <td>L</td>
+ <td>Nom est localisé dans cette ville</td>
+ <td>L=Snake City</td></tr>
+ <tr><td>Etat/Province</td>
+ <td>ST</td>
+ <td>Nom est localisé dans cet état/province</td>
+ <td>ST=Desert</td></tr>
+ <tr><td>Pays</td>
+ <td>C</td>
+ <td>Nom est localisé dans ce pays (code ISO)</td>
+ <td>C=XZ</td></tr>
+ </table>
+
+
+ <p>Une autorité de certification peut définir une contrainte spécifiant
+ quels champs du nom distinctif sont optionnels et lesquels sont
+ obligatoires. Elle peut aussi imposer des contraintes sur le contenu des
+ champs, ce que peuvent aussi faire les utilisateurs de certificats. Par
+ exemple, un navigateur Netscape peut exiger, dans le cas d'un certificat
+ de serveur, que le nom complet (Common Name) corresponde à un nom générique
+ contenant le nom de domaine du serveur, comme
+ <code>*.snakeoil.com</code>.</p>
+
+ <p>Le format binaire d'un certificat est défini en utilisant la
+ notation ASN.1 [<a href="#ASN1">ASN1</a>] [<a href="#PKCS">PKCS</a>].
+ Cette notation definit la maniÚre de spécifier les contenus, et les rÚgles
+ d'encodage définissent la maniÚre dont ces information sont converties au
+ format binaire. L'encodage binaire du certificat est défini par les RÚgles
+ d'Encodage Distinctives (Distinguished Encoding Rules - DER), qui se basent
+ d'une maniÚre plus générale sur les RÚgles d'Encodage de Base (Basic
+ Encoding Rules - BER). Pour les transmissions qui ne supportent pas le
+ format binaire, ce dernier peut être converti au format ASCII en utilisant
+ le codage Base64 [<a href="#MIME">MIME</a>]. Lorsqu'il est placé entre des
+ délimiteurs de début et de fin (comme ci-dessous), on dit que le certificat
+ est encodé au format PEM ("Privacy Enhanced Mail").</p>
+
+ <div class="example"><h3>Exemple de certificat encodé au format PEM (snakeoil.crt)</h3><pre>-----BEGIN CERTIFICATE-----
+MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
+FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
+A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
+cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
+bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
+MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
+a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
+cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
+AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
+vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
+lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
+HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
+gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
+2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
+dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
+-----END CERTIFICATE-----</pre></div>
+
+
+<h3><a name="certificateauthorities" id="certificateauthorities">Autorités de certification</a></h3>
+
+ <p>En vérifiant les informations contenues dans une demande de certificat
+ avant de l'accorder, l'autorité de certification s'assure de l'identité du
+ propriétaire de la clé privée issue de sa paire de clés. Par exemple, Si
+ Alice demande un certificat personnel, l'autorité de certification doit
+ d'abord s'assurer qu'elle correspond vraiment à la personne à laquelle
+ la demande de certificat fait référence.</p>
+
+ <h4><a name="certificatechains" id="certificatechains">Chaînes de certification</a></h4>
+
+ <p>Une autorité de certification peut aussi émettre un certificat à
+ destination d'une
+ autre autorité de certification. Pour vérifier un certificat, Alice
+ peut être amenée à vérifier le certificat de l'émetteur pour chaque
+ autorité de certification parente, jusqu'à ce qu'elle en atteigne une
+ en qui elle a confiance. Elle peut aussi ne faire confiance qu'aux
+ certificats faisant l'objet d'une chaîne limitée d'émetteurs, afin
+ de réduire le risque de rencontrer un "mauvais" certificat dans la
+ chaîne.</p>
+
+
+ <h4><a name="rootlevelca" id="rootlevelca">Création d'une autorité de certification racine</a></h4>
+
+ <p>Comme indiqué plus haut, chaque certificat nécessite la validation
+ de l'identité du sujet par un émetteur de certificats
+ de niveau supérieur, et ceci en
+ remontant jusqu'à l'Autorité de Certification (CA) racine. Ceci pose un
+ problÚme : qui va se porter garant du certificat de l'autorité racine
+ qui ne possÚde pas d'émetteur de certificat ? C'est uniquement dans ce
+ cas que le certificat est auto-signé, l'émetteur du certificat et son
+ sujet étant confondus. Les navigateurs sont préconfigurés avec une
+ liste d'autorités de certification de confiance, mais il est important
+ d'être extrÚmement prudent avant de faire confiance à un certificat
+ auto-signé. La large publication d'une clé publique par l'autorité
+ racine réduit cependant les risques encourus
+ en faisant confiance à cette clé --
+ si quelqu'un publiait une clé en se faisant passer pour l'autorité, il
+ serait vite démasqué.</p>
+
+ <p>Quelques compagnies, comme <a href="http://www.thawte.com/">Thawte</a> et <a href="http://www.verisign.com/">VeriSign</a>,
+ se sont proclamées elles-mêmes Autorités de Certification. Ces
+ compagnies proposent les services suivant :</p>
+
+ <ul>
+ <li>Vérification des demandes de certificats</li>
+ <li>Traitement des demandes de certificats</li>
+ <li>Emission et gestion des certificats</li>
+ </ul>
+
+ <p>Vous pouvez aussi créer votre propre autorité de certification. Bien
+ que risqué dans l'environnement de l'Internet, ceci peut s'avérer utile
+ dans un Intranet, où l'organisme peut vérifier facilement les identités
+ des individus et des serveurs.</p>
+
+
+ <h4><a name="certificatemanagement" id="certificatemanagement">Gestion des certificats</a></h4>
+
+ <p>Constituer une autorité de certification représente une
+ responsabilité qui nécessite une solide infrastructure administrative,
+ technique et gestionnaire. Les autorités de certification ne se
+ contentent pas d'émettre des certificats, elles doivent aussi les gérer
+ -- à savoir elles déterminent leur durée de validité, elles les
+ renouvellent, et elles maintiennent des listes de certificats qui ont
+ été émis dans le passé mais ne sont plus valides (Listes de révocations
+ de certificats, ou CRLs).</p>
+
+ <p>Par exemple, si Alice est titulaire d'un certificat en tant
+ qu'employée d'une compagnie, mais vient de quitter cette compagnie,
+ son certificat doit être révoqué. Comme les certificats ne sont émis
+ qu'aprÚs vérification de l'identité du sujet, et peuvent être envoyés
+ à tous ceux avec lesquels le sujet peut communiquer, il est impossible
+ de discerner à partir du seul certificat s'il a été révoqué. Pour
+ vérifier la validité d'un certificat, il est donc nécessaire de
+ contacter l'autorité de certification qui l'a émis afin de pouvoir
+ consulter ses listes de révocations de certificats -- ce qui n'est
+ en général pas une partie automatique du processus.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si votre autorité de certification ne fait pas partie de la liste
+ des autorités de confiance de votre navigateur, il faut enregistrer le
+ certificat de l'autorité de certification dans ce dernier, ce qui lui
+ permettra de valider les certificats de serveurs signés par cette
+ autorité de certification. Ceci peut être dangereux, car une fois le
+ certificat enregistré, le navigateur acceptera tous les certificats
+ signés par cette autorité de certification.</p>
+ </div>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ssl" id="ssl">Couche Points d'AccÚs Sécurisés - Secure Sockets Layer (SSL)</a></h2>
+
+<p>Le protocole Couche Points d'AccÚs Sécurisés est une couche protocolaire
+qui pourrait s'intercaler entre un protocole d'une couche réseau orientée
+connexion (comme TCP/IP) et une couche protocolaire d'application (comme HTTP).
+SSL fournit une communication sécurisée entre client et serveur en permettant
+l'authentification mutuelle, l'utilisation des signatures numériques pour la
+vérification de l'intégrité des données, et le chiffrement pour la
+confidentialité.</p>
+
+<p>Ce protocole est conçu pour supporter un grand choix d'algorithmes
+spécifiques utilisés pour la cryptographie, les empreintes et les signatures.
+Ceci permet la sélection d'un algorithme pour des serveurs spécifiques en
+respectant la légalité, les rÚgles d'exportation ou autres contraintes, et
+permet aussi au protocole de tirer parti des nouveaux algorithmes. Ces choix
+font l'objet d'une négociation entre client et serveur lors de
+l'établissement de la session protocolaire.</p>
+
+<h3><a name="table4" id="table4">Tableau 4: Versions du protocole SSL</a></h3>
+
+ <table class="bordered">
+
+ <tr><th>Version</th>
+ <th>Source</th>
+ <th>Description</th>
+ </tr>
+ <tr><td>SSL v2.0</td>
+ <td>Standard du fournisseur (de Netscape Corp.)</td>
+ <td>Premier protocole SSL pour lequel il existe des implémentations</td>
+ </tr>
+ <tr><td>SSL v3.0</td>
+ <td>Projet Internet arrivé à expiration (de Netscape Corp.) [<a href="#SSL3">SSL3</a>]</td>
+ <td>Comporte des révisions permettant de prévenir certaines attaques de
+ sécurité spécifiques, ajout de chiffrements non RSA, et support des
+ chaînes de certification</td>
+ </tr>
+ <tr><td>TLS v1.0</td>
+ <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS1">TLS1</a>]</td>
+ <td>Révision de SSL 3.0 pour mettre à jour la couche MAC vers HMAC,
+ ajout du bourrage de bloc pour le chiffrement de bloc, standardisation
+ de l'ordonnancement des messages et plus de messages d'alerte.</td>
+ </tr>
+ <tr><td>TLS v1.1</td>
+ <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS11">TLS11</a>]</td>
+ <td>Mise à jour de TLS 1.0 pour la protection contre les
+ attaques de type Cipher block chaining (CBC).</td>
+ </tr>
+ <tr><td>TLS v1.2</td>
+ <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS12">TLS12</a>]</td>
+ <td>Mise à jour de TLS 1.1 rendant les condensés MD5 obsolÚtes,
+ et introduisant une incompatibilité avec SSL ce qui interdit toute
+ négociation en vue d'une utilisation de SSLv2.</td>
+ </tr>
+ </table>
+
+
+<p>Il existe plusieurs versions du protocole SSL, comme le montre le
+<a href="#table4">Tableau 4</a>. Comme indiqué dans ce dernier, un des apports
+de SSL 3.0 est le support du chargement des chaînes de certification. Cette
+fonctionnalité permet à un serveur de passer au navigateur un certificat de
+serveur accompagné du certificat de l'émetteur. Le chargement de la
+chaîne permet aussi au navigateur de valider le certificat du serveur, même si
+les certificats de l'autorité de certification ne sont pas installés pour les
+émetteurs intermédiaires, car ils sont inclus dans la chaîne de certification.
+SSL 3.0 sert de base au standard du protocole Sécurité de la Couche Transport
+ou Transport Layer Security
+[<a href="#TLS1">TLS</a>], actuellement en développement au sein de
+l'Internet Engineering Task Force (IETF).</p>
+
+<h3><a name="session" id="session">Etablissement d'une session</a></h3>
+
+ <p>La session SSL est établie en suivant une séquence d'échanges
+ d'informations entre client et serveur, comme le montre la
+ <a href="#figure1">Figure 1</a>. Cette séquence peut varier, selon que
+ le serveur est configuré pour fournir un certificat de serveur ou
+ réclame un certificat client. Bien que dans certains cas, des étapes
+ d'échanges d'informations supplémentaires soient nécessaires pour la
+ gestion des informations de chiffrement, cet article résume un scénario
+ courant. Se reporter aux spécifications SSL pour avoir la liste de
+ toutes les possibilités.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Une fois la session SSL établie, elle peut être réutilisée. Ceci
+ permet d'éviter la perte de performances due à la répétition des nombreuses
+ étapes nécessaires à l'établissement d'une session. Pour parvenir à ceci,
+ le serveur assigne un identifiant de session unique à chaque session SSL ;
+ cet identifiant est mis en cache dans le serveur et le client peut
+ l'utiliser pour des connexions ultérieures afin de réduire la durée des
+ échanges d'informations (et ceci jusqu'à ce que l'identifiant de session
+ arrive à expiration dans le cache du serveur).</p>
+ </div>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig1.gif" alt="" width="423" height="327" /><br />
+ <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a> : Séquence
+ simplifiée d'échanges d'informations SSL</p>
+
+ <p>Les éléments de la séquence d'échanges d'informations, tels qu'ils
+ sont utilisés par le client et le serveur, sont énumérés ci-aprÚs :</p>
+
+ <ol>
+ <li>Négociation de la suite de chiffrement à utiliser durant le transfert des données</li>
+ <li>Elaboration et échange d'une clé de session entre le client et le serveur</li>
+ <li>Authentification éventuelle du serveur par le client</li>
+ <li>Authentification éventuelle du client par le serveur</li>
+ </ol>
+
+ <p>La premiÚre étape, la négociation de la suite de chiffrement, permet au
+ client et au serveur de choisir une suite de chiffrement qu'ils supportent
+ tous les deux. La spécification du protocole SSL 3.0 définit 31 suites de
+ chiffrement. Une suite de chiffrement se compose des éléments
+ suivants :</p>
+
+ <ul>
+ <li>Méthode d'échange de la clé</li>
+ <li>Chiffrement du transfert des données</li>
+ <li>Empreinte du message servant à créer le code d'authentification du
+ message (MAC)</li>
+ </ul>
+
+ <p>Ces trois éléments sont décrits dans les sections suivantes.</p>
+
+
+<h3><a name="keyexchange" id="keyexchange">Méthode d'échange de la clé</a></h3>
+
+ <p>La méthode d'échange de la clé définit la maniÚre
+ dont la clé de chiffrement
+ symétrique secrÚte et partagée utilisée pour le transfert des données de
+ l'application sera acceptée par le client et le serveur. SSL 2.0 utilise
+ l'échange de clé RSA seulement, tandis que SSL 3.0 supporte tout un choix
+ d'algorithmes d'échange de clé incluant l'échange de clé RSA (quand les
+ certificats sont utilisés), et l'échange de clés Diffie-Hellman (pour
+ échanger des clés sans certificat, ou en l'absence de communication
+ préalable entre le client et le serveur).</p>
+
+ <p>Les signatures numériques constituent une variante dans le choix des
+ méthodes d'échange de clé -- utiliser les signatures ou pas, et dans
+ l'affirmative, quel genre de signatures utiliser. La signature à l'aide
+ d'une clé privée fournit une protection contre une attaque
+ "man-in-the-middle" au cours de laquelle
+ l'échange d'informations destiné à générer la
+ clé partagée peut être intercepté [<a href="#AC96">AC96</a>, p516].</p>
+
+
+<h3><a name="ciphertransfer" id="ciphertransfer">Chiffrement du transfert de données</a></h3>
+
+ <p>Comme décrit plus haut, SSL utilise le chiffrement symétrique
+ conventionnel pour chiffrer les messages au cours d'une session. Il existe
+ neuf choix possibles pour le chiffrement, y compris l'option du transfert
+ non chiffré :</p>
+
+ <ul>
+ <li>Pas de chiffrement</li>
+ <li>Chiffrement en continu (Stream Ciphers)
+ <ul>
+ <li>RC4 avec clés de 40 bits</li>
+ <li>RC4 avec clés de 128 bits</li>
+ </ul></li>
+ <li>Chiffrement par blocs CBC (CBC Block Ciphers)
+ <ul><li>RC2 avec clé de 40 bits</li>
+ <li>DES avec clé de 40 bits</li>
+ <li>DES avec clé de 56 bits</li>
+ <li>Triple-DES avec clé de 168 bits</li>
+ <li>Idea (clé de 128 bits)</li>
+ <li>Fortezza (clé de 96 bits)</li>
+ </ul></li>
+ </ul>
+
+ <p>"CBC" signifie Cipher Block Chaining (Chaînage de blocs chiffrés),
+ c'est à dire qu'une portion du bloc de texte chiffré précédent est utilisée
+ pour le chiffrement du bloc courant. "DES" signifie Data Encryption
+ Standard (Standard de Chiffrement des Données)
+ [<a href="#AC96">AC96</a>, ch12], et possÚde de nombreuses variantes
+ (telles que DES40 et 3DES_EDE). Parmi les algorithmes disponibles, "Idea"
+ est actuellement un des meilleurs et des plus puissants sur le plan
+ cryptographique, et "RC2" est un algorithme propriétaire de RSA DSI
+ [<a href="#AC96">AC96</a>, ch13].</p>
+
+
+<h3><a name="digestfunction" id="digestfunction">Fonction de création d'empreinte</a></h3>
+
+ <p>Le choix d'une fonction de création d'empreinte détermine la maniÚre
+ dont une empreinte est créée à partir d'une unité de données. SSL supporte
+ les fonctions suivantes :</p>
+
+ <ul>
+ <li>Pas d'empreinte (choix Null)</li>
+ <li>MD5, une empreinte de 128 bits</li>
+ <li>Algorithme d'Empreinte Sécurisée (Secure Hash Algorithm - SHA-1), une
+ empreinte de 160 bits</li>
+ </ul>
+
+ <p>On utilise l'empreinte de message pour créer un Code d'Authentification
+ de Message (Message Authentication Code - MAC) qui est chiffré avec le
+ message afin de vérifier son intégrité et de se protéger contre les
+ attaques de type "rejeu".</p>
+
+
+<h3><a name="handshake" id="handshake">Protocole de la séquence d'échanges d'informations</a></h3>
+
+ <p>La séquence d'échanges d'informations utilise trois protocoles :</p>
+
+ <ul>
+ <li>Le <dfn>Protocole d'échanges d'informations SSL</dfn> pour établir
+ la session SSl entre le client et le serveur.</li>
+ <li>Le <dfn>Protocole de spécification du chiffrement SSL</dfn> pour
+ l'agrément effectif de la suite de chiffrement à utiliser
+ pour la session.</li>
+ <li>Le <dfn>Protocole d'alertes SSL</dfn> pour la transmission de
+ messages d'erreur SSL entre le client et le serveur.</li>
+ </ul>
+
+ <p>Ces protocoles, ainsi que les données du protocole de l'application,
+ sont encapsulés dans le <dfn>Protocole d'enregistrement SSL
+ (SSL Record Protocol)</dfn>, comme
+ le montre la <a href="#figure2">Figure 2</a>. Un protocole encapsulé est
+ tranféré en tant que données par le protocole de la couche de niveau
+ inférieur, qui ne se préoccupe pas du contenu des données. Le protocole
+ encapsulé n'a aucune connaissance du protocole sous-jacent.</p>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig2.gif" alt="" width="428" height="217" /><br />
+ <a id="figure2" name="figure2"><dfn>Figure 2</dfn></a>:
+ Pile du protocole SSL</p>
+
+ <p>L'encapsulation des protocoles de contrÃŽle SSL dans le protocole
+ d'enregistrement signifie que si une session active est renégociée, les
+ protocoles de contrÎle seront transmis de maniÚre sécurisée. S'il n'y
+ avait pas de session préalable, la suite de chiffrement Null est utilisée,
+ ce qui signifie que les messages ne seront pas chiffrés et ne possÚderont
+ pas d'empreinte d'intégrité, jusqu'à ce que la session ait été établie.</p>
+
+
+<h3><a name="datatransfer" id="datatransfer">Transmission des données</a></h3>
+
+ <p>Le protocole d'enregistrement SSL, comme le montre la
+ <a href="#figure3">Figure 3</a>, est utilisé pour transmettre les données
+ de l'application et les données de contrÎle SSL entre le client et le
+ serveur, les données étant nécessairement fragmentées en éléments plus
+ petits, ou plusieurs messages de données avec protocole de niveau
+ supérieur pouvant être combinés en un seul élément. Ce protocole peut
+ joindre des signatures d'empreintes, compresser et chiffrer ces éléments
+ avant de les transmettre en utilisant le protocole fiable de transport
+ sous-jacent (Note : actuellement, aucune implémentation majeure de SSL
+ n'inclut le support de la compression).</p>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig3.gif" alt="" width="423" height="323" /><br />
+ <a id="figure3" name="figure3"><dfn>Figure 3</dfn></a>:
+ Protocole d'enregistrement SSL</p>
+
+
+<h3><a name="securehttp" id="securehttp">Sécurisation des communications HTTP</a></h3>
+
+ <p>Une des utilisations courantes de SSL est la sécurisation des
+ communication HTTP sur le Web entre un navigateur et un serveur web. Ceci
+ n'exclut pas l'utilisation de HTTP non sécurisé - la version sécurisée
+ (appelée HTTPS) est identique à du vrai HTTP sur SSL,
+ mais utilise le préfixe
+ d'URL <code>https</code> au lieu de <code>http</code>, et un port
+ de serveur différent (par défaut le port 443).
+ Ceci constitue pour une large part
+ ce qu'apporte <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> au serveur web Apache.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="references" id="references">Références</a></h2>
+
+<dl>
+<dt><a id="AC96" name="AC96">[AC96]</a></dt>
+<dd>Bruce Schneier, <q>Applied Cryptography</q>, 2nd Edition, Wiley,
+1996. Voir <a href="http://www.counterpane.com/">http://www.counterpane.com/</a> pour diverses autres productions de Bruce
+Schneier.</dd>
+
+<dt><a id="ASN1" name="ASN1">[ASN1]</a></dt>
+<dd>ITU-T Recommendation X.208, <q>Specification of Abstract Syntax Notation
+One (ASN.1)</q>, derniÚre mise à jour en 2008. Voir <a href="http://www.itu.int/ITU-T/asn1/">http://www.itu.int/ITU-T/asn1/</a>.
+</dd>
+
+<dt><a id="X509" name="X509">[X509]</a></dt>
+<dd>ITU-T Recommendation X.509, <q>The Directory - Authentication
+Framework</q>. A titre de référence, voir <a href="http://en.wikipedia.org/wiki/X.509">http://en.wikipedia.org/wiki/X.509</a>.
+</dd>
+
+<dt><a id="PKCS" name="PKCS">[PKCS]</a></dt>
+<dd><q>Public Key Cryptography Standards (PKCS)</q>,
+RSA Laboratories Technical Notes, Voir <a href="http://www.rsasecurity.com/rsalabs/pkcs/">http://www.rsasecurity.com/rsalabs/pkcs/</a>.</dd>
+
+<dt><a id="MIME" name="MIME">[MIME]</a></dt>
+<dd>N. Freed, N. Borenstein, <q>Multipurpose Internet Mail Extensions
+(MIME) Part One: Format of Internet Message Bodies</q>, RFC2045.
+Voir par exemple <a href="http://tools.ietf.org/html/rfc2045">http://tools.ietf.org/html/rfc2045</a>.</dd>
+
+<dt><a id="SSL3" name="SSL3">[SSL3]</a></dt>
+<dd>Alan O. Freier, Philip Karlton, Paul C. Kocher, <q>The SSL Protocol
+Version 3.0</q>, 1996. Voir <a href="http://www.netscape.com/eng/ssl3/draft302.txt">http://www.netscape.com/eng/ssl3/draft302.txt</a>.</dd>
+
+<dt><a id="TLS1" name="TLS1">[TLS1]</a></dt>
+<dd>Tim Dierks, Christopher Allen, <q>The TLS Protocol Version 1.0</q>,
+1999. Voir <a href="http://ietf.org/rfc/rfc2246.txt">http://ietf.org/rfc/rfc2246.txt</a>.</dd>
+
+<dt><a id="TLS11" name="TLS11">[TLS11]</a></dt>
+<dd><q>Le protocole TLS Version 1.1</q>,
+2006. Voir <a href="http://tools.ietf.org/html/rfc4346">http://tools.ietf.org/html/rfc4346</a>.</dd>
+
+<dt><a id="TLS12" name="TLS12">[TLS12]</a></dt>
+<dd><q>Le protocole TLS Version 1.2</q>,
+2008. Voir <a href="http://tools.ietf.org/html/rfc5246">http://tools.ietf.org/html/rfc5246</a>.</dd>
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_intro.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_intro.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/ssl/ssl_intro.html.ja.utf8 b/docs/manual/ssl/ssl_intro.html.ja.utf8
new file mode 100644
index 0000000..a7dd171
--- /dev/null
+++ b/docs/manual/ssl/ssl_intro.html.ja.utf8
@@ -0,0 +1,730 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head>
+<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
+<!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>SSL/TLS 暗号化: はじめに - Apache HTTP サヌバ バヌゞョン 2.4</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" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">モゞュヌル</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">甚語</a> | <a href="../sitemap.html">サむトマップ</a></p>
+<p class="apache">Apache HTTP サヌバ バヌゞョン 2.4</p>
+<img alt="" src="../images/feather.png" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サヌバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテヌション</a> &gt; <a href="../">バヌゞョン 2.4</a> &gt; <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>SSL/TLS 暗号化: はじめに</h1>
+<div class="toplang">
+<p><span>翻蚳枈み蚀語: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_intro.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/ssl_intro.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div>
+<div class="outofdate">この日本語蚳はすでに叀くなっおいる
+ 可胜性がありたす。
+ 最近曎新された内容を芋るには英語版をご芧䞋さい。
+ </div>
+
+<blockquote>
+<p>暙準芏栌の良い所は、たくさんの芏栌から遞べるずいうこずだ。
+そしお、もし本圓にどの芏栌も気に入らなければ、
+䞀幎埅぀だけで探しおいた芏栌が珟れる。</p>
+
+<p class="cite">-- <cite>A. Tanenbaum</cite>, "Introduction to
+Computer Networks"</p>
+</blockquote>
+
+<p>
+入門ずいうこずで、この章は Web、HTTP、Apache に通じおいる
+読者向けですが、セキュリティ専門家向けではありたせん。
+SSL プロトコルの決定的な手匕きである぀もりはありたせん。
+たた、組織内の認蚌管理のための特定のテクニックや、
+特蚱や茞出芏制などの重芁な法的な問題に぀いおも扱いたせん。
+むしろ、曎なる研究ぞの出発点ずしお色々な抂念、定矩、䟋を䞊べるこずで
+<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> のナヌザに基瀎知識を提䟛する事を目的ずしおいたす。</p>
+
+<p>ここに瀺された内容は䞻に、原著者の蚱可の䞋
+The Open Group Research Institute の <a href="http://home.earthlink.net/~fjhirsch/">Frederick J. Hirsch</a>
+ 氏の蚘事 <a href="http://home.earthlink.net/~fjhirsch/Papers/wwwj/">
+Introducing SSL and Certificates using SSLeay</a> を基にしおいたす。
+氏の蚘事は <a href="http://www.ora.com/catalog/wjsum97/">Web Security: A Matter of
+Trust</a>, World Wide Web Journal, Volume 2, Issue 3, Summer 1997
+に掲茉されたした。
+肯定的な意芋は <a href="mailto:hirsch@fjhirsch.com">Frederick Hirsch</a> 氏
+ (元蚘事の著者) ぞ党おの苊情は <a href="mailto:rse@engelschall.com">Ralf S. Engelschall</a> (
+<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> の䜜者) ぞお願いしたす。
+<span class="transnote">(<em>蚳泚:</em> 蚳に぀いおは <a href="mailto:apache-docs@ml.apache.or.jp">
+Apache ドキュメント翻蚳プロゞェクト</a>
+ぞお願いしたす。)</span></p>
+</div>
+<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cryptographictech">暗号化技術</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#certificates">蚌明曞</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssl">Secure Sockets Layer (SSL)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#references">参考文献</a></li>
+</ul><h3>参照</h3><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="cryptographictech" id="cryptographictech">暗号化技術</a></h2>
+
+<p>SSL を理解するには、暗号アルゎリズム、
+メッセヌゞダむゞェスト関数(別名: 䞀方向関数、ハッシュ関数)、
+電子眲名などぞの理解が必芁です。
+これらの技術は本が䞞ごず必芁な題目で
+(䟋えば [<a href="#AC96">AC96</a>] を参照)、
+プラむバシヌ、信甚、認蚌などの技術の基瀎ずなっおいたす。</p>
+
+<h3><a name="cryptographicalgo" id="cryptographicalgo">暗号アルゎリズム</a></h3>
+
+ <p>䟋えば、アリスが送金のために銀行にメッセヌゞを送りたいずしたす。
+ 口座番号や送金の金額が含たれるため、
+ アリスはそのメッセヌゞを秘密にしたいず思いたす。
+ 解決方法の䞀぀は暗号アルゎリズムを䜿っお、メッセヌゞを
+ 埩号されるたで読むこずができない暗号化された
+ 圢態に倉えおしたうこずです。
+ その圢態になるず、
+ メッセヌゞは秘密の鍵によっおのみ埩号化するこずができたす。
+ 鍵なしでは、メッセヌゞは圹に立ちたせん。
+ 良い暗号アルゎリズムは、䟵入者が元のテキストを解読するこずを
+ 非垞に難しくするため、努力が割に合わなくさせたす。</p>
+
+ <p>暗号アルゎリズムには
+ 埓来型ず公開鍵の二぀の皮類がありたす。</p>
+
+ <dl>
+ <dt>埓来型暗号</dt>
+ <dd>察称暗号ずしおも知られ、
+ 送信者ず受信者が鍵を共有するこずが必芁です。
+ 鍵ずは、メッセヌゞを暗号化したり埩号するのに䜿われる秘密
+ の情報のこずです。
+ この鍵が秘密になっおいる限り、送信者ず受信者以倖は誰もメッセヌゞを読
+ むこずができたせん。
+ もしも、アリスず銀行が秘密の鍵を知っおいるなら、
+ 圌らはお互いに秘密のメッセヌゞを送るこずができるでしょう。
+ ただし亀信の前に、事前に内密に鍵を共有するずいう䜜業自䜓は難題かもしれたせん。</dd>
+
+ <dt>公開鍵暗号</dt>
+ <dd>非察称暗号ずしおも知られ、
+ メッセヌゞを暗号化するこずのできる二぀の鍵
+ を䜿甚するアルゎリズムを定矩するこずで鍵のやり取りの問題を解決
+ したす。
+ もし、ある鍵が暗号化に䜿われたなら、
+ もう片方の鍵で埩号しなければいけたせん。
+ この方匏によっお、䞀぀の鍵を公衚しお(公開鍵)、
+ もう片方を秘密にしおおく(秘密鍵)だけで、
+ 安党なメッセヌゞを受け取るこずができたす。</dd>
+ </dl>
+
+ <p>公開鍵を䜿っお誰もがメッセヌゞを暗号化できたすが、秘
+ 密鍵の持ち䞻だけがそれを読むこずができたす。
+ この方法で、銀行の公開鍵を䜿っお暗号化するこずで、
+ アリスは秘密のメッセヌゞを送るこずができたす。
+ 銀行のみが送られたメッセヌゞを埩号するこずができたす。</p>
+
+
+<h3><a name="messagedigests" id="messagedigests">メッセヌゞダむゞェスト</a></h3>
+
+ <p>アリスはメッセヌゞを秘密にするこずができたすが、
+ 誰かが䟋えば自分に送金するようにメッセヌゞを倉曎したり、
+ 別のものに眮き換えおしたうかもしれないずいう問題がありたす。
+ アリスのメッセヌゞだずいう信憑性を保蚌する方法の䞀぀は、
+ メッセヌゞの簡朔なダむゞェストを䜜っお、それも銀行に送るずいうものです。
+ メッセヌゞを受け取るず銀行偎でもダむゞェストを䜜成し、
+ アリスが送ったダむゞェストず比べたす。もし䞀臎したなら、
+ 受け取ったメッセヌゞは無傷だずいうこずになりたす。</p>
+
+ <p>このような芁玄は<dfn>メッセヌゞダむゞェスト</dfn>、
+ <em>䞀方行関数</em>、たたは<em>ハッシュ関数</em>ず呌ばれたす。
+ メッセヌゞダむゞェストは長い可倉長のメッセヌゞから
+ 短い固定長の衚珟を䜜るのに䜿われたす。
+ ダむゞェストアルゎリズムはメッセヌゞから
+ 䞀意なダむゞェストを生成するように䜜られおいたす。
+ メッセヌゞダむゞェストはダむゞェストから元のメッセヌゞを
+ 刀定するのがずおも難しいようにできおいお、
+ 同じ芁玄を䜜成する二぀のメッセヌゞを探すのは(理論䞊)䞍可胜です。
+ これによっお、芁玄を倉曎するこずなくメッセヌゞを眮き換えられる
+ 可胜性を排陀しおいたす。</p>
+
+ <p>アリスぞのもう䞀぀の問題は、このダむゞェストを安党に送る方法を探すこずです。
+ ダむゞェストが安党に送られればダむゞェストの信憑性が保障されお、
+ ダむゞェストの信憑性をもっおオリゞナルメッセヌゞの信憑性を埗るこずができたす。
+ ダむゞェストを安党に送った堎合にのみ、そのメッセヌゞの
+ 信憑性が埗られたす。</p>
+
+ <p>ダむゞェスト安党に送る方法の䞀぀は、電子眲名に含める方法です。</p>
+
+
+<h3><a name="digitalsignatures" id="digitalsignatures">電子眲名</a></h3>
+<p>アリスが銀行にメッセヌゞを送ったずき、
+䟵入者が圌女になりすたしお圌女の口座ぞの取匕を申請できないように、
+銀行偎ではメッセヌゞが本圓に圌女からのものか確実に分かるようにしなければなりたせん。
+アリスによっお䜜成されお、メッセヌゞに含たれた
+<em>電子眲名</em>がここで圹に立ちたす。</p>
+
+<p>電子眲名はメッセヌゞのダむゞェストやその他の情報(凊理番号など)を
+送信者の秘密鍵で暗号化するこずで䜜られたす。
+誰もが公開鍵を䜿っお眲名を<em>埩号</em>するこずができたすが、
+送信者のみが秘密鍵を知っおいたす。
+これは送信者のみが眲名しえたこずを意味したす。
+ダむゞェストを電子眲名に含むこずは、
+その眲名がそのメッセヌゞのみに有効であるこずを意味したす。
+これは、誰もダむゞェストを倉えお眲名をするこずができないため、
+メッセヌゞの信甚も保蚌したす。</p>
+
+<p>䟵入者が眲名を傍受しお埌日に再利甚するのを防ぐため
+電子眲名には䞀意な凊理番号が含たれたす。
+これは、アリスがそんなメッセヌゞは送っおいないず蚀う詐欺
+から銀行を守りたす。
+圌女だけが眲名しえたからです。(吊認防止)</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="certificates" id="certificates">蚌明曞</a></h2>
+
+<p>アリスは秘密のメッセヌゞを銀行に送り、
+眲名をしお、メッセヌゞの信甚を保蚌するこずができるおうになりたしたが、
+通信しおいる盞手が本圓に銀行なのか確かめなくおはいけたせん。
+぀たり圌女が䜿おうずしおいる公開鍵が、銀行の秘密鍵ず察になっおいお、
+䟵入者の秘密鍵ず察になっおいるわけではないこずを
+確かめなくおはいけないこずを意味しおいたす。
+同様に銀行は、メッセヌゞの眲名が本圓にアリスの持っおいる
+秘密鍵で眲名された眲名かを確認する必芁がありたす。</p>
+
+<p>もし䞡者に身元を蚌明し、公開鍵を確認し、たた信頌された機関が眲名
+した蚌明曞があれば、䞡者ずも通信盞手に぀いお正しい盞手だず
+確信するこずができたす。
+そのような信頌された機関は<em>認蚌局</em>
+ (Certificate Authority たたは CA) ず呌ばれ、
+蚌明曞 (certificate) が認蚌 (authentication) に䜿われたす。</p>
+
+<h3><a name="certificatecontents" id="certificatecontents">蚌明曞の内容</a></h3>
+
+ <p>蚌明曞は公開鍵ず個人、サヌバ、その他の䞻䜓の実圚の身元を
+ 関連付けたす。
+ <a href="#table1">è¡š1</a>に瀺されるように蚌明察象の情報は
+ 身元蚌明の情報(識別名)ず公開鍵が含たれたす。
+ 蚌明曞はたた、認蚌局の身元蚌明ず眲名、そしお蚌明曞の有効期間を
+ 含みたす。
+ シリアルナンバヌなどの認蚌局の管理䞊の情報や
+ その他の远加の情報が含たれおいるかもしれたせん。</p>
+
+ <h4><a name="table1" id="table1">è¡š1: 蚌明曞情報</a></h4>
+
+ <table>
+
+ <tr><th>蚌明察象</th>
+ <td>識別名、公開鍵</td></tr>
+ <tr><th>発行者</th>
+ <td>識別名、公開鍵</td></tr>
+ <tr><th>有効期間</th>
+ <td>開始日、倱効日</td></tr>
+ <tr><th>管理情報</th>
+ <td>バヌゞョン、シリアルナンバヌ</td></tr>
+ <tr><th>拡匵情報</th>
+ <td>基本的な制玄、ネットスケヌプフラッグ、その他</td></tr>
+ </table>
+
+
+ <p>識別名(ディスティングむッシュ・ネヌム)は特定の状況における
+ 身分蚌明を提䟛するのに䜿われおいたす。䟋えば、ある人は
+ 私甚ず䌚瀟ずで別々の身分蚌明を持぀かもしれたせん。
+
+ 識別名は X.509 暙準芏栌 [<a href="#X509">X509</a>] で定矩されおいたす。
+ X.509 暙準芏栌は、項目、項目名、そしお項目の略称を定矩しおいたす。(<a href="#table2">è¡š
+ 2</a> 参照)</p>
+
+ <h4><a name="table2" id="table2">è¡š 2: 識別名情報</a></h4>
+
+ <table class="bordered">
+
+ <tr><th>識別名項目</th>
+ <th>略称</th>
+ <th>説明</th>
+ <th>䟋</th></tr>
+ <tr><td>Common Name (コモンネヌム)</td>
+ <td>CN</td>
+ <td>認蚌される名前<br />
+ SSL接続するURL</td>
+ <td>CN=www.example.com</td></tr>
+ <tr><td>Organization or Company (組織名)</td>
+ <td>O</td>
+ <td>団䜓の正匏英語組織名</td>
+ <td>O=Example Japan K.K.</td></tr>
+ <tr><td>Organizational Unit (郚門名)</td>
+ <td>OU</td>
+ <td>郚眲名など</td>
+ <td>OU=Customer Service</td></tr>
+ <tr><td>City/Locality (垂区町村)</td>
+ <td>L</td>
+ <td>所圚しおる垂区町村</td>
+ <td>L=Sapporo</td></tr>
+ <tr><td>State/Province (郜道府県)</td>
+ <td>ST</td>
+ <td>所圚しおる郜道府県</td>
+ <td>ST=Hokkaido</td></tr>
+ <tr><td>Country(囜)</td>
+ <td>C</td>
+ <td>所圚しおいる囜名の ISO コヌド<br />
+ 日本の堎合 JP
+ </td>
+ <td>C=JP</td></tr>
+ </table>
+
+
+ <p>認蚌局はどの項目が省略可胜でどれが必須かの方針を定矩する
+ かもしれたせん。項目の内容に぀いおも認蚌局や蚌明曞のナヌザからの
+ 芁件があるかもしれたせん。
+ 䟋えばネットスケヌプのブラりザは、サヌバの蚌明曞の
+ Common Name (コモンネヌム)がサヌバのドメむン名の
+ <code>*.snakeoil.com</code>
+ ずいうようなワむルドカヌドのパタヌンにマッチするこず
+ を芁求したす。</p>
+
+ <p>バむナリ圢匏の蚌明曞は ASN.1 衚蚘法
+ [<a href="#X208">X208</a>] [<a href="#PKCS">PKCS</a>] で
+ 定矩されおいたす。
+ この衚蚘法は内容をどのように蚘述するかを定矩し、
+ 笊号化の芏定がこの情報がどのようにバむナリ圢匏に倉換されるかを
+ 定矩したす。
+ 蚌明曞のバむナリ笊号化は Distinguished Encoding
+ Rules (DER) で定矩され、それはより䞀般的な Basic Encoding Rules
+ (BER) に基づいおいたす。
+ バむナリ圢匏を扱うこずのできない送信では、
+ バむナリ圢匏は Base64 笊号化 [<a href="#MIME">MIME</a>] で
+ ASCII 圢匏に倉換されるこずがありたす。
+ 開始デリミタ行ず終了デリミタ行で囲たれた、この圢匏のこずを
+ PEM ("Privacy Enhanced Mail") 笊号化された蚌明曞ず蚀いたす。</p>
+
+ <div class="example"><h3>PEM 笊号化された蚌明曞の䟋 (example.crt)</h3><pre>-----BEGIN CERTIFICATE-----
+MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
+FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
+A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
+cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz
+bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL
+MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h
+a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl
+cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN
+AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b
+vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa
+lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV
+HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB
+gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt
+2q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7
+dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ==
+-----END CERTIFICATE-----</pre></div>
+
+
+<h3><a name="certificateauthorities" id="certificateauthorities">認蚌局</a></h3>
+
+ <p>蚌明曞を承認する前に、蚌明曞芁求に蚘茉されおいる情報を確認し、
+ 認蚌局は鍵の所有者の身元を確認したす。
+ 䟋えば、アリスが個人蚌明曞を申請したずするず、
+ 認蚌局はアリスが蚌明曞の申請が䞻匵する通りの
+ 圓の本人だずいうこずを確認しなくおはいけたせん。</p>
+
+ <h4><a name="certificatechains" id="certificatechains">蚌明曞の連鎖</a></h4>
+
+ <p>認蚌局は他の認蚌局ぞの蚌明曞を発行するこずができたす。
+ 未知の蚌明曞を調べる時に、アリスはその蚌明曞の発行者
+ に自信が持おるたで、発行者の蚌明曞を
+ その䞊䜍階局の認蚌局をたどっお調べる必芁がありたす。
+ 「悪質な」蚌明曞の危険性を枛らすため、
+ 圌女は限られた連鎖の発行者のみ信頌するように
+ 決めるこずもできたす。</p>
+
+
+ <h4><a name="rootlevelca" id="rootlevelca">最䞊䜍認蚌局の䜜成</a></h4>
+
+ <p>前に述べたように、党おの蚌明曞に぀いお、
+ 最䞊䜍の認蚌局(CA)たでそれぞれの発行者が
+ 察象の身元蚌明の有効性を明らかにする必芁がありたす。
+ 問題は、誰がその最䞊䜍の認蚌機関の蚌明曞を保蚌するのか、
+ ずいうこずです。
+ このような堎合に限り、蚌明曞は「自己眲名」されたす。
+ ブラりザには、ずおもよく知られおいる認蚌局が初期登録されおいたすが、
+ 自己眲名された蚌明曞を信甚する際には
+ 现心の泚意が必芁です。
+ 最䞊䜍認蚌局が公開鍵を広く公衚するこずで、
+ その鍵を信頌するリスクを䜎くするこずができたす。
+ もし、他人がその認蚌局になりすたした時に、それが露芋しや
+ すいからです。</p>
+
+ <p><a href="http://www.thawte.com/">Thawte</a>
+ や <a href="http://www.verisign.com/">VeriSign</a>
+ のような倚くの䌚瀟が認蚌局ずしお開蚭したした。
+ このような䌚瀟は以䞋のサヌビスを提䟛したす:</p>
+
+ <ul>
+ <li>蚌明曞申請の確認</li>
+ <li>蚌明曞申請の凊理</li>
+ <li>蚌明曞の発行ず管理</li>
+ </ul>
+
+ <p>自分で認蚌局を䜜るこずも可胜です。
+ むンタヌネット環境では危険ですが、
+ 個人やサヌバの身元蚌明が簡単に行える組織の
+ むントラネット内では圹に立぀かもしれたせん。</p>
+
+
+ <h4><a name="certificatemanagement" id="certificatemanagement">蚌明曞管理</a></h4>
+
+ <p>認蚌局の開蚭は培底した管理、技術、運甚の䜓制を必芁ずする
+ 責任のある仕事です。
+ 認蚌局は蚌明曞を発行するだけでなく、
+ 管理もしなければなりたせん。
+ 具䜓的には、蚌明曞がい぀たで有効であり続けるかを決定し、曎新し、
+ たた過去発行されお倱効した蚌明曞のリスト
+ (Certificate Revocation Lists たたは CRL)
+ を管理しなければいけたせん。</p>
+
+ <p>䟋えばアリスが過去、䌚瀟の瀟員であるこずを蚌明する蚌明曞を持っおいたが、
+ 珟圚は退職しおいた際、その蚌明曞は倱効されなければなりたせん。
+ 蚌明曞は次々ず人に枡されおいくものなので、
+ 蚌明曞そのものから、それが取り消されたか刀断するこずは
+ 䞍可胜です。
+ よっお、蚌明曞の有効性を調べるずきには、
+ 認蚌局に連絡しお CRL を照合する必芁がありたす。
+ 普通この過皋は自動化されおいるものではありたせん。</p>
+
+ <div class="note"><h3>泚意</h3>
+ <p>ブラりザに信甚できる認蚌局ずしおデフォルトで登録されおいない
+ 認蚌局を䜿おうずした堎合、
+ 認蚌局の蚌明曞をブラりザに読み蟌んで、
+ ブラりザがその認蚌局によっお眲名されたサヌバの蚌明曞を
+ 有効にする必芁がありたす。
+ 䞀床読み蟌たれるず、その認蚌局によっお眲名された党おの
+ 蚌明曞を受け入れるため、危険を䌎いたす。</p>
+ </div>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ssl" id="ssl">Secure Sockets Layer (SSL)</a></h2>
+
+<p>Secure Sockets Layer プロトコルは信頌性のあるコネクション型の
+ネットワヌク局のプロトコル(䟋えば、TCP/IP)ず
+アプリケヌション局のプロトコル(䟋えば、HTTP)
+の間に眮くこずができたす。
+SSL は、盞互認蚌によっおサヌバずクラむアント間の安党な通信を、
+電子眲名によっおデヌタの完党性を、
+そしお暗号化によっおプラむバシを提䟛したす。</p>
+
+<p>SSL プロトコルは暗号化、ダむゞェスト、電子眲名に぀いお、
+様々なアルゎリズムをサポヌトするようにできおいたす。
+こうするこずで、法や茞出の芏制を考慮に入れお、サヌバに合わせた
+アルゎリズムを遞ぶこずができ、たた、新しいアルゎリズムを
+利甚しおいくこずも可胜にしおいたす。
+アルゎリズムの遞択はプロトコルセッション開始時に
+サヌバずクラむアント間で取り決められたす。</p>
+
+<h3><a name="table4" id="table4">è¡š4: SSL プロトコルのバヌゞョン</a></h3>
+
+ <table class="bordered">
+
+ <tr><th>バヌゞョン</th>
+ <th>出兞</th>
+ <th>説明</th>
+ <th>ブラりザのサポヌト</th></tr>
+ <tr><td>SSL v2.0</td>
+ <td>Vendor Standard (Netscape Corp. より) [<a href="#SSL2">SSL2</a>]</td>
+ <td>実装が珟存する初めおの SSL プロトコル</td>
+ <td>- NS Navigator 1.x/2.x<br />
+ - MS IE 3.x<br />
+ - Lynx/2.8+OpenSSL</td></tr>
+ <tr><td>SSL v3.0</td>
+ <td>Expired Internet Draft (Netscape Corp. より) [<a href="#SSL3">SSL3</a>]</td>
+ <td>特定のセキュリティ攻撃を防ぐための改蚂、
+ 非RSA 暗号の远加、蚌明曞階局構造のサポヌト</td>
+ <td>- NS Navigator 2.x/3.x/4.x<br />
+ - MS IE 3.x/4.x<br />
+ - Lynx/2.8+OpenSSL</td></tr>
+ <tr><td>TLS v1.0</td>
+ <td>Proposed Internet Standard (IETF より) [<a href="#TLS1">TLS1</a>]</td>
+ <td>MAC レむダを HMAC ぞ曎新、ブロック暗号の block
+ padding、メッセヌゞ順序の暙準化、譊告文の充実などのため
+ SSL 3.0 を改蚂。</td>
+ <td>- Lynx/2.8+OpenSSL</td></tr>
+ </table>
+
+
+<p><a href="#table4">è¡š4</a>に瀺されるずおり、SSL プロトコルには
+いく぀ものバヌゞョンがありたす。
+衚にも曞かれおいるように、SSL 3.0 の利点の䞀぀は
+蚌明曞階局構造をサポヌトするこずです。
+この機胜によっお、サヌバは自分の蚌明曞に加えお、
+発行者の蚌明曞をブラりザに枡すこずができたす。
+蚌明曞階局構造によっお、
+ブラりザに発行者の蚌明曞が盎接登録されおいなくおも、
+階局の䞭に含たれおいれば、
+ブラりザはサヌバの蚌明曞を有効化するこずができたす。
+SSL 3.0 は珟圚 Internet Engineering Task Force (IETF)
+によっお開発されおいる Transport Layer Security
+[<a href="#TLS1">TLS</a>] プロトコル暙準芏栌の基瀎ずなっおいたす。</p>
+
+<h3><a name="session" id="session">セッションの確立</a></h3>
+
+ <p><a href="#figure1">図1</a>で瀺されるように、
+ セッションの確立はクラむアントずサヌバ間の
+ ハンドシェヌクシヌク゚ンスによっお行なわれたす。
+ サヌバが蚌明曞を提䟛するか、クラむアントの蚌明曞をリク゚ストするか
+ ずいうサヌバの蚭定により、このシヌク゚ンスは異なるものずなりたす。
+ 暗号情報の管理のために、远加のハンドシェヌク過皋が必芁になる
+ 堎合もありたすが、この蚘事では
+ よくあるシナリオを手短に説明したす。
+ 党おの可胜性に぀いは、SSL 仕様曞を参照しおください。</p>
+
+ <div class="note"><h3>泚意</h3>
+ <p>䞀床 SSL セッションが確立するず、セッションを再利甚するこずで、
+ セッションを開始するための倚くの過皋を繰り返すずいう
+ パフォヌマンスの損倱を防ぎたす。
+ そのため、サヌバは党おのセッションに䞀意なセッション識別名を
+ 割り圓お、サヌバにキャッシュし、クラむアントは次回から
+ (識別名がサヌバのキャッシュで期限切れになるたでは)
+ ハンドシェヌクなしで接続するこずができたす。</p>
+ </div>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig1.gif" alt="" width="423" height="327" /><br />
+ <a id="figure1" name="figure1"><dfn>図1</dfn></a>: SSL
+ ハンドシェヌクシヌク゚ンス抂略</p>
+
+ <p>サヌバずクラむアントで䜿われる
+ ハンドシェヌクシヌク゚ンスの芁玠を以䞋に瀺したす:</p>
+
+ <ol>
+ <li>デヌタ通信に䜿われる暗号スむヌトの取り決め</li>
+ <li>クラむアントずサヌバ間でのセッション鍵の確立ず共有</li>
+ <li>オプションずしお、クラむアントに察するサヌバの認蚌</li>
+ <li>オプションずしお、サヌバに察するクラむアントの認蚌</li>
+ </ol>
+
+ <p>第䞀ステップの暗号スむヌト取り決めによっお、
+ サヌバずクラむアントはそれぞれにあった
+ 暗号スむヌトを遞ぶこずができたす。
+ SSL3.0 プロトコルの仕様曞は 31 の暗号スむヌトを定矩しおいたす。
+ 暗号スむヌトは以䞋のコンポヌネントにより定矩されおいたす:</p>
+
+ <ul>
+ <li>鍵の亀換手段</li>
+ <li>デヌタ通信の暗号術</li>
+ <li>Message Authentication Code (MAC) 䜜成のための
+ メッセヌゞダむゞェスト</li>
+ </ul>
+
+ <p>これらの䞉぀の芁玠は以䞋のセクションで説明されおいたす。</p>
+
+
+<h3><a name="keyexchange" id="keyexchange">鍵の亀換手段</a></h3>
+
+ <p>鍵の亀換手段はアプリケヌションのデヌタ通信に䜿われ、
+ 共有される察称暗号鍵をどのようにがクラむアントずサヌバで
+ 取り決めるかを定矩したす。
+ SSL 2.0 は RSA 鍵亀換しか䜿いたせんが、
+ SSL 3.0 は (蚌明曞が䜿われるずきの) RSA 鍵亀換や、
+ (蚌明曞無しの堎合やクラむアントずサヌバの事前の通信が無い堎合の)
+ Diffie-Hellman 鍵亀換
+ など様々な鍵亀換アルゎリズムをサポヌトしたす。</p>
+
+ <p>鍵の亀換方法における䞀぀の遞択肢は電子眲名です。
+ 電子眲名を䜿うかどうか、たた、
+ どの皮類の眲名を䜿うかずいう遞択がありたす。
+ 秘密鍵で眲名するこずで共有鍵を保護し、情報亀換する時の
+ マン・むン・ザ・ミドル攻撃を防ぐこずができたす。
+ [<a href="#AC96">AC96</a>, p516]</p>
+
+
+<h3><a name="ciphertransfer" id="ciphertransfer">デヌタ通信の暗号術</a></h3>
+
+ <p>SSL はセッションのメッセヌゞの暗号化に前述した
+ 察称暗号方匏を甚いたす。
+ 暗号化しないずいう遞択肢も含め九぀の暗号方匏の遞択肢がありたす:</p>
+
+ <ul>
+ <li>暗号化なし</li>
+ <li>ストリヌム暗号
+ <ul>
+ <li>40-bit 鍵での RC4</li>
+ <li>128-bit 鍵での RC4</li>
+ </ul></li>
+ <li>CBC ブロック暗号
+ <ul><li>40 bit 鍵での RC2</li>
+ <li>40 bit 鍵での DES</li>
+ <li>56 bit 鍵での DES</li>
+ <li>168 bit 鍵での Triple-DES</li>
+ <li>Idea (128 bit 鍵)</li>
+ <li>Fortezza (96 bit 鍵)</li>
+ </ul></li>
+ </ul>
+
+ <p>CBC ずは暗号ブロック連鎖 (Cipher Block Chaining)
+ の略で、䞀぀前の暗号化された暗号文の䞀郚が
+ ブロックの暗号化に䜿われるこずを意味したす。
+ DES はデヌタ暗号化暙準芏栌 (Data Encryption Standard)
+ [<a href="#AC96">AC96</a>, ch12] の略で、
+ DES40 や 3DES_EDE を含むいく぀もの皮類がありたす。
+ Idea は珟圚最高なものの䞀぀で、暗号術的には珟圚ある䞭で
+ 最も匷力なものです。
+ RC2 は RSA DSI による独占的なアルゎリズムです。
+ [<a href="#AC96">AC96</a>,
+ ch13]</p>
+
+
+<h3><a name="digestfuntion" id="digestfuntion">ダむゞェスト関数</a></h3>
+
+ <p>
+ ダむゞェスト関数の遞択はレコヌドナニットからどのようにダむゞェストが生成されるかを決定したす。
+ SSL は以䞋をサポヌトしたす:</p>
+
+ <ul>
+ <li>ダむゞェストなし</li>
+ <li>MD5 (128-bit ハッシュ)</li>
+ <li>Secure Hash Algorithm (SHA-1) (160-bit ハッシュ)</li>
+ </ul>
+
+ <p>メッセヌゞダむゞェストは Message Authentication Code (MAC)
+ の生成に䜿われ、メッセヌゞず共に暗号化され、メッセヌゞの信憑性を
+ 確認し、リプレむ攻撃を防ぎたす。</p>
+
+
+<h3><a name="handshake" id="handshake">ハンドシェヌクシヌク゚ンスプロトコル</a></h3>
+
+ <p>ハンドシェヌクシヌク゚ンスは䞉぀のプロトコルを䜿いたす:</p>
+
+ <ul>
+ <li><dfn>SSL ハンドシェヌクプロトコル</dfn>は
+ クラむアントずサヌバ間での SSL セッションの確立に䜿われたす。</li>
+ <li><dfn>SSL 暗号仕様倉曎プロトコル</dfn>は
+ セッションでの暗号スむヌトの取り決めに䜿われたす。</li>
+ <li><dfn>SSL 譊告プロトコル</dfn>は
+ クラむアントサヌバ間で SSL ゚ラヌを䌝達するのに䜿われたす。</li>
+ </ul>
+
+ <p>䞉぀のプロトコルは、アプリケヌションプロトコルデヌタずずもに、
+ <a href="#figure2">図2</a>に瀺すずおり <dfn>SSL レコヌドプロトコル</dfn>
+ でカプセル化されたす。
+ カプセル化されたプロトコルはデヌタを怜査しない
+ 䞋局のプロトコルによっおデヌタずしお䌝達されたす。
+ カプセル化されたプロトコルは䞋局のプロトコルに関しお䞀切関知したせん。</p>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig2.gif" alt="" width="428" height="217" /><br />
+ <a id="figure2" name="figure2"><dfn>図2</dfn></a>: SSL プロトコルスタック
+ </p>
+
+ <p>
+ レコヌドプロトコルで SSL コントロヌルプロトコルがカプセル化されおいるずいうこずは、
+ アクティブなセッション䞊で再ネゎシ゚ヌションされたずきにも、
+ コントロヌルプロトコルは安党であるこずを意味したす。
+ 既存のセッションが無い堎合は、Null 暗号スむヌトが䜿われ、
+ 暗号化は行なわれず、セッションが確立するたでは
+ ダむゞェストも無い状態ずなりたす。</p>
+
+
+<h3><a name="datatransfer" id="datatransfer">デヌタ通信</a></h3>
+
+ <p><a href="#figure3">図3</a>に瀺される SSL レコヌドプロトコル
+ はクラむアントずサヌバ間のアプリケヌションや
+ SSL コントロヌルデヌタの通信に䜿われたす。
+ 必芁に応じおこのデヌタはより小さいナニットに分けられたり、
+ いく぀かの高玚プロトコルをたずめお䞀ナニットずしお通信が
+ 行なわれるこずもありたす。
+ デヌタを圧瞮し、ダむゞェスト眲名を添付しお、
+ これらのナニットを暗号化したのち、ベヌスずなっおいる
+ 信頌性のあるトランスポヌトプロトコルを甚いるかもしれたせん。
+ (泚意: 珟圚メゞャヌな SLL 実装で圧瞮をサポヌトしおいるものはありたせん)</p>
+
+ <p class="figure">
+ <img src="../images/ssl_intro_fig3.gif" alt="" width="423" height="323" /><br />
+ <a id="figure3" name="figure3"><dfn>図 3</dfn></a>: SSL レコヌドプロトコル
+ </p>
+
+
+<h3><a name="securehttp" id="securehttp">HTTP 通信の安党化</a></h3>
+
+ <p>よくある SSL の䜿い方はブラりザずりェブサヌバ間の HTTP 通信
+ の安党化です。
+ これは、埓来の安党ではない HTTP の䜿甚を陀倖するものではありたせん。
+ 安党化されたもの (HTTPS ず呌ばれたす) は、SSL 䞊での普通の HTTP で、
+ URL スキヌムに <code>http</code> の代わりに <code>https</code>
+ を甚い、サヌバで別のポヌトを䜿うこずです (デフォルトでは443)。
+ これが䞻に <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> が Apache
+ りェブサヌバに提䟛する機胜です。</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="references" id="references">参考文献</a></h2>
+
+<dl>
+<dt><a id="AC96" name="AC96">[AC96]</a></dt>
+<dd>Bruce Schneier, <q>Applied Cryptography</q>, 2nd Edition, Wiley,
+1996. See <a href="http://www.counterpane.com/">http://www.counterpane.com/</a> for various other materials by Bruce
+Schneier.</dd>
+
+<dt><a id="X208" name="X208">[X208]</a></dt>
+<dd>ITU-T Recommendation X.208, <q>Specification of Abstract Syntax Notation
+One (ASN.1)</q>, 1988. See for instance <a href="http://www.itu.int/rec/recommendation.asp?type=items&amp;lang=e&amp;parent=T-REC-X.208-198811-I">http://www.itu.int/rec/recommendation.asp?type=items&amp;lang=e&amp;parent=T-REC-X.208-198811-I</a>.
+</dd>
+
+<dt><a id="X509" name="X509">[X509]</a></dt>
+<dd>ITU-T Recommendation X.509, <q>The Directory - Authentication
+Framework</q>. See for instance <a href="http://www.itu.int/rec/recommendation.asp?type=folders&amp;lang=e&amp;parent=T-REC-X.509">http://www.itu.int/rec/recommendation.asp?type=folders&amp;lang=e&amp;parent=T-REC-X.509</a>.
+</dd>
+
+<dt><a id="PKCS" name="PKCS">[PKCS]</a></dt>
+<dd><q>Public Key Cryptography Standards (PKCS)</q>,
+RSA Laboratories Technical Notes, See <a href="http://www.rsasecurity.com/rsalabs/pkcs/">http://www.rsasecurity.com/rsalabs/pkcs/</a>.</dd>
+
+<dt><a id="MIME" name="MIME">[MIME]</a></dt>
+<dd>N. Freed, N. Borenstein, <q>Multipurpose Internet Mail Extensions
+(MIME) Part One: Format of Internet Message Bodies</q>, RFC2045.
+See for instance <a href="http://ietf.org/rfc/rfc2045.txt">http://ietf.org/rfc/rfc2045.txt</a>.</dd>
+
+<dt><a id="SSL2" name="SSL2">[SSL2]</a></dt>
+<dd>Kipp E.B. Hickman, <q>The SSL Protocol</q>, 1995. See <a href="http://www.netscape.com/eng/security/SSL_2.html">http://www.netscape.com/eng/security/SSL_2.html</a>.</dd>
+
+<dt><a id="SSL3" name="SSL3">[SSL3]</a></dt>
+<dd>Alan O. Freier, Philip Karlton, Paul C. Kocher, <q>The SSL Protocol
+Version 3.0</q>, 1996. See <a href="http://www.netscape.com/eng/ssl3/draft302.txt">http://www.netscape.com/eng/ssl3/draft302.txt</a>.</dd>
+
+<dt><a id="TLS1" name="TLS1">[TLS1]</a></dt>
+<dd>Tim Dierks, Christopher Allen, <q>The TLS Protocol Version 1.0</q>,
+1999. See <a href="http://ietf.org/rfc/rfc2246.txt">http://ietf.org/rfc/rfc2246.txt</a>.</dd>
+</dl>
+</div></div>
+<div class="bottomlang">
+<p><span>翻蚳枈み蚀語: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/ssl/ssl_intro.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/ssl/ssl_intro.html" title="Japanese">&nbsp;ja&nbsp;</a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_intro.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2019 The Apache Software Foundation.<br />この文曞は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のラむセンスで提䟛されおいたす。.</p>
+<p class="menu"><a href="../mod/">モゞュヌル</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">甚語</a> | <a href="../sitemap.html">サむトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html> \ No newline at end of file