mirror of
https://github.com/crypto-pro-web/crypto-pro-php-stubs.git
synced 2025-02-22 18:05:50 +03:00
Описание класса свойств и методов для работы с подписанным сообщением
This commit is contained in:
parent
e3b57cd332
commit
fc004d6418
@ -1,40 +1,634 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Предоставляет свойства и методы для работы с подписанным сообщением. Реализует сдедующие интерфейсы: ICPSignedData4, ICPSignedData3, ICPSignedData2, ICPSignedData, CAPICOM.SignedData
|
||||
*
|
||||
* @link https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_interface/icpsigneddata4
|
||||
* @link https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_interface/icpsigneddata3
|
||||
* @link https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_interface/icpsigneddata2
|
||||
* @link https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_interface/icpsigneddata
|
||||
* @link https://learn.microsoft.com/windows/win32/seccrypto/signeddata
|
||||
*/
|
||||
class CPSignedData
|
||||
{
|
||||
|
||||
public function __construct(){}
|
||||
|
||||
public function SignCades(){}
|
||||
|
||||
public function SignHash(){}
|
||||
|
||||
public function Sign(){}
|
||||
|
||||
public function CoSign(){}
|
||||
|
||||
public function CoSignCades(){}
|
||||
|
||||
public function CoSignHash(){}
|
||||
|
||||
public function EnhanceCades(){}
|
||||
|
||||
public function VerifyCades(){}
|
||||
|
||||
public function VerifyHash(){}
|
||||
|
||||
public function Verify(){}
|
||||
|
||||
public function set_ContentEncoding(){}
|
||||
|
||||
public function get_ContentEncoding(){}
|
||||
|
||||
public function set_Content(){}
|
||||
|
||||
public function get_Content(){}
|
||||
|
||||
public function get_Signers(){}
|
||||
|
||||
public function get_Certificates(){}
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет добавить к сообщению усовершенствованную подпись.
|
||||
*
|
||||
* @param \CPSigner $Signer Объект CPSigner, который будет использован для создания подписи.
|
||||
* По умолчанию не задан, при этом выбор сертификата для подписи производится аналогично
|
||||
* методу Sign объекта CAPICOM.SignedData при отсутствии первого параметра.
|
||||
* Таким же образом выбор сертификата для подписи производится в случае, если параметр pSigner задан,
|
||||
* но не содержит сертификата для подписи.
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
* @param bool $bDetached Вид подписи: отделенная (true) или совмещенная (false). По умолчанию совмещенная.
|
||||
* @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
|
||||
* Может принимать следующие значения:
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_ANY</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
|
||||
* только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.<br></td>
|
||||
* <td>0xffffffff</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BASE64</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64.<br></td>
|
||||
* <td>0</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BINARY</strong></td>
|
||||
* <td>Данные сохраняются в виде чистой двоичной последовательности.<br></td>
|
||||
* <td>1</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function SignCades(\CPSigner $Signer, $CadesType = CADES_DEFAULT, bool $bDetached = false, $EncodingType = ENCODE_BASE64)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет создать усовершенствованную подпись на основе переданного хэш-значения.
|
||||
*
|
||||
* @param \CPHashedData $Hash Объект CPHashedData, соответствующий хэш-значению, для которого следует создать подписанное CMS-сообщение.
|
||||
* @param \CPSigner $Signer Объект CPSigner, который будет использован для создания подписи.
|
||||
* По умолчанию не задан, при этом выбор сертификата для подписи производится аналогично
|
||||
* методу Sign объекта CAPICOM.SignedData при отсутствии первого параметра.
|
||||
* Таким же образом выбор сертификата для подписи производится в случае, если параметр pSigner задан,
|
||||
* но не содержит сертификата для подписи.
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
* @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
|
||||
* Может принимать следующие значения:
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_ANY</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
|
||||
* только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.<br></td>
|
||||
* <td>0xffffffff</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BASE64</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64.<br></td>
|
||||
* <td>0</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BINARY</strong></td>
|
||||
* <td>Данные сохраняются в виде чистой двоичной последовательности.<br></td>
|
||||
* <td>1</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function SignHash(\CPHashedData $Hash, \CPSigner $Signer, $CadesType = CADES_DEFAULT, $EncodingType = ENCODE_BASE64)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет добавить к сообщению параллельную усовершенствованную подпись.
|
||||
*
|
||||
* @param \CPSigner $Signer Объект CPSigner, который будет использован для создания подписи.
|
||||
* По умолчанию не задан, при этом выбор сертификата для подписи производится аналогично
|
||||
* методу Sign объекта CAPICOM.Signer при отсутствии первого параметра.
|
||||
* Таким же образом выбор сертификата для подписи производится в случае, если параметр pSigner задан,
|
||||
* но не содержит сертификата для подписи.
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
* @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
|
||||
* Может принимать следующие значения:
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_ANY</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
|
||||
* только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.<br></td>
|
||||
* <td>0xffffffff</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BASE64</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64.<br></td>
|
||||
* <td>0</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BINARY</strong></td>
|
||||
* <td>Данные сохраняются в виде чистой двоичной последовательности.<br></td>
|
||||
* <td>1</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function CoSignCades(\CPSigner $Signer, $CadesType = CADES_DEFAULT, $EncodingType = ENCODE_BASE64)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет добавить к сообщению параллельную усовершенствованную подпись.
|
||||
*
|
||||
* @param \CPHashedData $Hash Объект CPHashedData, соответствующий хэш-значению, для которого следует создать подписанное CMS-сообщение.
|
||||
* @param \CPSigner $Signer Объект CPSigner, который будет использован для создания подписи.
|
||||
* По умолчанию не задан, при этом выбор сертификата для подписи производится аналогично
|
||||
* методу Sign объекта CAPICOM.Signer при отсутствии первого параметра.
|
||||
* Таким же образом выбор сертификата для подписи производится в случае, если параметр pSigner задан,
|
||||
* но не содержит сертификата для подписи.
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
* @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
|
||||
* Может принимать следующие значения:
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_ANY</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
|
||||
* только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.<br></td>
|
||||
* <td>0xffffffff</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BASE64</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64.<br></td>
|
||||
* <td>0</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BINARY</strong></td>
|
||||
* <td>Данные сохраняются в виде чистой двоичной последовательности.<br></td>
|
||||
* <td>1</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function CoSignHash(\CPHashedData $Hash, \CPSigner $Signer, $CadesType = CADES_DEFAULT, $EncodingType = ENCODE_BASE64)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет дополнить подпись до усовершенствованной.
|
||||
*
|
||||
* С помощью данного метода подпись, созданная в формате CAdES BES, может быть дополнена до усовершенствованной подписи CADES-X Long Type 1.
|
||||
* Если исходная подпись не соответствует формату CAdES BES, то она не может быть дополнена ни до CAdES BES, ни до CADES-X Long Type 1.
|
||||
*
|
||||
* Если параметр CadesType имеет значение CADES_X_LONG_TYPE_1, то метод EnhanceCades добавляет к уже готовой подписи неподписанные атрибуты,
|
||||
* необходимые для соответствия CADES-X Long Type 1 (штампы времени на подпись и на доказательства подлинности, ссылки на сертификаты и
|
||||
* информацию об отзыве, значения сертификатов, CRL и OCSP ответов, использовавшихся при проверке цепочки).
|
||||
* Если параметр CadesType имеет значение CADES_BES, то метод EnhanceCades проверяет подпись на соответствие формату CAdES BES,
|
||||
* без добавления дополнительных атрибутов. Точно так же, если параметр CadesType имеет значение CADES_X_LONG_TYPE_1 то сначала проверяется,
|
||||
* не соответствует ли уже подпись формату CADES_X_LONG_TYPE_1 (cоответствие определяется по наличию нужных атрибутов), и если соответствует,
|
||||
* то метод EnhanceCades успешно завершает свою работу, не внося никаких изменений.
|
||||
*
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
* @param string $TSAAddress Адрес службы штампов времени.
|
||||
* @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
|
||||
* Может принимать следующие значения:
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_ANY</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
|
||||
* только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.<br></td>
|
||||
* <td>0xffffffff</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BASE64</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64.<br></td>
|
||||
* <td>0</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BINARY</strong></td>
|
||||
* <td>Данные сохраняются в виде чистой двоичной последовательности.<br></td>
|
||||
* <td>1</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function EnhanceCades($CadesType, string $TSAAddress, $EncodingType = ENCODE_BASE64)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет проверить усовершенствованную подпись, в том числе и на соответствие заданому типу подписи.
|
||||
*
|
||||
* @param string $SignedMessage Проверяемое подписанное сообщение.
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
* @param bool $bDetached Вид подписи: отделенная (true) или совмещенная (false). По умолчанию совмещенная.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function VerifyCades(string $SignedMessage, $CadesType = CADES_DEFAULT, bool $bDetached = false)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Позволяет проверить усовершенствованную подпись, в том числе и на соответствие заданому типу подписи.
|
||||
* В отличие от метода VerifyCades, данный метод не проверяет соответствие хэш-значения каким-либо данным.
|
||||
* Если в переданном сообщении присутствует подписанный атрибут messageDigest, то данный метод проверяет только
|
||||
* соответствие хэш-значения в параметре Hash тому хэш-значению, которое содержится в атрибуте messageDigest.
|
||||
*
|
||||
* @param \CPHashedData $Hash Объект \CPHashedData, соответствующий хэш-значению, при помощи которого следует проверить подписанное CMS-сообщение.
|
||||
* @param string $SignedMessage Проверяемое подписанное сообщение.
|
||||
* @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
|
||||
* Может принимать следующие значения:
|
||||
* <table class="table">
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td>CADES_BES</td>
|
||||
* <td>Тип подписи CAdES BES.</td>
|
||||
* <td>0x01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_DEFAULT</td>
|
||||
* <td>Тип подписи по умолчанию (CAdES-X Long Type 1).</td>
|
||||
* <td>0x00</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_T</td>
|
||||
* <td>Тип подписи CAdES T.</td>
|
||||
* <td>0x05</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>CADES_X_LONG_TYPE_1</td>
|
||||
* <td>Тип подписи CAdES-X Long Type 1.</td>
|
||||
* <td>0x5D</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>PKCS7_TYPE</td>
|
||||
* <td>Тип подписи PKCS7.</td>
|
||||
* <td>0xffff</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function VerifyHash(\CPHashedData $Hash, string $SignedMessage, $CadesType = CADES_DEFAULT)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает способ кодирования данных для подписи.
|
||||
*
|
||||
* @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
|
||||
* Может принимать следующие значения:
|
||||
* <table>
|
||||
* <thead>
|
||||
* <tr>
|
||||
* <th>Имя</th>
|
||||
* <th>Описание</th>
|
||||
* <th>Значение</th>
|
||||
* </tr>
|
||||
* </thead>
|
||||
* <tbody>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_ANY</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
|
||||
* только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.<br></td>
|
||||
* <td>0xffffffff</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BASE64</strong></td>
|
||||
* <td>Данные сохраняются в виде строки в кодировке Base64.<br></td>
|
||||
* <td>0</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td><strong>ENCODE_BINARY</strong></td>
|
||||
* <td>Данные сохраняются в виде чистой двоичной последовательности.<br></td>
|
||||
* <td>1</td>
|
||||
* </tr>
|
||||
* </tbody>
|
||||
* </table>
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function set_ContentEncoding($EncodingType)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает способ кодирования данных для подписи.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function get_ContentEncoding()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает данные, которые должны быть подписаны.
|
||||
*
|
||||
* @param string $Content данные, которые должны быть подписаны.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function set_Content(string $Content)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает данные, которые должны быть подписаны.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_Content()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Извлекает коллекцию объект CPSigner, которые были использованы для создания подписи.
|
||||
*
|
||||
* @return \CPSigners
|
||||
*/
|
||||
public function get_Signers()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Извлекает коллекцию сертификатов подписанных данных.
|
||||
*
|
||||
* @return \CPCertificates
|
||||
*/
|
||||
public function get_Certificates()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -52,4 +52,57 @@ namespace PHPSTORM_META {
|
||||
| CERT_INFO_SUBJECT_UPN | CERT_INFO_ISSUER_UPN
|
||||
| CERT_INFO_SUBJECT_DNS_NAME | CERT_INFO_ISSUER_DNS_NAME
|
||||
);
|
||||
|
||||
/**
|
||||
* @see \CPSignedData
|
||||
*/
|
||||
expectedArguments(
|
||||
\CPSignedData::SignCades(), 1,
|
||||
CADES_BES | CADES_DEFAULT | CADES_T | CADES_X_LONG_TYPE_1 | PKCS7_TYPE
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::SignCades(), 3,
|
||||
ENCODE_ANY | ENCODE_BASE64 | ENCODE_BINARY
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::VerifyCades(), 1,
|
||||
CADES_BES | CADES_DEFAULT | CADES_T | CADES_X_LONG_TYPE_1 | PKCS7_TYPE
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::CoSignCades(), 1,
|
||||
CADES_BES | CADES_DEFAULT | CADES_T | CADES_X_LONG_TYPE_1 | PKCS7_TYPE
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::CoSignCades(), 2,
|
||||
ENCODE_ANY | ENCODE_BASE64 | ENCODE_BINARY
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::SignHash(), 2,
|
||||
CADES_BES | CADES_DEFAULT | CADES_T | CADES_X_LONG_TYPE_1 | PKCS7_TYPE
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::SignHash(), 3,
|
||||
ENCODE_ANY | ENCODE_BASE64 | ENCODE_BINARY
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::CoSignHash(), 2,
|
||||
CADES_BES | CADES_DEFAULT | CADES_T | CADES_X_LONG_TYPE_1 | PKCS7_TYPE
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::CoSignHash(), 3,
|
||||
ENCODE_ANY | ENCODE_BASE64 | ENCODE_BINARY
|
||||
);
|
||||
|
||||
expectedArguments(
|
||||
\CPSignedData::VerifyHash(), 2,
|
||||
CADES_BES | CADES_DEFAULT | CADES_T | CADES_X_LONG_TYPE_1 | PKCS7_TYPE
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user