mirror of
				https://github.com/crypto-pro-web/crypto-pro-php-stubs.git
				synced 2025-10-31 01:13:22 +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