mirror of
				https://github.com/crypto-pro-web/crypto-pro-php.git
				synced 2025-11-04 03:53:21 +03:00 
			
		
		
		
	Доработки и исправления
This commit is contained in:
		
							parent
							
								
									54fd91fa65
								
							
						
					
					
						commit
						84879f7a1e
					
				@ -2,14 +2,18 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Webmasterskaya\CryptoPro;
 | 
					namespace Webmasterskaya\CryptoPro;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Webmasterskaya\CryptoPro\Constants\CADESCOM_ATTRIBUTE;
 | 
				
			||||||
 | 
					use Webmasterskaya\CryptoPro\Constants\CADESCOM_CADES_TYPE;
 | 
				
			||||||
 | 
					use Webmasterskaya\CryptoPro\Constants\CADESCOM_CONTENT_ENCODING_TYPE;
 | 
				
			||||||
 | 
					use Webmasterskaya\CryptoPro\Constants\CADESCOM_ENCODE;
 | 
				
			||||||
 | 
					use Webmasterskaya\CryptoPro\Constants\CADESCOM_HASH_ALGORITHM;
 | 
				
			||||||
 | 
					use Webmasterskaya\CryptoPro\Constants\CADESCOM_STORE_LOCATION;
 | 
				
			||||||
use Webmasterskaya\CryptoPro\Constants\CAPICOM_CERTIFICATE_FIND_TYPE;
 | 
					use Webmasterskaya\CryptoPro\Constants\CAPICOM_CERTIFICATE_FIND_TYPE;
 | 
				
			||||||
use Webmasterskaya\CryptoPro\Constants\CAPICOM_ENCODE;
 | 
					use Webmasterskaya\CryptoPro\Constants\CAPICOM_CERTIFICATE_INCLUDE_OPTION;
 | 
				
			||||||
use Webmasterskaya\CryptoPro\Constants\CAPICOM_PROPID;
 | 
					use Webmasterskaya\CryptoPro\Constants\CAPICOM_PROPID;
 | 
				
			||||||
use Webmasterskaya\CryptoPro\Helpers\CertificateHelper;
 | 
					use Webmasterskaya\CryptoPro\Helpers\CertificateHelper;
 | 
				
			||||||
use Webmasterskaya\CryptoPro\Helpers\ErrorMessageHelper;
 | 
					use Webmasterskaya\CryptoPro\Helpers\ErrorMessageHelper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const CONTAINER_STORE = 100;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class CryptoPro
 | 
					class CryptoPro
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	protected const CP_MY_STORE = 'My';
 | 
						protected const CP_MY_STORE = 'My';
 | 
				
			||||||
