Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2021(UTC) Сообщений: 4 Сказал(а) «Спасибо»: 1 раз
|
Здравствуйте. Помогите, пожалуйста, с вызовом диалога со списком сертификатов в Windows, по нажатию кнопки, например, на обычной html странице. Я понимаю, что для этого понадобится использовать как минимум JS и, возможно, плагин крипто про, но я не знаю как подступиться к этой связке :( Какую библиотеку использовать для этого? Моя цель - это после выбора сертификата, из этого окна, взять из сертификата несколько полей и обработать их. Обработка мне не важно где будет происходить (клиент или сервер). Главное достать, например, владельца сертификата. Направьте хотя бы тезисно, ссылками на нужный раздел в доке, очень хочется разобраться в этом вопросе. Спасибо! download.jpg (10kb) загружен 1 раз(а).Отредактировано пользователем 16 сентября 2021 г. 9:21:13(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,701 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Здравствуйте. Откройте демо страницу с плагином и посмотрите реализацию в html/js |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,701 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
|
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2021(UTC) Сообщений: 4 Сказал(а) «Спасибо»: 1 раз
|
Андрей, спасибо. Получилось запустить копированием html разметки из демо-страницы и (async_code|cadesplugin_api|Code|cryptoapi|es6-promise.min|ie_eventlistner_polyfill|nmcades_plugin_api).js в директорию js в директорию с сайтом. Вопрос по доработке строк с выбором сертификатов. Можно ли туда добавить дату окончания срока действия сертификата? 1.PNG (8kb) загружен 4 раз(а).Если есть дока с описанием методов - было бы здорово. Я понимаю, что где-то тут: Код:CertificateAdjuster.prototype.GetCertInfoString = function(certSubjectName, certFromDate)
{
return this.extract(certSubjectName,'CN=') + "; Выдан: " + this.GetCertDate(certFromDate);
}
но что добавлять не пойму. Предположил, что certToDate или certTillDate, но увы :) Отредактировано пользователем 20 сентября 2021 г. 19:10:05(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,701 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Автор: soutssv Можно ли туда добавить дату окончания срока действия сертификата? в Code.js Цитата:Цитата:"Действителен до: <b>" + certObj.GetCertTillDate()
CertificateObj.prototype. GetCertTillDate = function() { return this.DateTimePutTogether(this. certTillDate); } |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,701 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
+ в async_code.js - пример: Цитата: document.getElementById(args[2] + "from").innerHTML = "Выдан: <b>" + Adjust.GetCertDate(ValidFromDate) + " UTC<b>"; document.getElementById(args[2] + "till").innerHTML = "Действителен до: <b>" + Adjust.GetCertDate(ValidToDate) + " UTC<b>";
Snimok ehkrana ot 2021-09-20 20-17-41.png (78kb) загружен 5 раз(а). |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,701 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Документация: Объект CPCertificateЦитата: для данного объекта реализованы только следующие методы и свойства: Export, Import, GetInfo, HasPrivateKey, IsValid, IssuerName, SerialNumber, SubjectName, Thumbprint, ValidFromDate, ValidToDate, Version, ExtendedKeyUsage, KeyUsage, PublicKey, PrivateKey, BasicConstraints.
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2021(UTC) Сообщений: 4 Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей * Документация: Объект CPCertificateЦитата: для данного объекта реализованы только следующие методы и свойства: Export, Import, GetInfo, HasPrivateKey, IsValid, IssuerName, SerialNumber, SubjectName, Thumbprint, ValidFromDate, ValidToDate, Version, ExtendedKeyUsage, KeyUsage, PublicKey, PrivateKey, BasicConstraints.
Описание исчерпывающее. Как раз эта информация и нужна для передачи на сервер. Ещё раз благодарю.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,701 Сказал «Спасибо»: 500 раз Поблагодарили: 2049 раз в 1589 постах
|
Код:
CertificateAdjuster.prototype.GetCertInfoString = function(certSubjectName, certFromDate, CertToDate)
{
return this.GetCertDate(certFromDate) +" - " +
this.GetCertDate(CertToDate)+" "+
this.extract(certSubjectName,'CN=')+" "+
this.extract(certSubjectName,'SN=') +" "+
this.extract(certSubjectName,'G=')+" ИНН="+
this.extract(certSubjectName,'ИНН=')+
this.extract(certSubjectName,'INN='); // + через OID-ы...
}
и вызов: new CertificateAdjuster().GetCertInfoString(yield cert.SubjectName, ValidFromDate, ValidToDate); |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.09.2021(UTC) Сообщений: 4 Сказал(а) «Спасибо»: 1 раз
|
Туго идёт у меня JS. С датой разобрался а с выводом SerialNumber застрял. При таком всё ломается: Код:var dateObj = new Date();
try {
var ValidFromDate = new Date((yield cert.ValidFromDate));
var ValidToDate = new Date((yield cert.ValidToDate));
var SerialNumber = new yield cert.SerialNumber;
oOpt.text = new CertificateAdjuster().GetCertInfoString(yield cert.SubjectName, ValidFromDate, ValidToDate, SerialNumber);
}
Пробовал так, но ничего (( Код:CertificateAdjuster.prototype.GetSerialNumber = function(certSubjectName)
{
return this.extract(certSubjectName, 'SN=');
}
Код:CertificateAdjuster.prototype.GetCertInfoString = function(certSubjectName, certFromDate, certToDate)
{
return this.extract(certSubjectName,'CN=') + "; Выдан: " + this.GetCertDate(certFromDate) + "; Годен до: " + this.GetCertDate(certToDate) + "; SN: "+ this.extract(certSubjectName, "SN=");
}
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close