Сигнеддата. Sign, метод

[Метод Sign доступен для использования в операционных системах, указанных в разделе требования. Вместо этого используйте класс SignedCms в пространстве имен System. Security. Cryptography. PKCS .]

Метод Sign создает цифровую подпись для подписанного содержимого. Цифровая подпись состоит из хэша содержимого, подписывания которого шифруется с помощью закрытого ключа подписавшего. Этот метод можно использовать только после инициализации свойства сигнеддата. Content . Если метод Sign вызывается для объекта, который уже имеет сигнатуру, старая сигнатура заменяется. Подпись создается с помощью алгоритма подписи SHA1.

Синтаксис

SignedData.Sign( _
  [ ByVal Signer ], _
  [ ByVal bDetached ], _
  [ ByVal EncodingType ] _
)

Параметры

Подписавший [ в необязательное]

Ссылка на объект- подписывающий подписи данных. Объект " подписавший " должен иметь доступ к закрытому ключу сертификата , используемого для подписания. Этот параметр может иметь значение NULL. Дополнительные сведения см. в разделе Примечания.

бдетачед [ в необязательное]

Если значение равно true, данные для подписи отсоединяются; Это значит, что подписанное содержимое не входит в состав подписанного объекта. Чтобы проверить подпись отсоединенного содержимого, приложение должно иметь копию исходного содержимого. Отсоединенное содержимое часто используется для уменьшения размера подписанного объекта для отправки через Интернет, если получатель подписанного сообщения имеет исходную копию подписанных данных. Значение по умолчанию равно False.

Енкодингтипе [ в необязательное]

Значение перечисления типа " CAPICOM _ Encoding _ ", указывающее способ кодирования подписанных данных. Значение по умолчанию — CAPICOM- _ кодировать _ Base64. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
CAPICOM _ кодирует _ ANY
Этот тип кодирования используется только в том случае, если входные данные имеют неизвестный тип кодирования. Если это значение используется для указания типа кодирования вывода, _ _ вместо этого будет использоваться CAPICOM-Encoding Base64. Представлено в CAPICOM 2,0.
CAPICOM _ кодирует _ Base64
Данные сохраняются в виде строки в кодировке Base64.
_двоичная кодировка CAPICOM _
Данные сохраняются в виде чисто двоичной последовательности.

Возвращаемое значение

Этот метод возвращает строку, содержащую закодированные подписанные данные.

В случае сбоя этого метода возникнет ошибка. Объект Err будет содержать дополнительные сведения об ошибке.

Remarks

Важно!

При вызове этого метода из веб-скрипта скрипту необходимо использовать закрытый ключ для создания цифровой подписи. Предоставление недоверенным веб-узлам использования закрытого ключа является угрозой безопасности. Диалоговое окно с запросом на то, может ли веб-сайт использовать закрытый ключ при первом вызове этого метода. Если вы разрешите скрипту использовать закрытый ключ для создания цифровой подписи и установите флажок "больше не показывать это окно", диалоговое окно больше не будет отображаться для любого скрипта в этом домене, который использует закрытый ключ для создания цифровой подписи. Однако скрипты за пределами этого домена, которые пытаются использовать закрытый ключ для создания цифровой подписи, все равно приведут к появлению этого диалогового окна. Если вы не разрешите скрипту использовать закрытый ключ и установите флажок "больше не выводить это диалоговое окно", скрипты внутри этого домена автоматически не смогут использовать закрытый ключ для создания цифровых подписей.

Поскольку создание цифровой подписи требует использования закрытого ключа, веб-приложения, которые пытаются использовать этот метод, потребуются запросы пользовательского интерфейса, позволяющие пользователю утверждать использование закрытого ключа по соображениям безопасности.

Следующие результаты применяются к значению параметра SignIn :

  • Если параметр- подписывающий имеет значение, отличное от null, этот метод использует закрытый ключ, указанный в соответствующем сертификате, для шифрования подписи. Если закрытый ключ, на который указывает сертификат, недоступен, метод завершается ошибкой.
  • Если параметр- подписывающий имеет значение NULL и в хранилище текущего пользователя есть ровно один сертификат _ с доступом к закрытому ключу, этот сертификат используется для создания подписи.
  • если параметр- подписывающий имеет значение NULL, Параметры.Значение свойства енаблепромптфорцертификатеуи равно true, и в _ хранилище текущего пользователя с доступным закрытым ключом существует несколько сертификатов. в этом случае появляется диалоговое окно, позволяющее пользователю выбрать используемый сертификат.
  • если параметр- подписывающий имеет значение NULL и Параметры. Свойство Енаблепромптфорцертификатеуи имеет значение false, метод завершается ошибкой.
  • Если параметр- подписывающий имеет значение NULL и в хранилище текущего пользователя нет сертификата _ с доступным закрытым ключом, метод завершается ошибкой.

Требования

Требование Значение
Распространяемые компоненты
CAPICOM 2,0 или более поздней версии на Windows Server 2003 и Windows XP
DLL
Capicom.dll

См. также раздел

Криптографические объекты

сигнеддата