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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline bstas  
#1 Оставлено : 20 февраля 2018 г. 10:25:09(UTC)
bstas

Статус: Активный участник

Группы: Участники
Зарегистрирован: 11.01.2017(UTC)
Сообщений: 120
Российская Федерация

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 5 раз в 5 постах
Здравствуйте!
Имеется стандартный скрипт для УЦ, в котором есть код для выбора сертификатов из хранилища:
Код:
var Cert = new ActiveXObject("CAPICOM.Signer")
var StoreName = "MY"
var Store = new ActiveXObject("CAPICOM.Store")  
StoreLocation = CAPICOM_CURRENT_USER_STORE      
Store.Open(StoreLocation, StoreName)
var Certificates = Store.Certificates
if (Certificates.Count > 0) {
    Certificates = Certificates.Find(CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY, CAPICOM_PROPID_KEY_PROV_INFO)
}
if (Certificates.Count > 0) {
    Certificates = Certificates.Find(CAPICOM_CERTIFICATE_FIND_TIME_VALID)
}
if (Certificates.Count > 0) {
    Certificates = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ")
}


Подскажите, пожалуйста, как модифицировать код, чтобы в Certificates оказались сертификаты, выданные несколькими УЦ? То есть сделать Find с параметром CAPICOM_CERTIFICATE_FIND_ISSUER_NAME и несколькими значениями для него.
Online Андрей Писарев  
#2 Оставлено : 20 февраля 2018 г. 10:29:56(UTC)
Андрей *

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

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

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

Что мешает в 14 строке инициализировать коллекцию сертификатов для разных переменных?
Код:

   CertificatesCA1 = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ1")
   CertificatesCA2 = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ2")
   CertificatesCA3 = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ3")
   CertificatesCA4 = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ4")


?
Техническую поддержку оказываем тут
Наша база знаний
Offline bstas  
#3 Оставлено : 20 февраля 2018 г. 10:59:34(UTC)
bstas

Статус: Активный участник

Группы: Участники
Зарегистрирован: 11.01.2017(UTC)
Сообщений: 120
Российская Федерация

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 5 раз в 5 постах
Подскажите, пожалуйста, как потом объединить полученные коллекции в одну CertificatesCA-All?
Чтобы можно было сделать
Certificates = CertificatesCA-All.Select("CSignData.vbs", "Please select a certificate")
Offline Boris@Serezhkin.com  
#4 Оставлено : 22 февраля 2018 г. 0:33:17(UTC)
Boris@Serezhkin.com

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.08.2010(UTC)
Сообщений: 259
Откуда: Moscow

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Автор: bstas Перейти к цитате
Здравствуйте!
Имеется стандартный скрипт для УЦ, в котором есть код для выбора сертификатов из хранилища:
Код:
Вырезка, хвостик кода:
if (Certificates.Count > 0) {
    Certificates = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ")
}
Подскажите, пожалуйста, как модифицировать код, чтобы в Certificates оказались сертификаты, выданные несколькими УЦ? То есть сделать Find с параметром CAPICOM_CERTIFICATE_FIND_ISSUER_NAME и несколькими значениями для него.

Dancing А зачем? Если хвостик кода убрать, так в Certificates и так будет то, что вы хотите.
А если там будет чтой-то лишнее, то ForEach и удалить лишнее.
Online Андрей Писарев  
#5 Оставлено : 22 февраля 2018 г. 1:09:34(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: Boris@Serezhkin.com Перейти к цитате
Автор: bstas Перейти к цитате
Здравствуйте!
Имеется стандартный скрипт для УЦ, в котором есть код для выбора сертификатов из хранилища:
Код:
Вырезка, хвостик кода:
if (Certificates.Count > 0) {
    Certificates = Certificates.Find(CAPICOM_CERTIFICATE_FIND_ISSUER_NAME, "Имя УЦ")
}
Подскажите, пожалуйста, как модифицировать код, чтобы в Certificates оказались сертификаты, выданные несколькими УЦ? То есть сделать Find с параметром CAPICOM_CERTIFICATE_FIND_ISSUER_NAME и несколькими значениями для него.

Dancing А зачем? Если хвостик кода убрать, так в Certificates и так будет то, что вы хотите.
А если там будет чтой-то лишнее, то ForEach и удалить лишнее.


+
лучше список УЦ "не зашивать в код", а брать из внешнего источника данных.

Хотя разработчикам виднее... как сделать своё ПО.
Техническую поддержку оказываем тут
Наша база знаний
Offline bstas  
#6 Оставлено : 27 февраля 2018 г. 9:33:23(UTC)
bstas

Статус: Активный участник

Группы: Участники
Зарегистрирован: 11.01.2017(UTC)
Сообщений: 120
Российская Федерация

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 5 раз в 5 постах
Автор: Boris@Serezhkin.com Перейти к цитате

Dancing А зачем? Если хвостик кода убрать, так в Certificates и так будет то, что вы хотите.
А если там будет чтой-то лишнее, то ForEach и удалить лишнее.


Написал так:
Код:
var Cert = new ActiveXObject("CAPICOM.Signer")
var StoreName = "MY"
var Store = new ActiveXObject("CAPICOM.Store")  
StoreLocation = CAPICOM_CURRENT_USER_STORE      
Store.Open(StoreLocation, StoreName)
var Certificates = Store.Certificates
function FindCert(cert, index, array) {
  console.log(cert.IssuerName);
}
Certificates.forEach(FindCert)


Выдает ошибку "Объект не поддерживает свойство или метод "forEach""

Андрей Писарев написал:
+
лучше список УЦ "не зашивать в код", а брать из внешнего источника данных.

Хотя разработчикам виднее... как сделать своё ПО.


Разработчикам это громко сказано, скорее администраторам УЦ, желающим сделать свою жизнь немного проще и автоматизировать некоторые процессы.

Отредактировано пользователем 27 февраля 2018 г. 9:34:57(UTC)  | Причина: Не указана

Online Андрей Писарев  
#7 Оставлено : 27 февраля 2018 г. 10:04:22(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
forEach - имелся ввиду - цикл... программный цикл, а не метод у Certificates
Техническую поддержку оказываем тут
Наша база знаний
Offline bstas  
#8 Оставлено : 27 февраля 2018 г. 10:20:38(UTC)
bstas

Статус: Активный участник

Группы: Участники
Зарегистрирован: 11.01.2017(UTC)
Сообщений: 120
Российская Федерация

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 5 раз в 5 постах
В JavaScript forEach является методом а не циклом. Но я понял ход Ваших мыслей.
Online Андрей Писарев  
#9 Оставлено : 27 февраля 2018 г. 10:36:10(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: bstas Перейти к цитате
В JavaScript forEach является методом а не циклом. Но я понял ход Ваших мыслей.


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