<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.openssl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'openssl.certparams.php',
    1 => 'Параметры ключа и сертификата',
    2 => 'Параметры ключа и сертификата',
  ),
  'up' => 
  array (
    0 => 'book.openssl.php',
    1 => 'OpenSSL',
  ),
  'prev' => 
  array (
    0 => 'openssl.constants.other.php',
    1 => 'Другие константы',
  ),
  'next' => 
  array (
    0 => 'openssl.cert.verification.php',
    1 => 'Проверка сертификата',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/openssl/certparams.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="openssl.certparams" class="appendix">
 <h1 class="title">Параметры ключа и сертификата</h1>

 <p class="para">
  Параметры отдельных функции модуля openssl требуют аргумента в виде ключа или сертификата.
  Ключи и сертификаты получают следующими методами:
  <ul class="itemizedlist">
   <li class="listitem">
    <p class="para">
     Сертификаты
     <ol type="1">
      <li class="listitem">
       <span class="simpara">
        Экземпляр класса <span class="classname"><a href="class.opensslcertificate.php" class="classname">OpenSSLCertificate</a></span>
        (или до PHP 8.0.0 ресурс (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>), который принадлежит типу <code class="literal">OpenSSL X.509</code>),
        который возвращает функция <span class="function"><a href="function.openssl-x509-read.php" class="function">openssl_x509_read()</a></span>.
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Строка в формате <var class="filename">file://path/to/cert.pem</var>; именованный файл
        должен содержать <abbr title="Privacy-Enhanced Mail">PEM</abbr>-сертификат.
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Строка с содержимым <abbr title="Privacy-Enhanced Mail">PEM</abbr>-сертификата,
        может начинаться с <code class="literal">-----BEGIN CERTIFICATE-----</code>.
       </span>
      </li>
     </ol>
    </p>
   </li>

   <li class="listitem">
    <p class="para">
     Запросы на подпись сертификата (Certificate Signing Requests, или CSRs)
     <ol type="1">
      <li class="listitem">
       <span class="simpara">
        Экземпляр класса <span class="classname"><a href="class.opensslcertificatesigningrequest.php" class="classname">OpenSSLCertificateSigningRequest</a></span>
        (или до PHP 8.0.0 ресурс (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>), который принадлежит типу <code class="literal">OpenSSL X.509 CSR</code>),
        который возвращает функция <span class="function"><a href="function.openssl-csr-new.php" class="function">openssl_csr_new()</a></span>.
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Строка в формате <var class="filename">file://path/to/csr.pem</var>; именованный файл
        должен содержать <abbr title="Certificate Signing Request">CSR</abbr>-запрос в формате <abbr title="Privacy-Enhanced Mail">PEM</abbr>.
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Строка с содержимым <abbr title="Certificate Signing Request">CSR</abbr>-запроса в формате <abbr title="Privacy-Enhanced Mail">PEM</abbr>,
        может начинаться с <code class="literal">-----BEGIN CERTIFICATE REQUEST-----</code>.
       </span>
      </li>
     </ol>
    </p>
   </li>

   <li class="listitem">
    <p class="para">
     Открытые и закрытые ключи
     <ol type="1">
      <li class="listitem">
       <span class="simpara">
        Экземпляр класса <span class="classname"><a href="class.opensslasymmetrickey.php" class="classname">OpenSSLAsymmetricKey</a></span>
        (или до PHP 8.0.0 ресурс (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>), который принадлежит типу <code class="literal">OpenSSL key</code>),
        который возвращает функция <span class="function"><a href="function.openssl-get-publickey.php" class="function">openssl_get_publickey()</a></span>
        или <span class="function"><a href="function.openssl-get-privatekey.php" class="function">openssl_get_privatekey()</a></span>.
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Только для открытых ключей: экземпляр класса <span class="classname"><a href="class.opensslcertificate.php" class="classname">OpenSSLCertificate</a></span>
        (или до PHP 8.0.0 ресурс (<span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>), который принадлежит типу <code class="literal">OpenSSL X.509</code>).
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Строка в формате <var class="filename">file://path/to/file.pem</var>; именованный файл
        должен содержать сертификат/закрытый ключ в формате <abbr title="Privacy-Enhanced Mail">PEM</abbr> (может содержать
        и ключ, и сертификат).
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Строка с содержимым сертификата/ключа в формате <abbr title="Privacy-Enhanced Mail">PEM</abbr>,
        может начинаться с <code class="literal">-----BEGIN PUBLIC KEY-----</code>.
       </span>
      </li>
      <li class="listitem">
       <span class="simpara">
        Для закрытых ключей допускается синтаксис
        <code class="literal">array($key, $passphrase)</code>, где переменная <var class="varname">$key</var> —
        ключ, который задали строкой вида file:// или нотацией текстового содержимого,
        которое описывает эта страница, а переменная <var class="varname">$passphrase</var> —
        строка, которая содержит парольную фразу для заданного закрытого ключа.
       </span>
      </li>
     </ol>
    </p>
   </li>
  </ul>
 </p>
</div>
<?php manual_footer($setup); ?>