@ -25,9 +29,10 @@ class CryptoPro
 | 
				
			|||||||
	public static function getUserCertificates(bool $resetCache = false)
 | 
						public static function getUserCertificates(bool $resetCache = false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		static $certificates;
 | 
							static $certificates;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($resetCache === true || !isset($certificates))
 | 
							if ($resetCache === true || !isset($certificates))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$certificates = self::getCertificatesFromStore(CURRENT_USER_STORE);
 | 
								$certificates = self::getCertificatesFromStore(CADESCOM_STORE_LOCATION::CURRENT_USER_STORE);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return $certificates;
 | 
							return $certificates;
 | 
				
			||||||
@ -44,9 +49,14 @@ class CryptoPro
 | 
				
			|||||||
	public static function getAllUserCertificates(bool $resetCache = false)
 | 
						public static function getAllUserCertificates(bool $resetCache = false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		static $certificates;
 | 
							static $certificates;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($resetCache === true || !isset($certificates))
 | 
							if ($resetCache === true || !isset($certificates))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$certificates = self::getCertificatesFromStore(CURRENT_USER_STORE, self::CP_MY_STORE, false);
 | 
								$certificates = self::getCertificatesFromStore(
 | 
				
			||||||
 | 
									CADESCOM_STORE_LOCATION::CURRENT_USER_STORE,
 | 
				
			||||||
 | 
									self::CP_MY_STORE,
 | 
				
			||||||
 | 
									false
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return $certificates;
 | 
							return $certificates;
 | 
				
			||||||
@ -63,9 +73,10 @@ class CryptoPro
 | 
				
			|||||||
	public static function getContainerCertificates(bool $resetCache = false)
 | 
						public static function getContainerCertificates(bool $resetCache = false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		static $certificates;
 | 
							static $certificates;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($resetCache === true || !isset($certificates))
 | 
							if ($resetCache === true || !isset($certificates))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$certificates = self::getCertificatesFromStore(CONTAINER_STORE);
 | 
								$certificates = self::getCertificatesFromStore(CADESCOM_STORE_LOCATION::CONTAINER_STORE);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return $certificates;
 | 
							return $certificates;
 | 
				
			||||||
@ -82,9 +93,14 @@ class CryptoPro
 | 
				
			|||||||
	public static function getAllContainerCertificates(bool $resetCache = false)
 | 
						public static function getAllContainerCertificates(bool $resetCache = false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		static $certificates;
 | 
							static $certificates;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($resetCache === true || !isset($certificates))
 | 
							if ($resetCache === true || !isset($certificates))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$certificates = self::getCertificatesFromStore(CONTAINER_STORE, self::CP_MY_STORE, false);
 | 
								$certificates = self::getCertificatesFromStore(
 | 
				
			||||||
 | 
									CADESCOM_STORE_LOCATION::CONTAINER_STORE,
 | 
				
			||||||
 | 
									self::CP_MY_STORE,
 | 
				
			||||||
 | 
									false
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return $certificates;
 | 
							return $certificates;
 | 
				
			||||||
@ -100,6 +116,7 @@ class CryptoPro
 | 
				
			|||||||
	public static function getCertificates(bool $resetCache = false)
 | 
						public static function getCertificates(bool $resetCache = false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		static $certificates;
 | 
							static $certificates;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($resetCache === true || !isset($certificates))
 | 
							if ($resetCache === true || !isset($certificates))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$availableCertificates = [];
 | 
								$availableCertificates = [];
 | 
				
			||||||
@ -141,6 +158,7 @@ class CryptoPro
 | 
				
			|||||||
	public static function getAllCertificates(bool $resetCache = false)
 | 
						public static function getAllCertificates(bool $resetCache = false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		static $certificates;
 | 
							static $certificates;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ($resetCache === true || !isset($certificates))
 | 
							if ($resetCache === true || !isset($certificates))
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$availableCertificates = [];
 | 
								$availableCertificates = [];
 | 
				
			||||||
@ -222,6 +240,7 @@ class CryptoPro
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static function createAttachedSignature(string $thumbprint, string $unencryptedMessage, string $pin = null)
 | 
						public static function createAttachedSignature(string $thumbprint, string $unencryptedMessage, string $pin = null)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							/** @noinspection DuplicatedCode */
 | 
				
			||||||
		$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
							$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
@ -240,7 +259,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesAttrs->set_Name(AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
 | 
								$cadesAttrs->set_Name(CADESCOM_ATTRIBUTE::SIGNING_TIME);
 | 
				
			||||||
			$cadesAttrs->set_Value($currentDateTime);
 | 
								$cadesAttrs->set_Value($currentDateTime);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -262,10 +281,10 @@ class CryptoPro
 | 
				
			|||||||
			$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
								$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
				
			||||||
			$cadesAuthAttrs->Add($cadesAttrs);
 | 
								$cadesAuthAttrs->Add($cadesAttrs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$cadesSignedData->set_ContentEncoding(BASE64_TO_BINARY);
 | 
								$cadesSignedData->set_ContentEncoding(CADESCOM_CONTENT_ENCODING_TYPE::BASE64_TO_BINARY);
 | 
				
			||||||
			$cadesSignedData->set_Content($messageBase64);
 | 
								$cadesSignedData->set_Content($messageBase64);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$cadesSigner->set_Options(CERTIFICATE_INCLUDE_WHOLE_CHAIN);
 | 
								$cadesSigner->set_Options(CAPICOM_CERTIFICATE_INCLUDE_OPTION::WHOLE_CHAIN);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -277,9 +296,9 @@ class CryptoPro
 | 
				
			|||||||
			/** @var string $signature */
 | 
								/** @var string $signature */
 | 
				
			||||||
			$signature = $cadesSignedData->SignCades(
 | 
								$signature = $cadesSignedData->SignCades(
 | 
				
			||||||
				$cadesSigner,
 | 
									$cadesSigner,
 | 
				
			||||||
				PKCS7_TYPE,
 | 
									CADESCOM_CADES_TYPE::PKCS7_TYPE,
 | 
				
			||||||
				false,
 | 
									false,
 | 
				
			||||||
				CAPICOM_ENCODE::BASE64
 | 
									CADESCOM_ENCODE::BASE64
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -302,6 +321,7 @@ class CryptoPro
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static function createDetachedSignature(string $thumbprint, string $messageHash, string $pin = null)
 | 
						public static function createDetachedSignature(string $thumbprint, string $messageHash, string $pin = null)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							/** @noinspection DuplicatedCode */
 | 
				
			||||||
		$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
							$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
@ -321,7 +341,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesAttrs->set_Name(AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
 | 
								$cadesAttrs->set_Name(CADESCOM_ATTRIBUTE::SIGNING_TIME);
 | 
				
			||||||
			$cadesAttrs->set_Value($currentDateTime);
 | 
								$cadesAttrs->set_Value($currentDateTime);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -341,7 +361,7 @@ class CryptoPro
 | 
				
			|||||||
			$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
								$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
				
			||||||
			$cadesAuthAttrs->Add($cadesAttrs);
 | 
								$cadesAuthAttrs->Add($cadesAttrs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$cadesSigner->set_Options(CERTIFICATE_INCLUDE_WHOLE_CHAIN);
 | 
								$cadesSigner->set_Options(CAPICOM_CERTIFICATE_INCLUDE_OPTION::WHOLE_CHAIN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -351,7 +371,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesHashedData->set_Algorithm(CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256);
 | 
								$cadesHashedData->set_Algorithm(CADESCOM_HASH_ALGORITHM::HASH_CP_GOST_3411_2012_256);
 | 
				
			||||||
			$cadesHashedData->SetHashValue($messageHash);
 | 
								$cadesHashedData->SetHashValue($messageHash);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Для получения объекта отсоединенной (открепленной) подписи, необходимо задать любой контент.
 | 
								// Для получения объекта отсоединенной (открепленной) подписи, необходимо задать любой контент.
 | 
				
			||||||
@ -370,8 +390,8 @@ class CryptoPro
 | 
				
			|||||||
			$signature = $cadesSignedData->SignHash(
 | 
								$signature = $cadesSignedData->SignHash(
 | 
				
			||||||
				$cadesHashedData,
 | 
									$cadesHashedData,
 | 
				
			||||||
				$cadesSigner,
 | 
									$cadesSigner,
 | 
				
			||||||
				PKCS7_TYPE,
 | 
									CADESCOM_CADES_TYPE::PKCS7_TYPE,
 | 
				
			||||||
				CAPICOM_ENCODE::BASE64
 | 
									CADESCOM_ENCODE::BASE64
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -394,6 +414,7 @@ class CryptoPro
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static function addAttachedSignature(string $thumbprint, string $signedMessage, string $pin = null)
 | 
						public static function addAttachedSignature(string $thumbprint, string $signedMessage, string $pin = null)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							/** @noinspection DuplicatedCode */
 | 
				
			||||||
		$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
							$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
@ -412,7 +433,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesAttrs->set_Name(AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
 | 
								$cadesAttrs->set_Name(CADESCOM_ATTRIBUTE::SIGNING_TIME);
 | 
				
			||||||
			$cadesAttrs->set_Value($currentDateTime);
 | 
								$cadesAttrs->set_Value($currentDateTime);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -434,11 +455,10 @@ class CryptoPro
 | 
				
			|||||||
			$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
								$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
				
			||||||
			$cadesAuthAttrs->Add($cadesAttrs);
 | 
								$cadesAuthAttrs->Add($cadesAttrs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$cadesSignedData->set_ContentEncoding(BASE64_TO_BINARY);
 | 
								$cadesSignedData->set_ContentEncoding(CADESCOM_CONTENT_ENCODING_TYPE::BASE64_TO_BINARY);
 | 
				
			||||||
			$cadesSignedData->set_Content($messageBase64);
 | 
								$cadesSignedData->set_Content($messageBase64);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$cadesSigner->set_Options(CERTIFICATE_INCLUDE_WHOLE_CHAIN);
 | 
								$cadesSigner->set_Options(CAPICOM_CERTIFICATE_INCLUDE_OPTION::WHOLE_CHAIN);
 | 
				
			||||||
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -447,8 +467,17 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesSignedData->VerifyCades($signedMessage, PKCS7_TYPE);
 | 
								$cadesSignedData->VerifyCades(
 | 
				
			||||||
			$signature = $cadesSignedData->CoSignCades($cadesSigner, PKCS7_TYPE);
 | 
									$signedMessage,
 | 
				
			||||||
 | 
									CADESCOM_CADES_TYPE::PKCS7_TYPE,
 | 
				
			||||||
 | 
									false
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								$signature = $cadesSignedData->CoSignCades(
 | 
				
			||||||
 | 
									$cadesSigner,
 | 
				
			||||||
 | 
									CADESCOM_CADES_TYPE::PKCS7_TYPE,
 | 
				
			||||||
 | 
									CADESCOM_ENCODE::BASE64
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -471,6 +500,7 @@ class CryptoPro
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static function addDetachedSignature(string $thumbprint, string $signedMessage, string $messageHash, string $pin = null)
 | 
						public static function addDetachedSignature(string $thumbprint, string $signedMessage, string $messageHash, string $pin = null)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							/** @noinspection DuplicatedCode */
 | 
				
			||||||
		$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
							$cadesCertificate = self::getCadesCertificate($thumbprint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
@ -490,7 +520,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesAttrs->set_Name(AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
 | 
								$cadesAttrs->set_Name(CADESCOM_ATTRIBUTE::SIGNING_TIME);
 | 
				
			||||||
			$cadesAttrs->set_Value($currentDateTime);
 | 
								$cadesAttrs->set_Value($currentDateTime);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
@ -510,7 +540,7 @@ class CryptoPro
 | 
				
			|||||||
			$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
								$cadesAuthAttrs = $cadesSigner->get_AuthenticatedAttributes();
 | 
				
			||||||
			$cadesAuthAttrs->Add($cadesAttrs);
 | 
								$cadesAuthAttrs->Add($cadesAttrs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$cadesSigner->set_Options(CERTIFICATE_INCLUDE_WHOLE_CHAIN);
 | 
								$cadesSigner->set_Options(CAPICOM_CERTIFICATE_INCLUDE_OPTION::WHOLE_CHAIN);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -519,7 +549,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesHashedData->set_Algorithm(CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256);
 | 
								$cadesHashedData->set_Algorithm(CADESCOM_HASH_ALGORITHM::HASH_CP_GOST_3411_2012_256);
 | 
				
			||||||
			$cadesHashedData->SetHashValue($messageHash);
 | 
								$cadesHashedData->SetHashValue($messageHash);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Для получения объекта отсоединенной (открепленной) подписи, необходимо задать любой контент.
 | 
								// Для получения объекта отсоединенной (открепленной) подписи, необходимо задать любой контент.
 | 
				
			||||||
@ -534,9 +564,17 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesSignedData->VerifyHash($cadesHashedData, $signedMessage, PKCS7_TYPE);
 | 
								$cadesSignedData->VerifyHash(
 | 
				
			||||||
 | 
									$cadesHashedData,
 | 
				
			||||||
 | 
									$signedMessage,
 | 
				
			||||||
 | 
									CADESCOM_CADES_TYPE::PKCS7_TYPE
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			$signature = $cadesSignedData->CoSignHash($cadesHashedData, $cadesSigner, PKCS7_TYPE);
 | 
								$signature = $cadesSignedData->CoSignHash(
 | 
				
			||||||
 | 
									$cadesHashedData,
 | 
				
			||||||
 | 
									$cadesSigner,
 | 
				
			||||||
 | 
									CADESCOM_CADES_TYPE::PKCS7_TYPE
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -546,15 +584,6 @@ class CryptoPro
 | 
				
			|||||||
		return $signature;
 | 
							return $signature;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
					 | 
				
			||||||
	 * создает XML подпись для документа в формате XML
 | 
					 | 
				
			||||||
	 *
 | 
					 | 
				
			||||||
	 * @return void
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
	public static function createXMLSignature()
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Создает хеш сообщения по ГОСТ Р 34.11-2012 256 бит
 | 
						 * Создает хеш сообщения по ГОСТ Р 34.11-2012 256 бит
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
@ -831,7 +860,7 @@ class CryptoPro
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesCertificate = self::getCadesCertificateFromStore($thumbprint, CURRENT_USER_STORE);
 | 
								$cadesCertificate = self::getCadesCertificateFromStore($thumbprint, CADESCOM_STORE_LOCATION::CURRENT_USER_STORE);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -839,7 +868,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			try
 | 
								try
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				$cadesCertificate = self::getCadesCertificateFromStore($thumbprint, CONTAINER_STORE);
 | 
									$cadesCertificate = self::getCadesCertificateFromStore($thumbprint, CADESCOM_STORE_LOCATION::CONTAINER_STORE);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			catch (\Throwable $e)
 | 
								catch (\Throwable $e)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@ -920,7 +949,7 @@ class CryptoPro
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		try
 | 
							try
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			$cadesSignedData->VerifyHash($cadesHashedData, $signedMessage, PKCS7_TYPE);
 | 
								$cadesSignedData->VerifyHash($cadesHashedData, $signedMessage, CADESCOM_CADES_TYPE::PKCS7_TYPE);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (\Throwable $e)
 | 
							catch (\Throwable $e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user