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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline soshelsuma  
#1 Оставлено : 17 января 2025 г. 5:25:42(UTC)
soshelsuma

Статус: Новичок

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

Сказал(а) «Спасибо»: 4 раз
Как получить общую информацию из ЭЦП это понятно:

Код:
      var subjectName = yield oCertificate.SubjectName;
      var issuerName = yield oCertificate.IssuerName;
      var validFrom = yield oCertificate.ValidFromDate;
      var validTo = yield oCertificate.ValidToDate;
      var serialNumber = yield oCertificate.SerialNumber;


Как получить, например, конкретно ФИО из SubjectName?

На демо-странице (async_code) нашел что-то, похожее на правду:

Код:
CertificateAdjuster.prototype.GetCertInfoString = function (
  certSubjectName,
  certFromDate
) {
  return (
    this.extract(certSubjectName, "CN=") +
    "; Дата выдачи:" +
    this.GetCertDate(certFromDate)
  );
};


Пытаться адаптировать этот блок кода в свой? Где найти информацию про тот же самый "GetCertDate()"?

И в примере используется ФИО из SubjectName или просто SubjectName со всей внутри информацией?

Отредактировано пользователем 21 января 2025 г. 11:19:54(UTC)  | Причина: Не указана

Offline soshelsuma  
#2 Оставлено : 17 января 2025 г. 7:16:31(UTC)
soshelsuma

Статус: Новичок

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

Сказал(а) «Спасибо»: 4 раз
UPD:
Взял с async_code примеры кода для извлечения данных из ЭЦП:



Пытался передавать ФИО строкой, пытался передавать сертификат напрямую и из него доставать только SubjectName, пытался передавать SubjectName полностью в виде строки.

В любом случае в консоли две ошибки:
Код:
Uncaught (in promise) Certificate not found: CN=... Ярослав Игоревич
Uncaught (in promise) {message: 'Объект или свойство не найдено. (0x80092004)', requestid: 41, type: 'error'}


В CAPICOM_CURRENT_USER_STORE ТОЧНО есть сертификат, с такими ФИО. Подскажите, в чем проблема и в каком направлении двигаться?
Offline soshelsuma  
#3 Оставлено : 21 января 2025 г. 10:01:23(UTC)
soshelsuma

Статус: Новичок

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

Сказал(а) «Спасибо»: 4 раз
Не знаю, в чем была проблема, но поиск сертификата работает. Может быть кому-то пригодится код:

Код:

var oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
        yield oStore.Open(
          cadesplugin.CAPICOM_CURRENT_USER_STORE,
          cadesplugin.CAPICOM_MY_STORE,
          cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED
        );
        var oStoreCerts = yield oStore.Certificates;
        var currentUserCertCnt = yield oStoreCerts.Count;

        var oCertificates = yield oStoreCerts.Find(
          cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,
          currentSubjectNameFIO
        );
        console.log(currentUserCertCnt);
        if (currentUserCertCnt === 0) {
          err = "Certificate not found.";
          alert(err);
          args[1](err);
        }
Offline Андрей *  
#4 Оставлено : 21 января 2025 г. 11:38:10(UTC)
Андрей *

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

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

Сказал «Спасибо»: 552 раз
Поблагодарили: 2235 раз в 1743 постах
Здравствуйте.

Теперь представьте, что пользователь получил ещё один сертификат с тем же currentSubjectNameFIO
и бонусом - он тестовый или от УЦ, сертификатом от которого "нельзя подписывать" документы,
а сайт молча его найдёт и будет использовать.

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