Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline pooopsss  
#1 Оставлено : 17 февраля 2020 г. 17:43:40(UTC)
pooopsss

Статус: Участник

Группы: Участники
Зарегистрирован: 17.02.2020(UTC)
Сообщений: 25

Сказал(а) «Спасибо»: 12 раз
Здравствуйте.
На Debian настроил серверную версию с тестовым сертификатом. Все отрабатывает. test_extension.php отрабатывает отлично.
На фронте подписи тоже работают.
Действия:
1. Даю некую строку - например 'test12345'
2. Фронт подписывает и отсылает совместную подпись signedData = '...NCQLCDQvtGELiAxMDI2MT....' и sertificateInfo(js) thumbprint
3. Я проверяю на php
$data = base64_encode('test12345');
$SignedData = new \CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$SignedData->set_Content($data);
$check = $SignedData->VerifyCades($signature, 0x01,1);

Если хеш правильный то все ок. Исключений не вызывается
Вопрос вот в чем:
Можно ли получить thumbprint с signedData или как мне проверить signedData что он подписан именно этим thumbprint

Заранее спасибо
Offline Александр Лавник  
#2 Оставлено : 17 февраля 2020 г. 18:14:30(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,383
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 776 раз в 718 постах
Автор: pooopsss Перейти к цитате
Здравствуйте.
На Debian настроил серверную версию с тестовым сертификатом. Все отрабатывает. test_extension.php отрабатывает отлично.
На фронте подписи тоже работают.
Действия:
1. Даю некую строку - например 'test12345'
2. Фронт подписывает и отсылает совместную подпись signedData = '...NCQLCDQvtGELiAxMDI2MT....' и sertificateInfo(js) thumbprint
3. Я проверяю на php
$data = base64_encode('test12345');
$SignedData = new \CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$SignedData->set_Content($data);
$check = $SignedData->VerifyCades($signature, 0x01,1);

Если хеш правильный то все ок. Исключений не вызывается
Вопрос вот в чем:
Можно ли получить thumbprint с signedData или как мне проверить signedData что он подписан именно этим thumbprint

Заранее спасибо

Здравствуйте.

Метод get_Signers() объекта CPSignedData.

Метод get_Item() объекта CPSigners.

Метод get_Certificate() объекта CPSigner.

Метод get_Thumbprint() объекта CPCertificate.

Для справки.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Александр Лавник за этот пост.
pooopsss оставлено 18.02.2020(UTC)
Offline pooopsss  
#3 Оставлено : 18 февраля 2020 г. 9:38:50(UTC)
pooopsss

Статус: Участник

Группы: Участники
Зарегистрирован: 17.02.2020(UTC)
Сообщений: 25

Сказал(а) «Спасибо»: 12 раз
Автор: Александр Лавник Перейти к цитате
Автор: pooopsss Перейти к цитате
Здравствуйте.
На Debian настроил серверную версию с тестовым сертификатом. Все отрабатывает. test_extension.php отрабатывает отлично.
На фронте подписи тоже работают.
Действия:
1. Даю некую строку - например 'test12345'
2. Фронт подписывает и отсылает совместную подпись signedData = '...NCQLCDQvtGELiAxMDI2MT....' и sertificateInfo(js) thumbprint
3. Я проверяю на php
$data = base64_encode('test12345');
$SignedData = new \CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$SignedData->set_Content($data);
$check = $SignedData->VerifyCades($signature, 0x01,1);

Если хеш правильный то все ок. Исключений не вызывается
Вопрос вот в чем:
Можно ли получить thumbprint с signedData или как мне проверить signedData что он подписан именно этим thumbprint

Заранее спасибо

Здравствуйте.

Метод get_Signers() объекта CPSignedData.

Метод get_Item() объекта CPSigners.

Метод get_Certificate() объекта CPSigner.

Метод get_Thumbprint() объекта CPCertificate.

Для справки.


Спасибо огромное заработало. Вот пример кому нужно. И все это обрамить в try/catch
$signObject = $SignedData->get_Signers();
$sObj = $signObject->get_Item(1);



$cert = $sObj->get_Certificate();

$issuerName = $cert->get_IssuerName();
$fromDate = $cert->get_ValidFromDate();
$toDate = $cert->get_ValidToDate();
$serialNumber = $cert->get_SerialNumber();
$subjectName = $cert->get_SubjectName();
$thumbPrint = $cert->get_Thumbprint();

Offline pooopsss  
#4 Оставлено : 18 февраля 2020 г. 10:18:13(UTC)
pooopsss

Статус: Участник

Группы: Участники
Зарегистрирован: 17.02.2020(UTC)
Сообщений: 25

Сказал(а) «Спасибо»: 12 раз
Автор: pooopsss Перейти к цитате
Автор: Александр Лавник Перейти к цитате
Автор: pooopsss Перейти к цитате
Здравствуйте.
На Debian настроил серверную версию с тестовым сертификатом. Все отрабатывает. test_extension.php отрабатывает отлично.
На фронте подписи тоже работают.
Действия:
1. Даю некую строку - например 'test12345'
2. Фронт подписывает и отсылает совместную подпись signedData = '...NCQLCDQvtGELiAxMDI2MT....' и sertificateInfo(js) thumbprint
3. Я проверяю на php
$data = base64_encode('test12345');
$SignedData = new \CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$SignedData->set_Content($data);
$check = $SignedData->VerifyCades($signature, 0x01,1);

