diff --git a/src/CPSignedData.php b/src/CPSignedData.php
index fa435d2..d077bab 100644
--- a/src/CPSignedData.php
+++ b/src/CPSignedData.php
@@ -1,40 +1,634 @@
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ * @param bool $bDetached Вид подписи: отделенная (true) или совмещенная (false). По умолчанию совмещенная.
+ * @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * ENCODE_ANY |
+ * Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
+ * только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.
|
+ * 0xffffffff |
+ *
+ *
+ * ENCODE_BASE64 |
+ * Данные сохраняются в виде строки в кодировке Base64.
|
+ * 0 |
+ *
+ *
+ * ENCODE_BINARY |
+ * Данные сохраняются в виде чистой двоичной последовательности.
|
+ * 1 |
+ *
+ *
+ *
+ *
+ * @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.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ * @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * ENCODE_ANY |
+ * Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
+ * только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.
|
+ * 0xffffffff |
+ *
+ *
+ * ENCODE_BASE64 |
+ * Данные сохраняются в виде строки в кодировке Base64.
|
+ * 0 |
+ *
+ *
+ * ENCODE_BINARY |
+ * Данные сохраняются в виде чистой двоичной последовательности.
|
+ * 1 |
+ *
+ *
+ *
+ *
+ * @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.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ * @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * ENCODE_ANY |
+ * Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
+ * только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.
|
+ * 0xffffffff |
+ *
+ *
+ * ENCODE_BASE64 |
+ * Данные сохраняются в виде строки в кодировке Base64.
|
+ * 0 |
+ *
+ *
+ * ENCODE_BINARY |
+ * Данные сохраняются в виде чистой двоичной последовательности.
|
+ * 1 |
+ *
+ *
+ *
+ *
+ * @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.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ * @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * ENCODE_ANY |
+ * Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
+ * только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.
|
+ * 0xffffffff |
+ *
+ *
+ * ENCODE_BASE64 |
+ * Данные сохраняются в виде строки в кодировке Base64.
|
+ * 0 |
+ *
+ *
+ * ENCODE_BINARY |
+ * Данные сохраняются в виде чистой двоичной последовательности.
|
+ * 1 |
+ *
+ *
+ *
+ *
+ * @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.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ * @param string $TSAAddress Адрес службы штампов времени.
+ * @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * ENCODE_ANY |
+ * Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
+ * только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.
|
+ * 0xffffffff |
+ *
+ *
+ * ENCODE_BASE64 |
+ * Данные сохраняются в виде строки в кодировке Base64.
|
+ * 0 |
+ *
+ *
+ * ENCODE_BINARY |
+ * Данные сохраняются в виде чистой двоичной последовательности.
|
+ * 1 |
+ *
+ *
+ *
+ *
+ * @return void
+ */
+ public function EnhanceCades($CadesType, string $TSAAddress, $EncodingType = ENCODE_BASE64)
+ {
+ }
+
+ /**
+ * Позволяет проверить усовершенствованную подпись, в том числе и на соответствие заданому типу подписи.
+ *
+ * @param string $SignedMessage Проверяемое подписанное сообщение.
+ * @param mixed $CadesType Тип усовершенствованной подписи. По умолчанию CAdES-X Long Type 1.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ * @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.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * CADES_BES |
+ * Тип подписи CAdES BES. |
+ * 0x01 |
+ *
+ *
+ * CADES_DEFAULT |
+ * Тип подписи по умолчанию (CAdES-X Long Type 1). |
+ * 0x00 |
+ *
+ *
+ * CADES_T |
+ * Тип подписи CAdES T. |
+ * 0x05 |
+ *
+ *
+ * CADES_X_LONG_TYPE_1 |
+ * Тип подписи CAdES-X Long Type 1. |
+ * 0x5D |
+ *
+ *
+ * PKCS7_TYPE |
+ * Тип подписи PKCS7. |
+ * 0xffff |
+ *
+ *
+ *
+ *
+ * @return void
+ */
+ public function VerifyHash(\CPHashedData $Hash, string $SignedMessage, $CadesType = CADES_DEFAULT)
+ {
+ }
+
+ /**
+ * Устанавливает способ кодирования данных для подписи.
+ *
+ * @param mixed $EncodingType Кодировка возвращаемой подписи. По умолчанию ENCODE_BASE64.
+ * Может принимать следующие значения:
+ *
+ *
+ *
+ * Имя |
+ * Описание |
+ * Значение |
+ *
+ *
+ *
+ *
+ * ENCODE_ANY |
+ * Данные сохраняются в виде строки в кодировке Base64 или чистой двоичной последовательности. Этот тип кодирования используется
+ * только для входных данных с неизвестным типом кодирования. Представлен в CAPICOM 2.0.
|
+ * 0xffffffff |
+ *
+ *
+ * ENCODE_BASE64 |
+ * Данные сохраняются в виде строки в кодировке Base64.
|
+ * 0 |
+ *
+ *
+ * ENCODE_BINARY |
+ * Данные сохраняются в виде чистой двоичной последовательности.
|
+ * 1 |
+ *
+ *
+ *
+ *
+ * @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()
+ {
+ }
}
diff --git a/src/meta/.phpstorm.meta.php b/src/meta/.phpstorm.meta.php
index 8df1fc0..bb815ea 100755
--- a/src/meta/.phpstorm.meta.php
+++ b/src/meta/.phpstorm.meta.php
@@ -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
+ );
}