Crypter les fichiers PDF

Le chiffrement est une approche célèbre et fiable pour protéger le contenu des documents PDF. Lorsqu’un document est chiffré, son contenu devient illisible et seuls les utilisateurs autorisés peuvent le déchiffrer pour accéder à son contenu. Lorsque vous protégez des documents avec un mot de passe, les personnes qui saisissent le mot de passe correct peuvent accéder au fichier ou au dossier. Une méthode de sécurité plus puissante est le chiffrement, les types courants étant le chiffrement par clé 128 bits ou le chiffrement AES 256 bits. Veuillez noter que le chiffrement transforme le contenu du document en texte chiffré illisible. Pour déchiffrer le document, les utilisateurs autorisés ont besoin d’une clé, qui est généralement un mot de passe ou un certificat numérique. Dans cet article, nous allons discuter des détails sur la façon de chiffrer et de déchiffrer des fichiers PDF à l’aide de Java cloud SDK.

Dans ce blog, nous allons discuter des étapes et des détails relatifs au cryptage et au décryptage des documents PDF à l’aide de l’API REST Java.

API REST Java

Aspose.PDF Cloud SDK for Java est un wrapper autour d’Aspose.PDF Cloud qui permet aux programmeurs Java de profiter pleinement des fonctionnalités actuellement proposées dans notre API Cloud. Ainsi, directement dans votre code Java, vous obtenez les capacités de créer, de modifier et de transformer des fichiers PDF en divers formats de documents pris en charge.

Installation

Pour utiliser le SDK, la première étape consiste à l’installer sur votre système. Le SDK Cloud est disponible en téléchargement sur Maven et GitHub. Ajoutez maintenant les détails suivants dans votre fichier pom.xml pour télécharger et utiliser Aspose.Pdf.jar dans le projet de build Maven.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

Nous vous recommandons également de visiter le lien suivant pour obtenir des informations détaillées sur Comment installer les SDK Aspose.Cloud.

Abonnement gratuit à Cloud Dashboard

Aspose.PDF Cloud SDK For Java est un SDK Cloud open source gratuit pour le traitement de fichiers PDF. Lorsque nous mentionnons gratuit, cela signifie que le code source complet du SDK est disponible en téléchargement sur le référentiel GitHub. Vous pouvez donc modifier son code selon vos besoins. Mais, afin de garantir la confidentialité et l’intégrité des données, les API Cloud ne sont accessibles qu’aux personnes autorisées et elles n’accèdent qu’à leur stockage cloud particulier.

Vous devez donc d’abord accéder au tableau de bord Aspose.Cloud et si vous avez un compte GitHub ou Google, inscrivez-vous simplement. Sinon, cliquez sur le bouton Créer un nouveau compte et fournissez les informations requises.

Crypter un fichier PDF à l’aide de la commande cURL

Les commandes cURL sont l’un des moyens les plus simples et les plus intéressants d’accéder aux API REST. Parlons donc de l’ajout des différentes annotations à l’aide des commandes cURL. Ainsi, pour utiliser les commandes cURL, nous devons d’abord générer un jeton d’autorisation d’accès JWT. Le jeton Web JSON (JWT) est basé sur les détails de l’ID client et du secret client, qui sont des clés uniques générées pour chaque client. Connectez-vous donc au tableau de bord Aspose.Cloud à l’aide de vos informations d’identification et développez la section Applications du tableau de bord et faites défiler vers le bas jusqu’à la section Informations d’identification du client pour voir les détails de l’ID client et du secret client.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Avant de continuer, veuillez noter que lorsque nous cryptons les fichiers PDF, nous définissons des mots de passe d’utilisateur et de propriétaire.

Mot de passe d’ouverture du 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 d’autorisation

Un mot de passe d’autorisation (également appelé mot de passe principal/propriétaire) est requis pour modifier les paramètres d’autorisation. En utilisant le mot de passe d’autorisation, vous pouvez restreindre l’impression, la modification et la copie du contenu du 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 des mots de passe.

