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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline expdts  
#1 Оставлено : 27 июля 2018 г. 11:56:15(UTC)
expdts

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

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

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
добрый день

при генерации зк через CryptoPro Extension for CAdES Browser Plug-in 1.2.4 происходит ошибка, т.к. в полях присутствует запятая, плюс и т.п.

подскажите пожалуйста, как правильней объявить regexp чтобы генерация зк проходила, даже если в адресе, организации или в любом поле присутствовали запятые, плюс и т.п.

cadesplugin.async_spawn(function*(arg)
Код:
//собираем Subject
	var template = 'E=%email%; CN=%commonName%; G=%name%; SN=%surname%; STREET=%address%; L=%city%; S=%subject%; C=%country%';

	fields = _.omitBy(fields, function(v){
		return v == "exclude";
	});

	_.each(fields, function(v, k){
		if (v == "exclude")
			fields[k] = '';
	});

	template += (fields['inn'] && fields['inn'].length > 0 ? "; 1.2.643.3.131.1.1=" + fields['inn'] :  "");
	template += (fields['snils'] && fields['snils'].length > 0 ? "; 1.2.643.100.3=" + fields['snils'] :  "");
	template += (fields['ogrnip'] && fields['ogrnip'].length > 0 ? "; 1.2.643.100.5=" + fields['ogrnip'] : fields['ogrn'].length > 0 ? ";1.2.643.100.1=" + fields['ogrn'] : "");
	template += (fields['fullname'] && fields['fullname'].length > 0 ? "; O=" + fields['fullname'] : "");
	template += (fields['org'] && fields['org'].length > 0 ? "; OU=" + fields['org'] : "");
	template += (fields['post'] && fields['post'].length > 0 ? "; T=" + fields['post'] : "");
	template += (fields['unstructured'] && fields['unstructured'].length > 0 ? "; 1.2.840.113549.1.9.2=" + fields['unstructured'] : "");

	var regexp = /%(\w+)%/g;

	var subject = template.replace(regexp, function (s, m) {
		return (fields[m] !== undefined && fields[m] !== 'exclude' ? fields[m] : "" )
	});

	yield DistinguishedName.Encode(subject, 0x10000000 | 0x00040000);
	yield CertificateRequestPkcs10.propset_Subject(DistinguishedName);
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.