Статус: Участник
Группы: Участники
Зарегистрирован: 17.05.2017(UTC) Сообщений: 20
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 1 раз в 1 постах
|
Добрый день. При верификации подписи на стороне сервера с использованием расширения php, как можно извлечь данные подписи, если она не проходит проверку на цепочку сертификатов? Код:
try {
$CPSignedData = new \CPSignedData();
$CPHashedData = new \CPHashedData();
$CPHashedData->SetHashValue($hash);
// Верификация
$CPSignedData->VerifyHash($CPHashedData, $signature, 0x01);
// Подписанты
$signersObj = $CPSignedData->get_Signers();
$signerObj = $signersObj->get_Item(1);
$signerObj->get_SigningTime();
$cert = $signerObj->get_Certificate();
$issuerName = $cert->get_IssuerName();
$fromDate = $cert->get_ValidFromDate();
$toDate = $cert->get_ValidToDate();
$serialNumber = $cert->get_SerialNumber();
$subjectName = $cert->get_SubjectName();
}
catch (\Exception $e)
{
}
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 17.05.2017(UTC) Сообщений: 20
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 1 раз в 1 постах
|
Решил, нужно разбить на блока try и не забыть про $CPSignedData->set_Content('d') - установить любое не пустое значение, вероятно ошибку до сих пор не устранили, хотя тема поднималась 8 месяцев назад. Код:
try {
$CPSignedData = new \CPSignedData();
$CPHashedData = new \CPHashedData();
$CPHashedData->set_Algorithm(100);
$CPSignedData->set_Content('d');
$CPHashedData->SetHashValue($hash);
$CPSignedData->VerifyHash($CPHashedData, $signature, Cades::$CADES_BES);
}
catch (\Exception $e)
{
}
try {
$signersObj = $CPSignedData->get_Signers();
$signerObj = $signersObj->get_Item(1);
$cert = $signerObj->get_Certificate();
$issuerName = $cert->get_IssuerName();
$fromDate = $cert->get_ValidFromDate();
$toDate = $cert->get_ValidToDate();
$serialNumber = $cert->get_SerialNumber();
$subjectNameFull = $cert->get_SubjectName();
$subjectName = $subjectNameCert;
}
catch (\Exception $e)
{
echo $e;
}
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close