Crittografare i file PDF

La crittografia è un approccio famoso e affidabile per proteggere il contenuto dei documenti PDF. Quando un documento viene crittografato, il suo contenuto diventa illeggibile e solo gli utenti autorizzati possono decrittografarlo per ottenere l’accesso al contenuto. Quando proteggi i documenti con una password, le persone che inseriscono la password corretta possono accedere al file o alla cartella. Un metodo di sicurezza più forte è la crittografia, con tipi comuni di crittografia a chiave a 128 bit o AES a 256 bit. Si noti che la crittografia trasforma il contenuto del documento in testo cifrato illeggibile. Per decrittografare il documento, gli utenti autorizzati hanno bisogno di una chiave, che in genere è una password o un certificato digitale. In questo articolo, discuteremo i dettagli su come crittografare e decrittografare i file PDF utilizzando Java cloud SDK.

In questo blog parleremo dei passaggi e dei dettagli relativi alla crittografia e alla decrittografia dei documenti PDF utilizzando Java REST API.

API REST Java

Aspose.PDF Cloud SDK per Java è un wrapper attorno ad Aspose.PDF Cloud che consente ai programmatori Java di sfruttare appieno le funzionalità attualmente offerte nella nostra Cloud API. Quindi, direttamente all’interno del tuo codice Java, ottieni le capacità di creare, modificare e trasformare file PDF in vari Supported Document Formats.

Installazione

Per utilizzare l’SDK, il primo passo è installarlo sul tuo sistema. Il Cloud SDK è disponibile per il download su Maven e GitHub. Ora aggiungi i seguenti dettagli nel tuo file pom.xml per scaricare e utilizzare Aspose.Pdf.jar nel progetto di 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>

Ti consigliamo inoltre di visitare il seguente link per informazioni dettagliate su Come installare gli SDK di Aspose.Cloud.

Abbonamento gratuito a Cloud Dashboard

Aspose.PDF Cloud SDK For Java è un Cloud SDK open source gratuito per l’elaborazione di file PDF. Quando parliamo di gratuito, intendiamo che il codice sorgente completo dell’SDK è disponibile per il download sul repository GitHub. Quindi puoi modificarne il codice in base alle tue esigenze. Tuttavia, per garantire la riservatezza e l’integrità dei dati, le Cloud API sono accessibili solo alle persone autorizzate e queste accedono solo al loro particolare archivio cloud.

Pertanto, devi prima visitare Aspose.Cloud dashboard e se hai un account GitHub o Google, semplicemente Registrati. Altrimenti, clicca sul pulsante Crea un nuovo account e fornisci le informazioni richieste.

Crittografare file PDF utilizzando il comando cURL

I comandi cURL sono uno dei modi più semplici e interessanti per accedere alle API REST. Quindi parliamo di come aggiungere le diverse annotazioni usando i comandi cURL. Quindi, per usare i comandi cURL, dobbiamo prima generare un token di autorizzazione di accesso JWT. Il JSON Web Token (JWT) si basa sui dettagli di Client ID e Client Secret, che sono chiavi univoche generate per ogni cliente. Quindi, accedi alla dashboard Aspose.Cloud usando le tue credenziali ed espandi la sezione Applicazioni dalla dashboard e scorri verso il basso verso la sezione Credenziali client per vedere i dettagli di Client ID e Client Secret.

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"

Prima di procedere oltre, tieni presente che quando crittografiamo i file PDF, impostiamo le password utente e proprietario.

Password di apertura del documento

Una password di apertura documento (nota anche come password utente) richiede all’utente di digitare una password per aprire il PDF.

Password di autorizzazione

La password di autorizzazione (nota anche come password master/owner) è richiesta per modificare le impostazioni di autorizzazione. Utilizzando la password di autorizzazione, puoi limitare la stampa, la modifica e la copia del contenuto nel PDF. Questa password è richiesta per modificare le restrizioni che hai già applicato.

Se il PDF è protetto con entrambi i tipi di password, può essere aperto con entrambe le password.

Si prega di notare che l’API accetta le password del proprietario e dell’utente in formato codificato Base64. Nel seguente comando cURL, vengono specificate ownerPassword (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) e userPassword (dXNlciAkXlBhc3N3b3JkISY=).

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>"

