Crypto Pro PHP Подписание файла

Криптопровайдер установлен на линукс, хеширование работает

Пробую использовать пример

https://docs.cryptopro.ru/cades/phpcades/phpcades-samples

//Вспомогательные функции предварительной инициализации

public function SetupCertificate(
    $location,
    $name,
    $mode,
    $find_type,
    $query,
    $valid_only,
    $number
) {
    $certs = $this->SetupCertificates($location, $name, $mode);

    if (!is_null($find_type)) {
        $certs = $certs->Find($find_type, $query, $valid_only);
        return $certs->Item($number);
    } else {
        $cert = $certs->Item($number);
        return $cert;
    }
}

public function SetupCertificates($location, $name, $mode)
{
    $store = $this->SetupStore($location, $name, $mode);
    $certs = $store->get_Certificates();

    return $certs;
}

public function SetupStore($location, $name, $mode): CPStore
{
    $store = new \CPStore();
    $store->Open($location, $name, $mode);

    return $store;
}

public function testSign(): void
{

    $content = 'test content';
    $address = 'http://testca.cryptopro.ru/tsp/tsp.srf';
    $cert = $this->SetupCertificate(
        \app\components\HashService::CURRENT_USER_STORE,
        'My',
        \app\components\HashService::STORE_OPEN_READ_ONLY,
        \app\components\HashService::CERTIFICATE_FIND_SUBJECT_NAME,
        'CN',
        0,
        1,
    );

    if (!$cert) {
        throw new \Exception('Certificate not found');
    }
    $signer = new \app\Proxies\CPSigner();
    $signer->set_TSAAddress($address);
    $signer->set_Certificate($cert);

    $sd = new \app\Proxies\CPSignedData();
    $sd->set_Content($content);

    $sm = $sd->Sign($signer, 0, ENCODE_BASE64);
 }

Установил корневой серт, личный и открытый от третьих лиц.

Ошибка

[Exception] Cannot find the certificate and private key for decryption. (0x8009200B)


Ответы (0 шт):