<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/openssl.constants.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'openssl.pkcs7.flags.php',
    1 => 'PKCS7 フラグ/定数',
    2 => 'PKCS7 フラグ/定数',
  ),
  'up' => 
  array (
    0 => 'openssl.constants.php',
    1 => '定義済み定数',
  ),
  'prev' => 
  array (
    0 => 'openssl.key-types.php',
    1 => 'キーの種類',
  ),
  'next' => 
  array (
    0 => 'openssl.cms.flags.php',
    1 => 'CMS (暗号メッセージシンタックス) 関連のフラグ/定数',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/openssl/constants.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="openssl.pkcs7.flags" class="section">
   <h2 class="title"><abbr>PKCS7</abbr> フラグ/定数</h2>
   <p class="para">
    S/MIME 関数はビットフィールドを使用して指定したフラグを使用します。
    このビットフィールドには、以下の値を一つ以上含むことが可能です。
    <table class="doctable table">
     <caption><strong><abbr>PKCS7</abbr> 定数</strong></caption>
      
       <thead>
        <tr>
         <th>定数</th>
         <th>説明</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr id="constant.pkcs7-text">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-text">PKCS7_TEXT</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          <code class="literal">text/plain</code> content type ヘッダを暗号化/署名されたメッセージに
          追加します。復号化または認証を行う際には、このヘッダは出力から
          取り除かれます。復号化または認証されたメッセージが <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr>
          型 <code class="literal">text/plain</code> でない場合、エラーとなります。
         </td>
        </tr>

        <tr id="constant.pkcs7-binary">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-binary">PKCS7_BINARY</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          通常は、入力されたメッセージは <code class="literal">CR</code> および <code class="literal">LF</code> を行端として使用した
          「正規化」された形式に変換されます。こらは、S/MIME の規格に
          基づくものです。このオプションが指定された場合、変換は行われません。
          この機能は、MIME 形式でないバイナリデータを処理する際に
          便利です。
         </td>
        </tr>

        <tr id="constant.pkcs7-nointern">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-nointern">PKCS7_NOINTERN</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          メッセージを認証する際に、通常、メッセージに含まれる証明書が
          証明書にサインする際に検索されます。
          このオプションでは、
          <span class="function"><a href="function.openssl-pkcs7-verify.php" class="function">openssl_pkcs7_verify()</a></span> の
          <code class="parameter">untrusted_certificates_filename</code> パラメータで指定した証明書
          のみが使用されます。しかし、指定された証明書を信頼されていな
          い CA として使用することも可能です。
         </td>
        </tr>

        <tr id="constant.pkcs7-noverify">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-noverify">PKCS7_NOVERIFY</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          サインつきメッセージをサインした証明書の署名について
          検証しません。
         </td>
        </tr>

        <tr id="constant.pkcs7-nochain">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-nochain">PKCS7_NOCHAIN</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          サインを行った側の証明書の認証の連鎖を行いません。
          この場合、サイン付きのメッセージにある証明書を未認証の CA
          として使用しません。
         </td>
        </tr>

        <tr id="constant.pkcs7-nocerts">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-nocerts">PKCS7_NOCERTS</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          メッセージにサインする際、通常はサインをする人の証明書が挿入
          されますが、このオプションを指定した場合はそうなりません。これに
          よりサイン付きのメッセージのサイズは小さくなりますが、認証
          側が（例えば、<span class="function"><a href="function.openssl-pkcs7-verify.php" class="function">openssl_pkcs7_verify()</a></span> の
          <code class="parameter">untrusted_certificates_filename</code> を用いて渡すことにより）
          サインをした人の証明書のコピーをローカルに用意する必要があります。
         </td>
        </tr>

        <tr id="constant.pkcs7-noattr">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-noattr">PKCS7_NOATTR</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          通常、メッセージがサインされる時、サインした時間やサポートされる
          対象アルゴリズムを含む一連の属性が付加されます。このオプションを
          指定した場合、それらの属性は付加されません。
         </td>
        </tr>

        <tr id="constant.pkcs7-detached">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-detached">PKCS7_DETACHED</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          メッセージにサインをする際、MIME型 <code class="literal">&quot;multipart/signed&quot;</code>
          を指定してクリアテキストでサインを行います。これは、
          <span class="function"><a href="function.openssl-pkcs7-sign.php" class="function">openssl_pkcs7_sign()</a></span> において
          フラグを指定しなかった場合の <code class="parameter">flags</code>
          パラメータのデフォルトです。このオプションをオフにした場合、
          メッセージは不透明なサインによりサインされます。これは、
          メールリレイによる変換に対してより耐性がありますが、S/MIME を
          サポートしないメールエージェントでは読むことはできません。
         </td>
        </tr>

        <tr id="constant.pkcs7-nosigs">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-nosigs">PKCS7_NOSIGS</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>メッセージにサインや認証を試みません。</td>
        </tr>

        <tr id="constant.pkcs7-nooldmimetype">
         <td>
          <strong><code><a href="openssl.pkcs7.flags.php#constant.pkcs7-nooldmimetype">PKCS7_NOOLDMIMETYPE</a></code></strong>
          (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
         </td>
         <td>
          PHP 8.3.0 以降で利用可能です。
          メッセージを暗号化する場合に、content-type の値として
          <code class="literal">application/x-pkcs7-mime</code> ではなく
          <code class="literal">application/pkcs7-mime</code> を設定します。
         </td>
        </tr>

       </tbody>
      
     </table>

   </p>
  </div><?php manual_footer($setup); ?>