Veuillez noter que l’API accepte les mots de passe du propriétaire et de l’utilisateur au format codé en Base64. Dans la commande cURL suivante, le mot de passe du propriétaire (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) et le mot de passe de l’utilisateur (dXNlciAkXlBhc3N3b3JkISY=) sont spécifiés.

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

Crypter un fichier PDF à l’aide de Java

Nous n’ajoutons pas simplement une protection par mot de passe aux fichiers PDF, mais nous utilisons une méthode de sécurité plus forte : le cryptage. L’API REST Java vous permet de sélectionner l’une des méthodes de cryptage suivantes, qui transforment le contenu du document en texte chiffré illisible.

| Nom | Description |

| ———— | ———————– |

| RC4x40 | RC4 avec longueur de clé 40. |

| RC4x128 | RC4 avec longueur de clé 128. |

| AESx128 | AES avec une longueur de clé de 128. |

| AESx256 | AES avec une longueur de clé de 256. |

Utilisez l’extrait de code suivant pour ajouter userPassword et ownerPassword aux fichiers PDF déjà disponibles sur le stockage cloud.

  • La première étape consiste à créer une instance PdfApi tout en transmettant les détails clientID et clientSecret comme arguments.
  • Téléchargez le fichier PDF sur le stockage cloud à l’aide de la méthode uploadFile(…) de PdfApi.
  • Enfin, appelez la méthode postEncryptDocumentInStorage(…) de PdfApi qui prend le nom du fichier PDF d’entrée, les mots de passe de l’utilisateur et du propriétaire et une valeur de l’énumération CryptoAlgorithm comme arguments.
// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String name = "PdfWithTable.pdf";	        
			   
// Charger le fichier à partir du système local
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// télécharger le fichier sur le stockage cloud
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// mots de passe utilisateur et propriétaire codés en base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// appeler l'API pour crypter le PDF
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// Imprimer la réponse de l'API dans la console
System.out.println(response);

Lorsque vous essayez d’ouvrir le fichier résultant, une invite pour fournir les détails du mot de passe apparaît.

Décrypter le fichier PDF à l’aide de la commande cURL

La commande cURL peut également être utilisée pour décrypter un document PDF codé existant. Dans l’exemple ci-dessous, l’API PostDecryptDocumentInStorage est utilisée et prend les détails du mot de passe comme argument.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/decrypt?password=dXNlciAkXlBhc3N3b3JkISY%3D" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Décrypter un fichier PDF à l’aide de Java

Afin de décrypter les fichiers PDF à l’aide de Java, veuillez suivre les étapes expliquées ci-dessous

  • Créez une instance PdfApi en passant clientSecret et clientID comme arguments.
  • Créer un objet chaîne définissant le fichier PDF d’entrée.
  • Téléchargez le fichier vers le stockage cloud à l’aide de la méthode uploadFile(….) de la classe PdfApi.
  • Enfin, appelez la méthode postDecryptDocumentInStorage(…) tout en fournissant le nom du fichier PDF d’entrée et le mot de passe de décryptage comme arguments.
// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String name = "PdfWithTable.pdf";	        
			   
// Charger le fichier à partir du système local
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// télécharger le fichier sur le stockage cloud
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// mots de passe utilisateur et propriétaire codés en base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// appeler l'API pour décrypter le PDF
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// Imprimer la réponse de l'API dans la console
System.out.println(response);

Le fichier décrypté utilisé dans l’exemple ci-dessus peut être téléchargé à partir de PdfWithTable-Encrypted.pdf.

Conclusion

Dans ce blog, nous avons discuté des étapes à suivre pour crypter et décrypter des fichiers PDF à l’aide de l’API REST Java. Vous pouvez facilement crypter vos fichiers sources et les partager sur Internet sans craindre le vol de données ou l’utilisation abusive des documents. Outre les fonctionnalités de cryptage, le SDK Cloud Aspose.PDF for Java fournit une multitude de fonctionnalités liées au format PDF. Vous pouvez envisager de visiter le lien suivant pour plus de détails sur les fonctionnalités d’Aspose.PDF Cloud.

Articles connexes

Nous vous recommandons également de lire le blog suivant pour obtenir des informations sur