Добавлю, сама функция уже описана:
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