Hur man extraherar signatur från OpenType-teckensnitt i Java med GroupDocs.Metadata

Introduktion

I dagens digitala era är hur man extraherar signatur information från teckensnittsfiler ett vanligt krav för utvecklare som behöver verifiera äkthet och upprätthålla integritet. Denna handledning guidar dig genom att extrahera digitala signaturflaggor och detaljerad signaturdata från OpenType-teckensnitt med hjälp av GroupDocs.Metadata for Java. Oavsett om du bygger ett dokumenthanteringssystem, en säkerhetsinriktad applikation eller helt enkelt behöver granska teckensnittstillgångar, så kommer behärskning av denna process att göra ditt arbetsflöde mer pålitligt och säkert.

Vad du kommer att lära dig

  • Hur man extraherar digitala signaturflaggor från OpenType-teckensnitt
  • Hur man hämtar detaljerad information om varje digital signatur
  • Hur man installerar och använder GroupDocs.Metadata i ett Java‑projekt

Låt oss gå in på förutsättningarna och förbereda din miljö.

Quick Answers

  • Vilket bibliotek behöver jag? GroupDocs.Metadata for Java (v24.12)
  • Vilken Java‑version krävs? JDK 8 eller senare
    ; en full licens krävs för produktion
  • Kan jag bearbeta flera teckensnitt? Ja – använd batch‑ eller samtidig bearbetning för stora mängder
  • Är koden trådsäker? Metadata‑objektet är engångsobjekt; skapa en ny instans per tråd

Förutsättningar

Innan du extraherar digital signaturdata, se till att din konfiguration uppfyller dessa krav:

attibelGrund och en förståelse för digitala signaturer är till hjälp, men guiden innehåller tydliga förklaringar för nybörjare.

Setting Up GroupDocs.Metadata for Java

Maven Installation

Lägg till följande konfiguration i din pom.xml‑fil. Detta hämtar groupdocs metadata java‑paketet som krävs för exemplen.

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/metadata/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-metadata</artifactId>
        <version>24.12</version>
    </dependency>
</dependencies>

Direct Download

Alternativt, ladda ner den senaste versionen från GroupDocs.Metadata for Java releases.

License Acquisition

  • Gratis provperiod: Börja med en gratis provperiod för att utforska funktionerna.
  • Tillfällig licens: Skaffa en tillfällig licens vid behov genom att besöka GroupDocs licensing page.
  • Köp: För full åtkomst, överväg att köpa en licens.

Efter att ha installerat biblioteket och skaffat en licens kan du börja extrahera signaturer.

Vad är en digital signatur i ett OpenType‑teckensnitt?

En digital signatur inbäddad i ett OpenType‑teckensnitt garanterar att teckensnittsfilen inte har ändrats sedan den signerades. Signaturen innehåller kryptografisk information såsom signeringstid, certifikat och hash‑algoritmer, som du kan läsa programmässigt med GroupDocs.Metadata.

Hur man extraherar digitala signaturflaggor

Overview

Att extrahera digitala signaturflaggor låter dig snabbt identifiera status och egenskaper för en signatur (t.ex. om den är giltig, återkallad eller har speciella villkor).

Implementation Steps

  1. Initiera Metadata: Skapa en Metadata‑instans som pekar på din teckensnittfil.
  2. Läs flaggor: Åtkomst till DigitalSignaturePackage och skriv ut dess flaggor.
String documentPath = "YOUR_DOCUMENT_DIRECTORY"; // Replace with your input file path
try (Metadata metadata = new Metadata(documentPath)) {
    OpenTypeRootPackage root = metadata.getRootPackageGeneric();
    
    if (root.getDigitalSignaturePackage() != null) {
        System.out.println(root.getDigitalSignaturePackage().getFlags());
    }
}

Förklaring

  • documentPath – absolut eller relativ sökväg till OpenType‑teckensnittet.
  • try‑with‑resources‑blocket säkerställer att Metadata‑objektet stängs automatiskt, vilket förhindrar resurssläckor.

