<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="NoName" source-language="en" datatype="plaintext" target-language="zh_Hans">
    <body>
      <trans-unit xml:space="preserve" approved="no" id="d417875fb352450e">
        <source>SSL/TLS Certificate</source>
        <target state="translated">SSL/TLS 证书</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">11</context>
        </context-group>
        <note from="developer">type: section title</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="70f915620c0c9aba">
        <source>Certificate Authority</source>
        <target state="translated">证书授权机构</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">15</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a7e605a4e49be6b3">
        <source>A Certificate Authority (CA) is a trusted entity that signs digital certificates, enabling users to verify their authenticity. Rather than storing every individual certificate for each server (which would be impractical due to the sheer volume and frequent renewals), users can store a limited set of root certificates to authenticate server certificates as needed.</source>
        <target state="translated">证书授权机构（CA）是一种可信实体，负责对数字证书进行签名，以便用户验证其真实性。由于服务器证书数量庞大且更新频繁，为每台服务器单独存储所有证书并不现实。因此，用户只需存储有限数量的根证书，即可在需要时验证服务器证书。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">17</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c4865be27fd4f62c">
        <source>Boost.Asio provides various methods for loading certificate authority certificates:</source>
        <target state="translated">Boost.Asio 提供多种加载证书授权机构证书的方法：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">23</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b8afe4efc8c01520">
        <source>* [@boost:/doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html `net::ssl::context::add_certificate_authority`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/add_verify_path.html `net::ssl::context::add_verify_path`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/load_verify_file.html `net::ssl::context::load_verify_file`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths.html `net::ssl::context::set_default_verify_paths`]</source>
        <target state="translated">* [@boost:/doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html `net::ssl::context::add_certificate_authority`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/add_verify_path.html `net::ssl::context::add_verify_path`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/load_verify_file.html `net::ssl::context::load_verify_file`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths.html `net::ssl::context::set_default_verify_paths`]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">26</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2c2cf1e67bbdedac">
        <source>It is important to set up peer verification so that the TLS/SSL handshake fails if certificate verification is unsuccessful:</source>
        <target state="translated">设置对端验证非常重要，这样当证书验证失败时，TLS/SSL 握手也会随之失败：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">31</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="6b96d16013c48c8b">
        <source>A client must also verify that the hostname or IP address in the certificate matches the expected one. The [@boost:/doc/html/boost_asio/reference/ssl__host_name_verification.html `net::ssl::host_name_verification`] helper function object can perform this verification according to the rules described in RFC 6125:</source>
        <target state="translated">客户端还需验证证书中的主机名或 IP 地址是否与预期一致。[@boost:/doc/html/boost_asio/reference/ssl__host_name_verification.html `net::ssl::host_name_verification`] 这个辅助函数对象，可以按照 RFC 6125 描述的规则来完成验证：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">36</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="45832b4f77e98893">
        <source>A server can also request and verify a client certificate to authenticate the client:</source>
        <target state="translated">服务器也可以请求并验证客户端证书，以对客户端进行身份认证：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">44</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="593c529b72582947">
        <source>Server Certificate</source>
        <target state="translated">服务器证书</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">51</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2262e1372f5f2e62">
        <source>A Server Certificate is a digital certificate that confirms a server's identity as the legitimate destination for a client. It contains a verifiable signature that ensures it was issued by a trusted certificate authority (CA).</source>
        <target state="translated">服务器证书是一种数字证书，用于确认服务器身份是客户端的合法目的地。它包含可验证的签名，用于确保证书由受信任的证书授权机构（CA）签发。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">53</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="6dc112b209e0663c">
        <source>When a server certificate is issued by an intermediate certificate authority, and the client lacks those intermediate certificates, the server should provide all the relevant certificates to the client. This allows the client to verify the final certificate in the chain against the root certificate.</source>
        <target state="translated">当服务器证书由中间证书授权机构签发，且客户端缺少这些中间证书时，服务器应向客户端提供所有相关证书。这使得客户端能够根据根证书验证证书链中的最终证书。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">57</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="67335275fd9e71fd">
        <source>The following Boost.Asio methods can be used for loading a certificate or a certificate chain:</source>
        <target state="translated">以下 Boost.Asio 方法可用于加载单个证书或证书链：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">62</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="9e41547f9e2d8ff0">
        <source>* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate.html `net::ssl::context::use_certificate`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate_file.html `net::ssl::context::use_certificate_file`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate_chain.html `net::ssl::context::use_certificate_chain`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file.html `net::ssl::context::use_certificate_chain_file`]</source>
        <target state="translated">* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate.html `net::ssl::context::use_certificate`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate_file.html `net::ssl::context::use_certificate_file`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate_chain.html `net::ssl::context::use_certificate_chain`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file.html `net::ssl::context::use_certificate_chain_file`]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">65</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="4d76e50aab197672">
        <source>Client Certificate</source>
        <target state="translated">客户端证书</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">72</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="71daa7384b68ad7f">
        <source>A server can authenticate clients by requiring and verifying their certificates, preventing access for those without a valid certificate and private key. The server enforces this by modifying peer verification settings:</source>
        <target state="translated">服务器可以通过要求并验证客户端证书来对客户端进行身份认证，从而阻止没有有效证书和私钥的客户端访问。服务器通过修改对端验证设置来实施这一机制：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">74</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="824f957a59464341">
        <source>If used, the necessary CA certificates must be loaded into the server's SSL context to enable verification of the client's certificate.</source>
        <target state="translated">若使用该机制，则需将必要的 CA 证书加载到服务器的 SSL 上下文中，以便能够验证客户端的证书。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">80</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="54cee762d39f3f0d">
        <source>Common Name and Subject Alternative Name</source>
        <target state="translated">通用名称与主题备用名称</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">85</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aff4fef8dbeb737e">
        <source>The Subject Alternative Name (SAN) is an extension in X.509 certificates that allows multiple domain names, subdomains, or IP addresses to be associated with a single SSL/TLS certificate. Before that it was the Common Name field in the certificate subject which could contain a single hostname.</source>
        <target state="translated">主题备用名称（SAN）是 X.509 证书中的一种扩展字段，允许将多个域名、子域名或 IP 地址关联到同一张 SSL/TLS 证书上。在此之前，证书主题中的通用名称字段只能包含单个主机名。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">87</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="92a81ab5991c2d69">
        <source>recommends that if a certificate includes a SAN dNSName field, the client must ignore the subject CN field. Some modern browsers, such as Google Chrome, check only the SAN section in an SSL/TLS certificate and reject certificates that contain only the CN field.</source>
        <target state="translated">该建议指出，如果证书中包含 SAN 的 dNSName 字段，客户端必须忽略主题 CN 字段。某些现代浏览器（例如 Google Chrome）仅检查 SSL/TLS 证书中的 SAN 部分，并拒绝仅包含 CN 字段的证书。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">93</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c7c87dc6da987653">
        <source>Private Key</source>
        <target state="translated">私钥</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">100</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="fdcb17bcb312c6b1">
        <source>The private key of a certificate is required during the SSL/TLS handshake to prove that the certificate's provider is its rightful owner</source>
        <target state="translated">证书的私钥在 SSL/TLS 握手过程中是必需的，用于证明证书的提供方是该证书的合法所有者。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">102</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="3e254e62a9e64d23">
        <source>The following Boost.Asio methods can be used for loading a private key:</source>
        <target state="translated">以下 Boost.Asio 方法可用于加载私钥：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">105</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a41febd5a7b9b0f2">
        <source>* [@boost:/doc/html/boost_asio/reference/ssl__context/use_private_key.html `net::ssl::context::use_private_key`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_private_key_file.html `net::ssl::context::use_private_key_file`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key.html `net::ssl::context::use_rsa_private_key`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file.html `net::ssl::context::use_rsa_private_key_file`]</source>
        <target state="translated">* [@boost:/doc/html/boost_asio/reference/ssl__context/use_private_key.html `net::ssl::context::use_private_key`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_private_key_file.html `net::ssl::context::use_private_key_file`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key.html `net::ssl::context::use_rsa_private_key`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file.html `net::ssl::context::use_rsa_private_key_file`]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">107</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="e80d2be7afe43105">
        <source>If the private key is secured with a password, the [@boost:/doc/html/boost_asio/reference/ssl__context/set_password_callback.html net::ssl::context::set_password_callback] allows specifying a callable object to retrieve the password.</source>
        <target state="translated">如果私钥受密码保护，可以使用 [@boost:/doc/html/boost_asio/reference/ssl__context/set_password_callback.html net::ssl::context::set_password_callback] 设置一个可调用对象，用于获取该密码。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">112</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aad1cdb5799b2286">
        <source>Self-Signed and Self-Issued Certificates</source>
        <target state="translated">自签名证书与自颁发证书</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">119</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="0108203861def2c5">
        <source>A self-issued certificate is a certificate where the issuer and subject are the same entity.</source>
        <target state="translated">自颁发证书是指证书的颁发者与主体为同一实体。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">121</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="d3cc114a5a1be40c">
        <source>A self-signed certificate is a self-issued certificate in which the digital signature can be verified using the public key within the certificate.</source>
        <target state="translated">自签名证书是一种自颁发证书，其数字签名可使用证书内的公钥进行验证。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">124</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="1c8e940b3a0ca361">
        <source>Installing an untrusted, self-issued, or self-signed CA certificate poses a</source>
        <target state="translated">安装不受信任、自颁发或自签名的 CA 证书会带来安全风险。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">128</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="41bacc7cc47992e7">
        <source>Diffie-Hellman (DH) Parameters</source>
        <target state="translated">Diffie-Hellman（DH）参数</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">137</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="3db24703f00e171f">
        <source>Diffie-Hellman (DH) key exchange is a cryptographic protocol that allows two parties to securely establish a shared secret over an insecure communication channel. The key exchange process involves both parties agreeing on a set of parameters, known as Diffie-Hellman parameters, which include a large prime number `p` and a generator `g`. Since generating these parameters is a computationally expensive task, a user might prefer to provide a precomputed value at startup.</source>
        <target state="translated">Diffie-Hellman（DH）密钥交换是一种密码学协议，允许双方在不安全的通信通道上安全地建立共享密钥。该密钥交换过程涉及双方约定一组参数，即 Diffie-Hellman 参数，其中包括一个大素数 `p` 和一个生成元 `g`。由于生成这些参数是一项计算开销较大的任务，用户可能更倾向于在启动时提供预先计算好的值。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">139</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="31464f50390bbfdd">
        <source>The following Boost.Asio methods can be used for loading DH parameters:</source>
        <target state="translated">以下 Boost.Asio 方法可用于加载 DH 参数：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">147</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="215ef87f46040dc6">
        <source>* [@boost:/doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html `net::ssl::context::use_tmp_dh`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file.html `net::ssl::context::use_tmp_dh_file`]</source>
        <target state="translated">* [@boost:/doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html `net::ssl::context::use_tmp_dh`]