Crittografare file PDF utilizzando Java

Non aggiungiamo semplicemente la protezione tramite password ai file PDF, ma utilizziamo un metodo di sicurezza più forte: la crittografia. La Java REST API consente di selezionare uno dei seguenti metodi di crittografia, che trasformano il contenuto del documento in testo cifrato illeggibile.

| Nome | Descrizione |

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

| RC4x40 | RC4 con lunghezza chiave 40. |

| RC4x128 | RC4 con lunghezza chiave 128. |

| AESx128 | AES con lunghezza chiave 128. |

| AESx256 | AES con lunghezza chiave 256. |

Utilizzare il seguente frammento di codice per aggiungere userPassword e ownerPassword ai file PDF già disponibili nell’archiviazione cloud.

  • Il primo passo è creare un’istanza di PdfApi passando i dettagli clientID e clientSecret come argomenti.
  • Carica il file PDF sullo storage cloud utilizzando il metodo uploadFile(…) di PdfApi.
  • Infine, chiama il metodo postEncryptDocumentInStorage(…) di PdfApi che accetta come argomenti il nome del file PDF in input, le password dell’utente e del proprietario e un valore dall’enumerazione CryptoAlgorithm.
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String name = "PdfWithTable.pdf";	        
			   
// Carica il file dal sistema locale
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// caricare il file sullo storage cloud
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// password utente e proprietario codificate in base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&
String ownerPasswordBase64encoded = "b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm"; //owner\//? $12^Password!&

// chiama API per crittografare PDF
AsposeResponse response  = pdfApi.postEncryptDocumentInStorage(name, userPasswordBase64encoded, ownerPasswordBase64encoded,
			                CryptoAlgorithm.AESX128.getValue(), null, null, null, null);
// Stampa la risposta API nella console
System.out.println(response);

Quando proverai ad aprire il file risultante, apparirà una richiesta per inserire i dettagli della password.

Decrittografare file PDF tramite comando cURL

Il comando cURL può anche essere utilizzato per decifrare un documento PDF codificato esistente. Nell’esempio riportato di seguito, si accede all’API PostDecryptDocumentInStorage che accetta i dettagli della password come argomento.

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>"

Decrittografare file PDF utilizzando Java

Per decifrare i file PDF utilizzando Java, seguire i passaggi spiegati di seguito

  • Crea un’istanza di PdfApi passando clientSecret e clientID come argomenti.
  • Crea un oggetto stringa che definisce il file PDF di input.
  • Carica il file sullo storage cloud utilizzando il metodo uploadFile(….) della classe PdfApi.
  • Infine, chiama il metodo postDecryptDocumentInStorage(…) fornendo come argomenti il nome del file PDF di input e la password di decrittazione.
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// crea istanzaPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF di input
String name = "PdfWithTable.pdf";	        
			   
// Carica il file dal sistema locale
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// caricare il file sullo storage cloud
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// password utente e proprietario codificate in base64
String userPasswordBase64encoded = "dXNlciAkXlBhc3N3b3JkISY="; //user $^Password!&

// chiama API per decifrare PDF
AsposeResponse response  = pdfApi.postDecryptDocumentInStorage(name, userPasswordBase64encoded, null,null);
// Stampa la risposta API nella console
System.out.println(response);

Il file decriptato utilizzato nell’esempio precedente può essere scaricato da PdfWithTable-Encrypted.pdf.

Conclusione

In questo blog, abbiamo discusso i passaggi su come crittografare e decrittografare file PDF utilizzando Java REST API. Puoi facilmente crittografare i tuoi file sorgente e condividerli su Internet senza alcun timore di furto di dati o uso improprio dei documenti. Oltre alle funzionalità di crittografia, Aspose.PDF Cloud SDK per Java fornisce una pletora di funzionalità relative al formato PDF. Puoi prendere in considerazione la visita al seguente collegamento per ulteriori dettagli sulle funzionalità di Aspose.PDF Cloud.

Articoli correlati

Ti consigliamo inoltre di leggere il seguente blog per informazioni su