Hur man extraherar detaljerad digital signaturinformation

Overview

Utöver flaggor behöver du ofta inspektera varje signaturs metadata—signeringstid, algoritmer, certifikat och inkapslat innehåll.

Implementation Steps

Metadata** (samma som ovan).
2. Iterera över signaturer: För varje CmsSignature, skriv ut relevanta egenskaper.

String documentPath = "YOUR_DOCUMENT_DIRECTORY"; // Replace with your input file path
try (Metadata metadata = new Metadata(documentPath)) {
    OpenTypeRootPackage root = metadata.getRootPackageGeneric();
    
    if (root.getDigitalSignaturePackage() != null) {
        for (CmsSignature signature : root.getDigitalSignaturePackage().getSignatures()) {
            System.out.println(signature.getSignTime());
            
            if (signature.getDigestAlgorithms() != null) {
                for (com.groupdocs.metadata.core.Oid signatureDigestAlgorithm : signature.getDigestAlgorithms()) {
                    printOid(signatureDigestAlgorithm);
                }
            }

            if (signature.getEncapsulatedContent() != null) {
                System.out.println(signature.getEncapsulatedContent().getContentType());
                System.out.println(signature.getEncapsulatedContent().getContentRawData().length);
            }

            if (signature.getCertificates() != null) {
                for (com.groupdocs.metadata.core.CmsCertificate certificate : signature.getCertificates()) {
                    System.out.println(certificate.getNotAfter());
                    System.out.println(certificate.getNotBefore());
                    System.out.println(certificate.getRawData().length);
                }
            }

            if (signature.getSigners() != null) {
                for (com.groupdocs.metadata.core.CmsSigner signerInfoEntry : signature.getSigners()) {
                    System.out.println(signerInfoEntry.getSignatureValue());
                    printOid(signerInfoEntry.getDigestAlgorithm());
                    printOid(signerInfoEntry.getSignatureAlgorithm());
                    System.out.println(signerInfoEntry.getSigningTime());
                }
            }
        }
    }
}

Förklaring av nyckelsektioner

  • Sign Time: När signaturen applicerades.
  • Digest Algorithms & OIDs: Hash‑algoritmer som används (t.ex. SHA‑256).
  • Encapsulated Content: Eventuell ytteräddad i signaturen.
  • Certificates: varjeibilitetsproblem.

Practical Applications

Att extrahera digital signaturdata från OpenType‑teckensnitt är användbart i många scenarier: 1.atisera kontroller av signerade teckensnittsfiler i ett innehållshanteringssystem.
2. **3. Säkerhetsgranskningar: Granska signaturdetaljer för att säkerställa efterlevnad av interna säkerhetspolicyer.

Performance Considerations

  • Resurshantering: Använd alltid try‑with‑resources för att snabbt stänga Metadata‑objekt.

Frequently Asked Questions sign null; du bör kontrollera detta innan du åtkommer till flaggor eller detaljer.

Q: Vilken version av GroupDocs.Metadata krävs?
A: Exemplen använder version 24.12, men nyare versioner är bakåtkompatibla för OpenType: Behöver jag en speciell licens för att läsa signaturer?**
A: En provlicens fungerar för utvärdering; en full licens krävs för produktionsanvändning.

Q: Hur hanterar jag teckensnitt lagrade i en molnbucket?
A: Ladda ner teckensnittet till en tillfällig lokal fil, och skicka sedan dess sök fungerar med alla filer som är åtkomliga via en lokal sökväg.

Q: Är det möjligt att verifiera signaturens kryptografiska giltighet?
A: GroupDocsGenom att följa den här guiden-inanskningsverktyg för automatiserad efterlevnadsrapportering.

  • Utforska andra metadata‑.

Last Updated: 2026-01-24
Tested With: GroupDocs.Metadata 24.12
Author: GroupDocs