pour les développeurs qui doivent vérifier l’authenticité et maintenir l’intégrité. Ce tutoriel vous guide à travers numérique Que vous construisiez un système de gestion de documents, une application axée sur la sécurité, ou que vous ayez simplement besoin d’auditer les actifs de police, maîtriser ce processus rendra votre flux de travail plus fiable et sécurisé.

What You’ll Learn

  • Comment extraire les indicateurs de signature numérique des polices OpenType
  • Comment récupérer les informations détaillées sur chaque signature numérique
  • Comment configurer et utiliser GroupDocs.Metadata dans un projet Java

Plongeons dans les prérequis et préparons votre environnement.

Quick Answers

  • Quelle bibliothèque est‑elle nécessaire ? GroupDocs.Metadata for Java (v24.12)
  • Quelle version de Java est requise ? JDK 8 ou ultérieure
  • Ai‑je besoin d’une licence ? Un essai gratuit suffit pour l’évaluation ; une licence complète est requise pour la production
  • Puis‑je traiter plusieurs polices ? Oui – utilisez le traitement par lots ou concurrent pour de grands ensembles
  • Le code est‑il thread‑safe ? L’objet Metadata est jetable ; créez une nouvelle instance par thread

Prerequisites

Avant d’extraire les données de signature numérique, assurez‑vous que votre configuration répond à ces exigences :

Required Libraries and Dependencies

Pour travailler avec GroupDocs.Metadata for Java, incluez le dépôt Maven et la dépendance indiqués ci‑dessous.

Environment Setup Requirements

  • Java Development Kit (JDK) : Installez JDK 8 ou ultérieur.
  • IDE : Tout IDE compatible Java (IntelliJ IDEA, Eclipse, VS Code, etc.).

Knowledge Prerequisites

Une connaissance de base de Java et une compréhension des signatures numériques seront utiles, mais le guide comprend des explications claires pour les débutants.

Setting Up GroupDocs.Metadata for Java

Maven Installation

Ajoutez la configuration suivante à votre fichier pom.xml. Cela récupère le package groupdocs metadata java requis pour les exemples.

<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

Sinon, téléchargez la dernière version depuis GroupDocs.Metadata for Java releases.

Commencez avec un essai gratuit pour explorer les fonctionnalités.

  • Temporary License : Obtenez une licence temporaire si nécessaire en visitant la page de licence GroupDocs.
  • **Purchase , que vous pouvez lire de façon program Extract Digital elle est valide, révoquée ou possède des conditions spéciales).

Implementation Steps

  1. Initialize Metadata : Créez une instance Metadata pointant vers votre fichier de police.
  2. Read Flags : Accédez au DigitalSignaturePackage et affichez ses indicateurs.
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());
    }
}

Explanation

  • documentPath – chemin absolu ou relatif vers la police OpenType.
  • Le bloc try‑with‑resources garantit que l’objet Metadata est fermé automatiquement, évitant les fuites de ressources.

How to Extract Detailed Digital Signature Information

Overview

Au‑delà des indicateurs, vous devez souvent inspecter les métadonnées de chaque signature — heure de signature, algorithmes, certificats et contenu encapsulé.

Implementation Steps

  1. Initialize Metadata (identique à ci‑dessus).
  2. Iterate Over Signatures : Pour chaque CmsSignature, affichez les propriétés pertinentes.
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());
                }
            }
        }
    }
}

Explanation of Key Sections

  • Sign Time : Moment où la signature a été appliquée.
  • Digest Algorithms & OIDs : Algorithmes de hachage utilisés (par ex., SHA‑256).
  • Encapsulated Content : Toute donnée supplémentaire encapsulée dans la signature.
  • Certificates : Les dates de validité et la taille des données brutes aident à vérifier l’identité du signataire.
  • Signers : Fournit les choix d’algorithme de chaque signataire et les horodatages de signature.

Troubleshooting Tips

  • Assurez‑vous que la police contient réellement une signature numérique ; sinon getDigitalSignaturePackage() renvoie null.
  • Vérifiez que vous utilisez la même version de GroupDocs.Metadata que celle indiquée dans la dépendance Maven afin d’éviter les problèmes de compatibilité.

Practical Applications

L’extraction des données de signature numérique des polices OpenType est utile dans de nombreux scénarios :

  1. Document Verification : Automatisez les vérifications des fichiers de police signés dans un système de gestion de contenu.
  2. Digital Asset Management : Validez l’authenticité des polices avant de les déployer dans des projets de branding.
  3. Security Audits : Examinez les détails des signatures pour garantir la conformité aux politiques de sécurité internes.

Performance Considerations

  • Resource Management : Utilisez toujours try‑with‑resources pour fermer rapidement les objets Metadata.
  • Batch Processing : Lors du traitement de nombreuses polices, traitez‑les par lots afin de réduire la surcharge d’E/S.
  • Concurrency : Pour des charges de travail à grande échelle, exécutez des instances Metadata séparées dans des threads parallèles ; la bibliothèque n’est pas thread‑safe par instance.

Frequently Asked Questions

Q : Puis‑je extraire des signatures d’une police qui n’a pas de signature numérique ?
A : Le DigitalSignaturePackage sera null ; vous devez vérifier cette condition avant d’accéder aux indicateurs ou aux détails.

Q : Quelle version de GroupDocs.Metadata est requise ?
A : Les exemples utilisent la version 24.12, mais les versions plus récentes sont rétro‑compatibles avec les polices OpenType.

Q : Ai‑je besoin d’une licence spéciale pour lire les signatures ?
A : Une licence d’essai fonctionne pour l’évaluation ; une licence complète est requise pour une utilisation en production.

Q : Comment gérer les polices stockées dans un bucket cloud ?
A : Téléchargez la police dans un fichier local temporaire, puis transmettez son chemin à Metadata. La bibliothèque fonctionne avec tout fichier accessible via un chemin local.

Q : Est‑il possible de vérifier la validité cryptographique de la signature ?
A : GroupDocs.Metadata fournit les données brutes ; vous pouvez transmettre la chaîne de certificats et les valeurs de hachage à une bibliothèque cryptographique distincte pour une vérification complète.

Conclusion

En suivant ce guide, vous savez maintenant how to extract signature les informations et les données détaillées de signature numérique des polices OpenType en utilisant GroupDocs.Metadata for Java. L’intégration de ces techniques dans vos applications renforcera la sécurité des documents, rationalisera la validation des actifs et soutiendra les initiatives de conformité.

Next Steps

  • Expérimentez le traitementèques de polices.
  • Combine d’autres capacités de métadonnées de GroupDocs.Metadata, comme l’édition ou la suppression de signatures le cas échéant.

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