Поделиться через


Класс Signature

Представляет цифровую подпись, добавленную к форме или набору подписанных данных в форме.

Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)

Синтаксис

'Декларация
Public MustInherit Class Signature
'Применение
Dim instance As Signature
public abstract class Signature

Заметки

Чтобы вернуть объект Signature, используйте свойство Item коллекции SignatureCollection.

Класс Signature предоставляет метод Sign, выполняющий запись блока цифровой подписи XML и вычисление криптографического хеша для подписанных данных.

Класс Signature предоставляет следующие свойства для получения сведений о цифровой подписи:

  • Certificate   Возвращает объект "Certificate" для цифрового сертификата X.509, с помощью которого пользователь подписывает форму или набор данных в форме.

  • Comment   Возвращает комментарий, добавленный пользователем к цифровой подписи, которую он связал с формой или набором данных в форме.

  • SignatureBlockXmlNode   Возвращает узел XML, который содержит цифровую подпись. Это свойство можно использовать для расширения свойств подписи или набора данных, хранящихся в InfoPath с подписью.

  • Status   Возвращает состояние указанной цифровой подписи как значение перечисления SignatureStatus.

Пример

В следующем примере отображаются сведения о первой цифровой подписи для первого набора подписанных данных в форме (или сведения о первой подписи для всей формы, если в шаблоне форме сконфигурирована подпись всей формы). Сначала извлекается ссылка на объект Signature, представляющий подпись. Свойства Status и Comment класса Signature используются для возвращения значений состояния и комментария из подписи. Свойство Certificate класса Signature используется для возвращения объекта Certificate подписи, который затем используется для отображения владельца, выпустившего сертификат. Свойство SignatureBlockXmlNode класса Signature используется для извлечения поддерева узла XML, содержащего сведения о подписи. Наконец, все эти сведения отображаются в нескольких окнах сообщений.

// Get signature.
Signature mySignature = this.SignedDataBlocks[0].Signatures[0];

// Get status of signature.
string sigStatus = mySignature.Status.ToString();

// Get comment.
string signatureComment = mySignature.Comment;

// Get certificate used to sign with.
Certificate signatureCertificate = mySignature.Certificate;

// Get XML node that contains the signature.
XPathNavigator signatureNode = mySignature.SignatureBlockXmlNode;

// Display properties.
MessageBox.Show("Signature properties:\n\nStatus: " + sigStatus + 
   "\nComment: " + signatureComment + 
   "\nCertificate Issued To: " + signatureCertificate.IssuedTo);

// Display XML node subtree that contains signature.
MessageBox.Show("Digital signature XML block: \n" + signatureNode.InnerXml);
Imports Microsoft.VisualBasic.Constants
' Get signature.
Dim mySignature As Signature = Me.SignedDataBlocks(0).Signatures(0)

' Get status of signature.
Dim sigStatus As String = mySignature.Status.ToString()

' Get comment.
Dim signatureComment As String = mySignature.Comment

' Get certificate used to sign with.
Dim signatureCertificate As Certificate = mySignature.Certificate

' Get XML node that contains the signature.
Dim signatureNode As XPathNavigator = mySignature.SignatureBlockXmlNode

' Display properties.
MessageBox.Show("Signature properties:" & NewLine & _
   "Status: " & sigStatus & NewLine & _
   "Comment: " & signatureComment & NewLine & _
   "Certificate Issued To: " & signatureCertificate.IssuedTo)

' Display XML node subtree that contains signature.
MessageBox.Show("Digital signature XML block:" & NewLine & _
   signatureNode.InnerXml)

Иерархия наследования

System.Object
  Microsoft.Office.InfoPath.Signature

Безопасность потока

Все открытые статические (Общие в Visual Basic) члены этого типа потокобезопасны. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылка

Члены Signature
Пространство имен Microsoft.Office.InfoPath