<?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="needs-translation">SSL/TLS Certificate</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="needs-translation">Certificate Authority</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="needs-translation">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.</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="needs-translation">Boost.Asio provides various methods for loading certificate authority certificates:</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="needs-translation">* [@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="needs-translation">It is important to set up peer verification so that the TLS/SSL handshake fails if certificate verification is unsuccessful:</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="needs-translation">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:</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="needs-translation">A server can also request and verify a client certificate to authenticate the client:</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="needs-translation">Server Certificate</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="needs-translation">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).</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="needs-translation">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.</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="needs-translation">The following Boost.Asio methods can be used for loading a certificate or a certificate chain:</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="needs-translation">* [@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="needs-translation">Client Certificate</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="needs-translation">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:</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="needs-translation">If used, the necessary CA certificates must be loaded into the server's SSL context to enable verification of the client's certificate.</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="needs-translation">Common Name and Subject Alternative Name</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="needs-translation">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.</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="needs-translation">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.</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="needs-translation">Private Key</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="needs-translation">The private key of a certificate is required during the SSL/TLS handshake to prove that the certificate's provider is its rightful owner</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="needs-translation">The following Boost.Asio methods can be used for loading a private key:</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="needs-translation">* [@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="needs-translation">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.</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="needs-translation">Self-Signed and Self-Issued Certificates</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="needs-translation">A self-issued certificate is a certificate where the issuer and subject are the same entity.</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="needs-translation">A self-signed certificate is a self-issued certificate in which the digital signature can be verified using the public key within the certificate.</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="needs-translation">Installing an untrusted, self-issued, or self-signed CA certificate poses a</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="needs-translation">Diffie-Hellman (DH) Parameters</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="needs-translation">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.</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="needs-translation">The following Boost.Asio methods can be used for loading DH parameters:</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="needs-translation">* [@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="needs-translation">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.</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="needs-translation">A Self-Issued Certificate Example</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="needs-translation">In the following example, we will generate a self-signed CA certificate and use it to issue both server and client certificates.</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="needs-translation">* Generate a CA certificate:</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="needs-translation">``` 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="needs-translation">* Generate a Server 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="needs-translation">``` 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="needs-translation">* 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="needs-translation">``` 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="needs-translation">* Generate a Client 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="needs-translation">``` 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="needs-translation">* Sign the Client CSR using our CA:</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="needs-translation">``` 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="needs-translation">* Generate a DH parameters file:</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="needs-translation">``` 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="needs-translation">Server example: [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="needs-translation">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.</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="needs-translation">You can test the server using this cURL command:</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="needs-translation">``` 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="needs-translation">Also, you can use the client example: [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>
