XpsDigitalSignature.Id 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서명의 GUID(Globally Unique Identifier)를 가져옵니다.
public:
property Nullable<Guid> Id { Nullable<Guid> get(); };
public Guid? Id { get; }
member this.Id : Nullable<Guid>
Public ReadOnly Property Id As Nullable(Of Guid)
속성 값
서명의 GUID입니다.
예제
다음 예제에서는 서명 정보를 표시 하 고 업데이트 하는 속성을 사용 Id 하는 방법을 보여 있습니다.
// -------------------- IterateSignatureDefinitions --------------------
/// <summary>
/// Interates through the SignatureDefinition contained in a given
/// XPS document displaying and updating the signature properties
/// through a user dialog.</summary>
/// <param name="signatureDialog">
/// The user dialog to use in displaying and
/// updating the signature information.</param>
/// <param name="xpsDocument">
/// The XPS document containing the signature information.</param>
public void IterateSignatureDefinitions(
SignatureDialog signatureDialog, XpsDocument xpsDocument )
{
IXpsFixedDocumentSequenceReader docSeq =
xpsDocument.FixedDocumentSequenceReader;
// For every FixedDocument in the XPS document.
foreach (IXpsFixedDocumentReader doc in docSeq.FixedDocuments)
{
// For every SignatureDefinition in each FixedDocument.
foreach (XpsSignatureDefinition signature in
doc.SignatureDefinitions)
{
SignatureDisplayItem item =
signatureDialog.AddSignatureItem(signature);
// Signatures are bound to signature definitions by GUID.
// If the SignatureDefintion SpotId is the same as the
// SignatureId, the signature is signing that definition.
// For every signature in the XPS document.
foreach (XpsDigitalSignature sig in xpsDocument.Signatures)
{
if (sig.Id != null && sig.Id == signature.SpotId)
{
X509Certificate2 cert =
sig.SignerCertificate as X509Certificate2;
item.Signer =
cert.GetNameInfo(X509NameType.SimpleName, false);
item.IsSigned = true;
}
}// end:foreach (XpsDigitalSignature
}// end:foreach (XpsSignatureDefinition
}// end:foreach (IXpsFixedDocumentReader
}// end:IterateSignatureDefinitions()
' -------------------- IterateSignatureDefinitions --------------------
''' <summary>
''' Interates through the SignatureDefinition contained in a given
''' XPS document displaying and updating the signature properties
''' through a user dialog.</summary>
''' <param name="signatureDialog">
''' The user dialog to use in displaying and
''' updating the signature information.</param>
''' <param name="xpsDocument">
''' The XPS document containing the signature information.</param>
Public Sub IterateSignatureDefinitions(signatureDialog As SignatureDialog, xpsDocument As XpsDocument)
Dim docSeq As IXpsFixedDocumentSequenceReader = xpsDocument.FixedDocumentSequenceReader
' For every FixedDocument in the XPS document.
For Each doc As IXpsFixedDocumentReader In docSeq.FixedDocuments
' For every SignatureDefinition in each FixedDocument.
For Each signature As XpsSignatureDefinition In doc.SignatureDefinitions
Dim item As SignatureDisplayItem = signatureDialog.AddSignatureItem(signature)
' Signatures are bound to signature definitions by GUID.
' If the SignatureDefintion SpotId is the same as the
' SignatureId, the signature is signing that definition.
' For every signature in the XPS document.
For Each sig As XpsDigitalSignature In xpsDocument.Signatures
If sig.Id IsNot Nothing AndAlso sig.Id = signature.SpotId Then
Dim cert As X509Certificate2 = TryCast(sig.SignerCertificate, X509Certificate2)
item.Signer = cert.GetNameInfo(X509NameType.SimpleName, False)
item.IsSigned = True
End If
Next sig ' end:foreach (XpsDigitalSignature
Next signature ' end:foreach (XpsSignatureDefinition
Next doc ' end:foreach (IXpsFixedDocumentReader
End Sub