* [@boost:/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file.html `net::ssl::context::use_tmp_dh_file`]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">149</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b3063e29ca26f3c4">
        <source>If no DH parameter is provided, OpenSSL will refuse to perform any handshake that uses DHE-based cipher suites but will still work with other cipher suites, such as those based on ECDHE.</source>
        <target state="translated">如果未提供 DH 参数，OpenSSL 将拒绝执行任何使用基于 DHE 的加密套件的握手，但仍可与其他加密套件（例如基于 ECDHE 的套件）正常工作。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">152</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c6f643d4c704e561">
        <source>A Self-Issued Certificate Example</source>
        <target state="translated">自颁发证书示例</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">158</context>
        </context-group>
        <note from="developer">type: heading</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a46d9e6468db41e3">
        <source>In the following example, we will generate a self-signed CA certificate and use it to issue both server and client certificates.</source>
        <target state="translated">在以下示例中，将生成一个自签名的 CA 证书，并使用该证书来签发服务器证书和客户端证书。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">160</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dbb449aab1ad294b">
        <source>* Generate a CA certificate:</source>
        <target state="translated">* 生成 CA 证书：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">163</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dd0fafbcdb056494">
        <source>``` openssl req -new -newkey rsa:4096 -keyout ca.key -x509 -out ca.crt -subj "/CN=localhost" -days 365 ```</source>
        <target state="translated">``` openssl req -new -newkey rsa:4096 -keyout ca.key -x509 -out ca.crt -subj "/CN=localhost" -days 365 ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">165</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="9ef6ea4da065a8d5">
        <source>* Generate a Server CSR:</source>
        <target state="translated">* 生成服务器证书签名请求（CSR）：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">170</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c0d6646d3fd66f92">
        <source>``` openssl req -new -newkey rsa:4096 -keyout server.key -out server.csr -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost,IP:127.0.0.1" ```</source>
        <target state="translated">``` openssl req -new -newkey rsa:4096 -keyout server.key -out server.csr -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost,IP:127.0.0.1" ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">172</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="0d91a5c9a0b3aa71">
        <source>* Sign the Server CSR using our CA:</source>
        <target state="translated">* Sign the Server CSR using our CA:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">177</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2bf8a24df2f82d05">
        <source>``` openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -copy_extensions copy -days 365 -out server.crt ```</source>
        <target state="translated">``` openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -copy_extensions copy -days 365 -out server.crt ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">179</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eb7a3506e7eaf1d2">
        <source>* Generate a Client CSR:</source>
        <target state="translated">* 生成客户端证书签名请求（CSR）：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">184</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="45b7dbad856434a2">
        <source>``` openssl req -new -newkey rsa:4096 -keyout client.key -out client.csr -subj "/CN=client.1" ```</source>
        <target state="translated">``` openssl req -new -newkey rsa:4096 -keyout client.key -out client.csr -subj "/CN=client.1" ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">186</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="6bda627214052ee1">
        <source>* Sign the Client CSR using our CA:</source>
        <target state="translated">* 使用 CA 对客户端 CSR 进行签名：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">191</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="5011600eebcefec6">
        <source>``` openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -days 365 -out client.crt ```</source>
        <target state="translated">``` openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -days 365 -out client.crt ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">193</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="da442c779f77096f">
        <source>* Generate a DH parameters file:</source>
        <target state="translated">* 生成 DH 参数文件：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">197</context>
        </context-group>
        <note from="developer">type: list</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="1ed0dc50ec67471f">
        <source>``` openssl dhparam -out dh4096.pem 4096 ```</source>
        <target state="translated">``` openssl dhparam -out dh4096.pem 4096 ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">199</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8de5a9d98fd5468f">
        <source>Server example: [path_link example/doc/ssl/server.cpp server.cpp]</source>
        <target state="translated">服务器端示例：[path_link example/doc/ssl/server.cpp server.cpp]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">203</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="3a91e84c0b2f389d">
        <source>Note that the server is configured in such a way that it requests and verifies the client certificate. You can disable this by commenting out the related line in the example.</source>
        <target state="translated">注意，该服务器的配置方式要求对客户端证书进行请求和验证。如果需要禁用此功能，可以注释掉示例中的相关代码行。</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">205</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8e421d4e7a5e25ef">
        <source>You can test the server using this cURL command:</source>
        <target state="translated">可以使用以下 cURL 命令测试该服务器：</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">209</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8d709badcf972ab1">
        <source>``` curl https://localhost:8080 --cacert ca.crt --cert client.crt --key client.key ```</source>
        <target state="translated">``` curl https://localhost:8080 --cacert ca.crt --cert client.crt --key client.key ```</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">211</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="02db4424b60283af">
        <source>Also, you can use the client example: [path_link example/doc/ssl/client.cpp client.cpp]</source>
        <target state="translated">此外，也可以使用客户端示例：[path_link example/doc/ssl/client.cpp client.cpp]</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile">215</context>
        </context-group>
        <note from="developer">type: paragraph</note>
      </trans-unit>
    </body>
  </file>
</xliff>
