Les fichiers PDF sont largement utilisés pour stocker et partager des informations sensibles, des états financiers aux documents juridiques. Cependant, ces fichiers peuvent être vulnérables à l’accès et à la modification non autorisés, c’est pourquoi le cryptage et la protection des PDF par mot de passe sont essentiels pour maintenir leur sécurité. Dans cet article de blog, nous allons explorer comment chiffrer et protéger par mot de passe les fichiers PDF à l’aide des API REST basées sur Python. En suivant les instructions étape par étape décrites dans ce guide, vous pourrez ajouter une couche de sécurité supplémentaire à vos fichiers PDF et vous assurer qu’ils restent à l’abri des regards indiscrets. Que vous ayez besoin de protéger des documents commerciaux confidentiels ou des fichiers personnels, lisez la suite pour apprendre à chiffrer, protéger et sécuriser facilement vos fichiers PDF.

API REST pour protéger les PDF

Aspose.PDF Cloud SDK for Python est un outil puissant qui vous permet d’ajouter facilement une protection par mot de passe à vos fichiers PDF. Avec seulement quelques lignes de code, vous pouvez crypter vos fichiers PDF et restreindre l’accès aux personnes autorisées. Le SDK propose plusieurs algorithmes de chiffrement parmi lesquels choisir, notamment RC4 40 bits, RC4 128 bits, AES 128 bits et AES 256 bits.

Maintenant, pour démarrer avec Python SDK, la première étape est son installation. Il est disponible en téléchargement sur les référentiels PIP et GitHub. Veuillez donc exécuter la commande suivante sur le terminal/invite de commande pour installer la dernière version du SDK sur le système.

 pip install asposepdfcloud

Informations d’identification du client

Après l’installation, la prochaine étape majeure est un abonnement gratuit à nos services cloud sur tableau de bord Aspose.Cloud. Inscrivez-vous simplement à l’aide de GitHub ou d’un compte Google en cliquant sur le bouton Créer un nouveau compte et fournissez les informations requises. Connectez-vous ensuite avec un compte nouvellement abonné et obtenez vos informations d’identification client.

Informations d'identification du client

Image 2 :- Identifiants client sur le tableau de bord Aspose.Cloud.

Crypter un PDF avec Python

L’API vous permet de définir deux types de mots de passe, à savoir le mot de passe d’ouverture de document (mot de passe utilisateur) et le mot de passe d’autorisation (mot de passe propriétaire).

Mot de passe d’ouverture de document

Un mot de passe d’ouverture de document (également appelé mot de passe utilisateur) oblige l’utilisateur à saisir un mot de passe pour ouvrir le PDF.

Mot de passe des autorisations

Un mot de passe d’autorisation (également appelé mot de passe maître/propriétaire) est requis pour modifier les paramètres d’autorisation. À l’aide d’un mot de passe d’autorisation, vous pouvez limiter l’impression, la modification et la copie de contenu dans le PDF. Ce mot de passe est requis pour modifier les restrictions que vous avez déjà appliquées.

Si le PDF est sécurisé avec les deux types de mots de passe, il peut être ouvert avec l’un ou l’autre mot de passe.

Veuillez également noter que l’API accepte les mots de passe du propriétaire et de l’utilisateur au format codé en Base64. Dans l’extrait de code suivant, le mot de passe propriétaire (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) et le mot de passe utilisateur (dXNlciAkXlBhc3N3b3JkISY=) sont spécifiés. Veuillez suivre les étapes ci-dessous pour crypter les fichiers PDF à l’aide de l’extrait de code Python.

  • Créez une instance de la classe ApiClient tout en fournissant l’ID client et le secret client comme arguments
  • Deuxièmement, créez une instance de la classe PdfApi qui prend l’objet ApiClient comme argument d’entrée
  • Appelez maintenant la méthode postencryptdocumentinstorage(..) de la classe PdfApi en passant le nom du fichier PDF d’entrée, les mots de passe utilisateur et propriétaire (en codage Base64) et un algorithme cryptographique comme arguments.

C’est ça ! Avec seulement quelques lignes de code, nous avons appris les étapes pour protéger par mot de passe les fichiers PDF en utilisant Aspose.PDF Cloud SDK pour Python.

def encrypt():
    try:
        #Client credentials
        client_secret = "d34641f4ff6bcc96e3a0ab6ac69768b2"
        client_id = "8e2b082f-1f74-4bc0-b454-5f68457d1c97"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # créer une instance PdfApi en passant PdfApiClient comme argument
        pdf_api = PdfApi(pdf_api_client)

        #input PDF file name
        input_file = 'image-based-pdf-sample.pdf'

        # appeler l'API pour chiffrer le document
        response = pdf_api.post_encrypt_document_in_storage(name=input_file,user_password='dXNlciAkXlBhc3N3b3JkISY=',owner_password='b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm',crypto_algorithm='AESX128')

        # imprimer le message de réussite dans la console (facultatif)
        print('PDF encrypted successfully !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Veuillez noter que vous pouvez utiliser l’une ou l’autre des valeurs d’algorithme cryptographique pendant le processus de cryptage PDF

Nom Descriptif
RC4x40 RC4 avec clé longueur 40.
RC4x128 RC4 avec longueur de clé 128.
AESx128 AES avec longueur de clé 128.
AESx256 AES avec longueur de clé 256.

Le fichier PDF d’entrée utilisé dans l’exemple ci-dessus peut être téléchargé depuis awesomeTable.pdf.

Crypter le PDF à l’aide de la commande cURL

Les API REST sont également accessibles via des commandes cURL sur n’importe quelle plate-forme. Nous pouvons utiliser l’invite de commande/fenêtre du terminal pour exécuter les commandes cURL. Comme Aspose.PDF Cloud est également développé selon l’architecture REST, nous pouvons également utiliser la commande cURL pour chiffrer les fichiers PDF. Mais avant d’aller plus loin, nous devons générer un jeton Web JSON (JWT) basé sur vos informations d’identification client individuelles spécifiées sur le tableau de bord Aspose.Cloud. Il est obligatoire car nos API ne sont accessibles qu’aux utilisateurs enregistrés. Veuillez exécuter la commande suivante pour générer le jeton JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Maintenant, une fois que nous avons le jeton JWT, nous devons exécuter la commande suivante pour chiffrer le document PDF.

curl -v -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Conclusion

En conclusion, l’utilisation d’une API REST pour chiffrer les fichiers PDF est un moyen rapide et efficace d’assurer la sécurité et la confidentialité de vos documents importants. Que vous ayez besoin d’empêcher l’édition d’un PDF ou d’ajouter une protection par mot de passe, ces méthodes offrent une solution pratique, à la fois conviviale et sécurisée. En suivant les étapes décrites dans cet article de blog, vous pouvez facilement sécuriser vos fichiers PDF et être assuré que vos précieuses informations sont protégées.

Veuillez noter que nos SDK cloud sont construits sous une licence MIT, vous pouvez donc télécharger l’extrait de code complet à partir de GitHub. De plus, nous vous recommandons vivement d’explorer le Guide du développeur pour en savoir plus sur d’autres fonctionnalités intéressantes de l’API.

Enfin, si vous rencontrez un problème ou avez une question connexe lors de l’utilisation de l’API, n’hésitez pas à nous contacter via le forum d’assistance client gratuit.

Articles Liés

Nous vous suggérons également de parcourir les articles suivants pour en savoir plus sur