Показать сообщение отдельно
  #2 (permalink)  
Старый 20.05.2013, 09:50
Новичок на форуме
Отправить личное сообщение для simix07 Посмотреть профиль Найти все сообщения от simix07
 
Регистрация: 20.05.2013
Сообщений: 3

Добавлю, сама функция уже описана:
function FillCertList(lstId, BrowserName) {
    var oStore = ObjCreator("CAPICOM.store", BrowserName);
    if (!oStore) {
        alert("store failed");
        return;
    }

    try {
        oStore.Open();
    }
    catch (e) {
        alert("Ошибка при открытии хранилища: " + GetErrorMessage(e));
        return;
    }

    var certCnt = oStore.Certificates.Count;

    var lst = document.getElementById(lstId);    
    for (var i = 1; i <= certCnt; i++) {
        var cert;
        try {
            cert = oStore.Certificates.Item(i);
        }
        catch (ex) {
            alert("Ошибка при перечислении сертификатов: " + GetErrorMessage(ex));
            return;
        }

        var oOpt = document.createElement("OPTION");
        try {
            oOpt.text = cert.SubjectName;
        }
        catch (e) {
            alert("Ошибка при получении свойства SubjectName: " + GetErrorMessage(e));
        }
        try {
            oOpt.value = cert.Thumbprint;
        }
        catch (e) {
            alert("Ошибка при получении свойства Thumbprint: " + GetErrorMessage(e));
        }

        lst.options.add(oOpt);
    }

    oStore.Close();
}


Меня интерисует поле SubjectName:
SubjectName: CN=ФИО, T=Должность, OU=Отдел, O=Организация, E=email, S=Город, L=область, C=RU, INN=6312000000, OGRN=Огрн, STREET="улица, 21/36, офис 21", UnstructuredName="КПП=631901001"
Знаю, что выдернуть их можно при помощи oStore.Certificates.Item(i); но как это сделать я не понимаю....

Собственно задача, выдернуть из выбранного сертификата поля по полочкам и раскидать визуаьльно их в input
Ответить с цитированием