Если хеш правильный то все ок. Исключений не вызывается
Вопрос вот в чем:
Можно ли получить thumbprint с signedData или как мне проверить signedData что он подписан именно этим thumbprint

Заранее спасибо

Здравствуйте.

Метод get_Signers() объекта CPSignedData.

Метод get_Item() объекта CPSigners.

Метод get_Certificate() объекта CPSigner.

Метод get_Thumbprint() объекта CPCertificate.

Для справки.


Спасибо огромное заработало. Вот пример кому нужно. И все это обрамить в try/catch
$signObject = $SignedData->get_Signers();
$sObj = $signObject->get_Item(1);



$cert = $sObj->get_Certificate();

$issuerName = $cert->get_IssuerName();
$fromDate = $cert->get_ValidFromDate();
$toDate = $cert->get_ValidToDate();
$serialNumber = $cert->get_SerialNumber();
$subjectName = $cert->get_SubjectName();
$thumbPrint = $cert->get_Thumbprint();



И закончив данный вопрос - thumbprint остается навсегда у человека или с обновлением ключа он тоже меняется. Т.к. есть fromDate то означает он закончится. Но если он продлит или купит по thumbprint поменяется или нет.

Заранее спасибо

Offline Андрей *  
#5 Оставлено : 18 февраля 2020 г. 10:22:53(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,672
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2043 раз в 1584 постах
thumbprint - это sha1 от сертификата, всегда будет разным.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pooopsss оставлено 18.02.2020(UTC)
Offline pooopsss  
#6 Оставлено : 18 февраля 2020 г. 10:46:15(UTC)
pooopsss

Статус: Участник

Группы: Участники
Зарегистрирован: 17.02.2020(UTC)
Сообщений: 25

Сказал(а) «Спасибо»: 12 раз
Автор: Андрей * Перейти к цитате
thumbprint - это sha1 от сертификата, всегда будет разным.

А что тогда хранить для user для авторизации - serial, inn, snils???

Отредактировано пользователем 18 февраля 2020 г. 10:47:46(UTC)  | Причина: Не указана

Offline Андрей *  
#7 Оставлено : 18 февраля 2020 г. 10:53:28(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,672
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2043 раз в 1584 постах
Автор: pooopsss Перейти к цитате
Автор: Андрей * Перейти к цитате
thumbprint - это sha1 от сертификата, всегда будет разным.

А что тогда хранить для user для авторизации - serial, inn, snils???


так его и хранить, а потом обеспечивать смену на новый, когда у него появится новый сертификат или добавлять еще один со ссылкой на запись о пользователе...

пара таблиц:
1) пользователи (id user, данные о пользователе)
2) сертификаты (thumbprint, id user, ... другие важные реквизиты, например, период действия, серийный номер, УЦ, статус сертификата)
Техническую поддержку оказываем тут
Наша база знаний
Offline pooopsss  
#8 Оставлено : 18 февраля 2020 г. 10:57:58(UTC)
pooopsss

Статус: Участник

Группы: Участники
Зарегистрирован: 17.02.2020(UTC)
Сообщений: 25

Сказал(а) «Спасибо»: 12 раз
Автор: Андрей * Перейти к цитате
Автор: pooopsss Перейти к цитате
Автор: Андрей * Перейти к цитате
thumbprint - это sha1 от сертификата, всегда будет разным.

А что тогда хранить для user для авторизации - serial, inn, snils???


так его и хранить, а потом обеспечивать смену на новый, когда у него появится новый сертификат или добавлять еще один со ссылкой на запись о пользователе...

пара таблиц:
1) пользователи (id user, данные о пользователе)
2) сертификаты (thumbprint, id user, ... другие важные реквизиты, например, период действия, серийный номер, УЦ, статус сертификата)


Да. Это понятно как хранить но если пользователь пришел с новым ключом а второго нет и мы не знаем пользователь он еще или нет так как не авторизирован. То новый ключ никак не привяжется. Я так понимаю ИНН и СНИЛС есть всегда. ?

Offline Андрей *  
#9 Оставлено : 19 февраля 2020 г. 12:32:51(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,672
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2043 раз в 1584 постах
Автор: pooopsss Перейти к цитате
Автор: Андрей * Перейти к цитате
Автор: pooopsss Перейти к цитате
Автор: Андрей * Перейти к цитате
thumbprint - это sha1 от сертификата, всегда будет разным.

А что тогда хранить для user для авторизации - serial, inn, snils???


так его и хранить, а потом обеспечивать смену на новый, когда у него появится новый сертификат или добавлять еще один со ссылкой на запись о пользователе...

пара таблиц:
1) пользователи (id user, данные о пользователе)
2) сертификаты (thumbprint, id user, ... другие важные реквизиты, например, период действия, серийный номер, УЦ, статус сертификата)


Да. Это понятно как хранить но если пользователь пришел с новым ключом а второго нет и мы не знаем пользователь он еще или нет так как не авторизирован. То новый ключ никак не привяжется. Я так понимаю ИНН и СНИЛС есть всегда. ?


реализовать процесс регистрации (с участием человека (просмотр сведений\одобрение\отказ) или в авторежиме(проверять сертификат\уц\извлекать сведения\связывать данные в ИС ...))
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.