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