FormEvents.Sign 이벤트
디지털 서명 대화 상자를 통해 서명할 서명된 데이터 집합을 선택한 후에 발생합니다.
네임스페이스: Microsoft.Office.InfoPath
어셈블리: Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)
구문
‘선언
Public MustOverride Event Sign As SignEventHandler
‘사용 방법
Dim instance As FormEvents
Dim handler As SignEventHandler
AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign
예외
예외 | 조건 |
---|---|
InvalidOperationException | 개발자가 InternalStartup 메서드가 아닌 다른 위치의 이벤트를 바인딩하려고 했습니다. |
SecurityException | 양식 옵션 대화 상자의 보안 및 신뢰 범주를 사용하여 양식 서식 파일이 전체 신뢰로 구성되어 있지 않습니다. |
주의
중요
Sign 이벤트는 양식 코드에서 개발자가 인스턴스화하지 않습니다. Microsoft InfoPath 2010 디자인 모드 사용자 인터페이스에서 양식 수준 이벤트에 대해서만 이벤트 처리기를 추가해야 합니다. 디자인 모드 사용자 인터페이스에서 양식 서식 파일에 이벤트 처리기를 추가하면 InfoPath에서 EventManager 클래스와 FormEvents 클래스의 멤버로 양식 코드 파일의 InternalStartup 메서드에서 코드를 생성하여 이벤트를 해당 이벤트 처리기에 바인딩합니다. InfoPath 디자인 모드에서 이벤트 처리기를 추가하는 방법에 대한 자세한 내용은 방법: 이벤트 처리기 추가를 참조하십시오.
Sign 이벤트는 SignEventHandler 대리자를 사용하여 바인딩됩니다.
이 이벤트에 대한 이벤트 처리기를 실행하려면 전체 신뢰 보안 수준이 필요합니다. 이 보안 수준을 설정하려면 InfoPath 디자이너에서 파일 탭, 양식 옵션을 클릭하여 보안 및 신뢰를 선택하고 자동으로 보안 수준 결정을 선택 취소한 다음 전체 신뢰를 선택합니다. 전체 신뢰 보안 수준으로 설정된 양식은 설치되거나 디지털 서명되어야 합니다.
Sign 이벤트에 대한 이벤트 처리기를 사용하여 추가 데이터를 디지털 서명에 추가할 수 있습니다. 예를 들어 신뢰할 수 있는 타임스탬프 서버로부터 데이터를 추가하거나 트랜잭션의 서버 쪽 연대 서명을 추가할 수 있습니다. 현재 사용자가 특정 그룹의 구성원이 아닌 경우에는 이 이벤트 처리기를 사용하여 서명을 차단할 수도 있습니다.
이 멤버는 양식 옵션 대화 상자의 보안 및 신뢰 범주에서 완전히 신뢰할 수 있는 상태로 실행되도록 구성된 양식 서식 파일에서 연 양식에서만 액세스할 수 있습니다. 이 멤버를 사용하려면 직접 실행 호출자에 대한 전체 신뢰가 필요하며 부분적으로 신뢰할 수 있는 코드에서는 사용할 수 없습니다. 자세한 내용은 MSDN의 "부분적으로 신뢰할 수 있는 코드에서 라이브러리 사용"을 참조하십시오.
이 형식 또는 멤버는 Microsoft InfoPath Filer에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.
예
다음 예제에서는 InfoPath 디자인 모드 사용자 인터페이스에서 개발자 탭의 Sign 이벤트를 클릭하여 Sign 이벤트에 대한 이벤트 처리기를 양식에 추가함으로써 만든 디지털 서명을 Signature 클래스의 Sign 메서드를 사용하여 양식에 추가합니다.
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
}