ファイルに署名する

# openssl_cms_sign

(PHP 8)

openssl_cms_sign — ファイルに署名する

### 説明

function openssl_cms_sign(
string `$input_filename`,
string `$output_filename`,
OpenSSLCertificate|string `$certificate`,
#[\SensitiveParameter]OpenSSLAsymmetricKey|OpenSSLCertificate|array|string `$private_key`,
?array `$headers`,
int `$flags` = 0,
int `$encoding` = `OPENSSL_ENCODING_SMIME`,
?string `$untrusted_certificates_filename` = `null`
): bool

この関数は、X.509 証明書 と秘密鍵を使ってファイルに署名します。

### パラメータ

`input_filename`

  署名するファイル名。

`output_filename`

  処理結果を出力するファイル名。

`certificate`

  署名に使う証明書。 有効な値の一覧については、 キー/証明書パラメータ を参照ください。

`private_key`

  `certificate` に関連付けられた秘密鍵。 有効な値の一覧については、 キー/証明書パラメータ を参照ください。

`headers`

  S/MIME 形式の出力に含められるヘッダの配列。

`flags`

  cms_sign() に渡すフラグ。

`encoding`

  出力ファイルのエンコーディング。 `OPENSSL_ENCODING_SMIME`, `OPENSSL_ENCODING_DER`, `OPENSSL_ENCODING_PEM` のいずれかです。

`untrusted_certificates_filename`

  署名に含まれる中間証明書。

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

### 例

例1 openssl_cms_sign() の例

    <?php

    openssl_cms_sign('input.txt', 'output.txt', 'file://cert.pem', 'file://privkey.pem', null, OPENSSL_CMS_BINARY, OPENSSL_ENCODING_DER, 'chain.pem');
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open