Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ActiveXObject, передать null

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Edwvee
Отправлено: 24 Ноября, 2014 - 15:46:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Есть следующий код для создания цифровой подписи:
CODE (javascript):
скопировать код в буфер обмена
  1. function signMessage(message)
  2. {
  3.         var vSettings = new ActiveXObject("CAPICOM.Settings");
  4.         vSettings.EnablePromptForCertificateUI = true;
  5.         var vData = new ActiveXObject("CAPICOM.SignedData");
  6.         vData.Content = message;
  7.         return vData.Sign(null, true, CAPICOM_ENCODE_BASE64);
  8. }

vData.Sign(null, true, CAPICOM_ENCODE_BASE64); - в документации написано, что если первый аргумент null и EnablePromptForCertificateUI, то пользователю должен быть предложен выбор сертификата: http://msdn[dot]microsoft[dot]com/en-us/[dot][dot][dot]8v=vs[dot]85%29[dot]aspx
Но ie ругается: "Несоответствие типа".
CAPICOМ у меня на компьютере стоит, ЭЦП как таковой нет, но по идее на этом моменте не должно ведь крашится? Не хочу слишком разбираться в этой теме, нужен не очень большой функционал.
Как передать null то, чтобы оно схавало? Я уже даже пробовал new ActiveXObject('null')
 
 Top
Edwvee
Отправлено: 25 Ноября, 2014 - 12:00:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Если кому-то есть дело, то сработал следующий вариант:
CODE (javascript):
скопировать код в буфер обмена
  1. function signMessage(message)
  2. {
  3.         var vSettings = new ActiveXObject("CAPICOM.Settings");
  4.         vSettings.EnablePromptForCertificateUI = true;
  5.         var vData = new ActiveXObject("CAPICOM.SignedData");
  6.         vData.Content = message;
  7.         var signer = new ActiveXObject("CAPICOM.Signer");
  8.        
  9.         return vData.Sign(signer, true, CAPICOM_ENCODE_BASE64);
  10. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB