XpsDigSigPartAlteringRestrictions Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica los elementos del Package XPS que se excluyen del intervalo de una firma digital.
Esta enumeración admite una combinación bit a bit de sus valores de miembro.
public enum class XpsDigSigPartAlteringRestrictions
[System.Flags]
public enum XpsDigSigPartAlteringRestrictions
[<System.Flags>]
type XpsDigSigPartAlteringRestrictions =
Public Enum XpsDigSigPartAlteringRestrictions
- Herencia
- Atributos
Campos
Annotations | 2 | Se excluye el elemento anotaciones. |
CoreMetadata | 1 | El elemento propiedades básicas que se excluye. |
None | 0 | No se excluye ningún elemento. |
SignatureOrigin | 4 | Se excluye el elemento origen de la firma. |
Ejemplos
En el ejemplo siguiente se muestra cómo usar esta enumeración para firmar digitalmente un documento XPS.
// ------------------------------ SignXps -----------------------------
/// <summary>
/// Signs an XPS document with a given X509 certificate, and if one
/// exists, associates the signature with a given SignatureDefintion
/// spotId GUID.</summary>
/// <param name="xpsDocument">
/// The XPS document to sign.</param>
/// <param name="cert">
/// The X509 certificate to use for signing.</param>
/// <param name="spotId">
/// The nullable spotId GUID of the signature definition.</param>
public void SignXps(
XpsDocument xpsDocument, X509Certificate cert, Guid? spotId )
{
// If there's a SignatureDefinition spotId,
// associate it with the signature.
if (spotId != null)
{
xpsDocument.SignDigitally(
cert, true, XpsDigSigPartAlteringRestrictions.None,
spotId.Value);
}
else
{
xpsDocument.SignDigitally(
cert, true, XpsDigSigPartAlteringRestrictions.None);
}
}// end:SignXps()
' ------------------------------ SignXps -----------------------------
''' <summary>
''' Signs an XPS document with a given X509 certificate, and if one
''' exists, associates the signature with a given SignatureDefintion
''' spotId GUID.</summary>
''' <param name="xpsDocument">
''' The XPS document to sign.</param>
''' <param name="cert">
''' The X509 certificate to use for signing.</param>
''' <param name="spotId">
''' The nullable spotId GUID of the signature definition.</param>
Public Sub SignXps(xpsDocument As XpsDocument, cert As X509Certificate, spotId? As Guid)
' If there's a SignatureDefinition spotId,
' associate it with the signature.
If spotId IsNot Nothing Then
xpsDocument.SignDigitally(cert, True, XpsDigSigPartAlteringRestrictions.None, spotId.Value)
Else
xpsDocument.SignDigitally(cert, True, XpsDigSigPartAlteringRestrictions.None)
End If
End Sub
Comentarios
Esta enumeración tiene un flagsAttribute que permite una combinación bit a bit de sus valores de miembro.
Las partes que se especifican como excluidas de la firma digital se pueden modificar sin invalidar la firma. Por ejemplo, si un documento va a estar firmado por más de una persona, la parte SignatureOrigin debe excluirse de la firma cuando el documento se firma por primera vez. (Las exclusiones se especifican en el restrictions
parámetro de la llamada a SignDigitally). Si no se excluye la parte SignatureOrigin, las firmas adicionales invalidan la firma del primer firmante.
Para obtener más información sobre las firmas digitales, consulte Marco de firma digital de las convenciones de empaquetado abierto.
Para obtener más información sobre las propiedades principales y los elementos de origen de firma, vea el capítulo 3 de la especificación de convenciones de empaquetado abierto disponibles para su descarga en https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.