Статус: Участник
Группы: Участники
Зарегистрирован: 04.02.2020(UTC) Сообщений: 25  Откуда: Ростов на Дону Сказал(а) «Спасибо»: 3 раз
|
Цитата: $store = new \CPStore(); $store->Open($location, $name, $mode); $certs = $store->get_Certificates(); if ($findType !== null) { $certs = $certs->Find($findType, $query, $validOnly); if (\is_string($certs)) { return $certs; }
return $certs->Item($number); }
return $certs->Item($number);
Добрый день. Скажите как работает метод Find Мне надо выбрать сертификат не по $number а к примеру по SHA1 Hash ввожу комманду certmgr -list -store my копирую оттуда значение SHA1 Hash сертифирата потом в php выполняю $certs = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, $query, 0); в $query передаю SHA1 Hash сертификата и не находит конкретно что надо передавать в $query? в php пишу var_dump(exec('certmgr -list -store my|grep "SHA1 Hash"'));die; и мне показывает мой хеш юзер тот же а сертификат не находит почему?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,483   Сказал «Спасибо»: 53 раз Поблагодарили: 802 раз в 741 постах
|
Автор: andreygps  Цитата: $store = new \CPStore(); $store->Open($location, $name, $mode); $certs = $store->get_Certificates(); if ($findType !== null) { $certs = $certs->Find($findType, $query, $validOnly); if (\is_string($certs)) { return $certs; }
return $certs->Item($number); }
return $certs->Item($number);
Добрый день. Скажите как работает метод Find Мне надо выбрать сертификат не по $number а к примеру по SHA1 Hash ввожу комманду certmgr -list -store my копирую оттуда значение SHA1 Hash сертифирата потом в php выполняю $certs = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, $query, 0); в $query передаю SHA1 Hash сертификата и не находит конкретно что надо передавать в $query? в php пишу var_dump(exec('certmgr -list -store my|grep "SHA1 Hash"'));die; и мне показывает мой хеш юзер тот же а сертификат не находит почему? Здравствуйте. Вот такой простейший пример работает (указан непосредственно отпечаток вторым аргументом метода Find): Код:<?php
$store = new CPStore();
$store->Open(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY);
$certs = $store->get_Certificates();
$certs = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, "c4a457ca37e7949d85d4f7e442be8f07827aab52", 0);
$cert = $certs->Item(1);
print $cert->get_Thumbprint();
print "\n";
?>
|
|
 1 пользователь поблагодарил Александр Лавник за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 04.02.2020(UTC) Сообщений: 25  Откуда: Ростов на Дону Сказал(а) «Спасибо»: 3 раз
|
Цитата: $store = new \CPStore(); $store->Open(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY);
$certs = $store->get_Certificates(); $certs->Find(CERTIFICATE_FIND_SHA1_HASH, 'randomhash', 0); $cert = $certs->Item(1);
var_dump($cert->get_Thumbprint());die;
Если писать $certs->Item(1) то он всегда находит даже если вместо хеше указать 'randomhash' у вас разве не так?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 04.02.2020(UTC) Сообщений: 25  Откуда: Ростов на Дону Сказал(а) «Спасибо»: 3 раз
|
$certs = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, 'randomhash', 0);
$certs если возвращать в новую переменную то $certs->Count() будет равняться 1 или 0 в случае неудачи
так работает, спасибо
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,703   Сказал «Спасибо»: 573 раз Поблагодарили: 2303 раз в 1804 постах
|
в исходном - $store->Open($location, $name, $mode);
переменные чему равны?
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 04.02.2020(UTC) Сообщений: 25  Откуда: Ростов на Дону Сказал(а) «Спасибо»: 3 раз
|
$store->Open(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY); я уже понял как работает
возвращает отфильтрованный список: $certsFilters = $certs->Find(CERTIFICATE_FIND_SHA1_HASH, 'c4a457ca37e7949d85d4f7e442be8f07827aab52', 0);
должне быть равен 1 когда успех и 0 когда не нащел: $certsFilters->Count()
в случае успеха его надо извлечь: $cert = $certsFilters->Item(1);
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close