DigitalSignaturePackage
OpenTypeRootPackage.DigitalSignaturePackage property
디지털 서명 메타데이터 패키지를 가져옵니다.
public CmsPackage DigitalSignaturePackage { get; }
자산 가치
디지털 서명 메타데이터 패키지.
비고
더 알아보기
예
이 코드 스니펫은 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)
{
// 속성 이름과 OID 값 표시
if (oid != null)
{
Console.WriteLine(oid.FriendlyName);
Console.WriteLine(oid.Value);
}
}
private static void PrintAttributes(CmsAttribute[] attributes)
{
//OID의 CmsAttributes 표시
if (attributes != null)
{
foreach (CmsAttribute attribute in attributes)
{
PrintOid(attribute.Oid);
Console.WriteLine(attribute.Value);
}
}
}
또한보십시오
- class CmsPackage
- class OpenTypeRootPackage
- 네임스페이스 GroupDocs.Metadata.Formats.Font
- 집회 GroupDocs.Metadata