DigitalSignaturePackage
OpenTypeRootPackage.DigitalSignaturePackage property
Obtiene el paquete de metadatos de la firma digital.
public CmsPackage DigitalSignaturePackage { get; }
El valor de la propiedad
El paquete de metadatos de la firma digital.
Observaciones
Aprende más
Ejemplos
Este fragmento de código demuestra cómo extraer firmas digitales asociadas con una fuente OpenType.
public static void Run()
{
using (Metadata metadata = new Metadata(Constants.InputTtf))
{
var root = metadata.GetRootPackage<OpenTypeRootPackage>();
if (root.DigitalSignaturePackage != null)
{
Console.WriteLine(root.DigitalSignaturePackage.Flags);
foreach (var signature in root.DigitalSignaturePackage.Signatures)
{
Console.WriteLine(signature.SignTime);
if (signature.DigestAlgorithms != null)
{
foreach (var signatureDigestAlgorithm in signature.DigestAlgorithms)
{
PrintOid(signatureDigestAlgorithm);
}
}
if (signature.EncapsulatedContent != null)
{
PrintOid(signature.EncapsulatedContent.ContentType);
Console.WriteLine(signature.EncapsulatedContent.ContentRawData.Length);
}
if (signature.Certificates != null)
{
foreach (var certificate in signature.Certificates)
{
Console.WriteLine(certificate.NotAfter);
Console.WriteLine(certificate.NotBefore);
Console.WriteLine(certificate.RawData.Length);
}
}
if (signature.Signers != null)
{
foreach (var signerInfoEntry in signature.Signers)
{
Console.WriteLine(signerInfoEntry.SignatureValue);
PrintOid(signerInfoEntry.DigestAlgorithm);
PrintOid(signerInfoEntry.SignatureAlgorithm);
Console.WriteLine(signerInfoEntry.SigningTime);
PrintAttributes(signerInfoEntry.SignedAttributes);
PrintAttributes(signerInfoEntry.UnsignedAttributes);
}
}
}
}
}
}
private static void PrintOid(Oid oid)
{
// Mostrar el nombre de la propiedad y el valor de OID
if (oid != null)
{
Console.WriteLine(oid.FriendlyName);
Console.WriteLine(oid.Value);
}
}
private static void PrintAttributes(CmsAttribute[] attributes)
{
//Mostrar los CmsAttributes de un OID
if (attributes != null)
{
foreach (CmsAttribute attribute in attributes)
{
PrintOid(attribute.Oid);
Console.WriteLine(attribute.Value);
}
}
}
Ver también
- class CmsPackage
- class OpenTypeRootPackage
- espacio de nombres GroupDocs.Metadata.Formats.Font
- asamblea GroupDocs.Metadata