다음을 통해 공유


Signature.Sign 메서드

XML 디지털 서명 블록을 쓰고 서명한 데이터의 암호화 해시를 계산합니다.

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

구문

‘선언
Public MustOverride Sub Sign
‘사용 방법
Dim instance As Signature

instance.Sign()
public abstract void Sign()

예외

예외 조건
InvalidOperationException

서명이 시작된 후 원본으로 사용하는 XML 문서에 양식 코드를 작성하려고 했습니다.

SecurityException

양식 옵션 대화 상자의 보안 및 신뢰 범주를 사용하여 양식 서식 파일이 전체 신뢰로 구성되어 있지 않습니다.

주의

Sign 메서드는 Sign 이벤트에 대한 이벤트 처리기에서만 호출할 수 있습니다.

이 멤버는 양식 옵션 대화 상자의 보안 및 신뢰 범주에서 완전히 신뢰할 수 있는 상태로 실행되도록 구성된 양식 서식 파일에서 연 양식에서만 액세스할 수 있습니다. 이 멤버를 사용하려면 직접 실행 호출자에 대한 전체 신뢰가 필요하며 부분적으로 신뢰할 수 있는 코드에서는 사용할 수 없습니다. 자세한 내용은 MSDN의 "부분적으로 신뢰할 수 있는 코드에서 라이브러리 사용"을 참조하십시오.

이 형식 또는 멤버는 Microsoft InfoPath Filer에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.

다음 예제에서는 Sign 이벤트에 대한 이벤트 처리기를 추가할 때 양식 서식 파일에 추가되는 기본 코드를 보여 줍니다. 먼저 SignatureCollection 클래스의 CreateSignature 메서드를 사용하여 새 Signature 개체를 만듭니다. 그런 다음 Signature 클래스의 Sign 메서드를 호출하여 디지털 서명 대화 상자를 표시하지 않은 채, 새 Signature 개체를 양식의 SignatureCollection 개체에 추가합니다.

public void FormEvents_Sign(object sender, SignEventArgs e)
{
   // This event handler will run only in fully trusted form templates.

   Signature thisSignature = 
      e.SignedDataBlock.Signatures.CreateSignature();

   // To add other pieces of information to sign, modify the
   // signature template returned by
   // thisSignature.SignatureBlockXmlNode.
   // Write your code here.

   thisSignature.Sign();
   e.SignatureWizard = false;
}
Public Sub FormEvents_Sign(ByVal sender As Object, _
   ByVal e As SignEventArgs)

   ' This event handler will run only in fully trusted form templates.

   Dim thisSignature As Signature = _
      e.SignedDataBlock.Signatures.CreateSignature()

   ' To add other pieces of information to sign, modify the
   ' signature template returned by
   ' thisSignature.SignatureBlockXmlNode.
   ' Write your code here.

   thisSignature.Sign()
   e.SignatureWizard = False
End Sub

참고 항목

참조

Signature 클래스

Signature 멤버

Microsoft.Office.InfoPath 네임스페이스