Share via


Signature 클래스

양식에 추가된 디지털 서명 또는 양식에 있는 서명된 데이터 집합을 나타냅니다.

상속 계층 구조

System.Object
  Microsoft.Office.InfoPath.Signature

네임스페이스:  Microsoft.Office.InfoPath
어셈블리:  Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)

구문

‘선언
Public MustInherit Class Signature
‘사용 방법
Dim instance As Signature
public abstract class Signature

주의

SignatureCollection 컬렉션의 Item 속성을 사용하여 Signature 개체를 반환합니다.

Signature 클래스는 XML 디지털 서명 블록을 쓰고 서명된 데이터의 암호화 해시를 계산하는 Sign 메서드를 제공합니다.

Signature 클래스는 디지털 서명에 대한 정보를 검색하는 다음과 같은 속성을 제공합니다.

  • Certificate   양식 사용자가 양식 또는 양식에 있는 데이터 집합에 서명할 때 사용한 X.509 디지털 인증서에 대한 인증서 개체를 가져옵니다.

  • Comment   사용자가 양식 또는 양식에 있는 데이터 집합과 관련된 디지털 서명에 추가한 주석을 가져옵니다.

  • SignatureBlockXmlNode   디지털 서명을 포함하는 XML 노드를 가져옵니다. 이 속성을 사용하여 InfoPath에서 서명과 함께 저장되는 데이터 집합 또는 서명 속성을 확장할 수 있습니다.

  • Status   지정한 디지털 서명의 상태를 SignatureStatus 열거형 값으로 가져옵니다.

다음 예제에서는 양식에 있는 첫 번째 서명된 데이터 집합의 첫 번째 디지털 서명에 대한 정보를 표시합니다. 또는 양식 서식 파일이 전체 양식에 서명하도록 구성된 경우 전체 양식의 첫 번째 서명에 대한 정보를 표시합니다. 먼저, 서명을 나타내는 Signature 개체에 대한 참조를 검색합니다. Signature 클래스의 Status 및 Comment 속성을 사용하여 서명으로부터 상태와 주석 값을 가져옵니다. Signature 클래스의 Certificate 속성을 사용하여 서명의 Certificate 개체를 가져오며 이 개체는 나중에 인증서가 발급된 대상을 표시하는 데 사용됩니다. Signature 클래스의 SignatureBlockXmlNode 속성을 사용하여 서명 정보를 포함하는 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)

스레드 보안

이 형식의 모든 공용 static (Visual Basic의Shared ) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수도 있습니다.

참고 항목

참조

Signature 멤버

Microsoft.Office.InfoPath 네임스페이스