Software

Che cos’è un file PEM e come viene utilizzato?

  • I file PEM non sono molto comuni, ma è meglio saperli riconoscere e sfruttarli nelle diverse circostanze in cui possono presentarsi.
  • I certificati SSL e i protocolli SSH sono uno dei suoi usi più comuni, ognuno con le proprie particolarità.

Finché lavoriamo con i computer da molto tempo, è possibile che ci imbattiamo in file i cui formati non ci sono familiari. Indipendentemente dalle circostanze in cui li abbiamo incontrati, probabilmente vorrai essere in grado di usarli al meglio delle loro capacità. Pertanto, questa volta ci concentreremo su cos’è un file PEM e su come viene utilizzato su PC, in modo da non avere più dubbi al riguardo.

La prima cosa che possiamo dire in questo senso è che PEM è un formato di file che contiene informazioni, e che molto spesso viene utilizzato per archiviare chiavi crittografiche al suo interno. La sua adozione è molto variabile nei diversi settori, e tutto dipenderà dalla struttura e dal tipo di codifica del file in questione.

Come distinguere un file PEM da un altro?

Generalmente, questi tipi di file iniziano con questa riga:

 ----- BEGIN <tipo> -----

E di nuovo di solito questi tipi di file terminano con questa riga:

 ----- FINE <tipo> -----

Quindi, tutto ciò che appare tra queste due righe, è solitamente codificato in base64, in modo che si formi un blocco di dati che può essere eseguito in altri programmi. Ogni file PEM può avere più blocchi al suo interno, quindi il loro potenziale dipenderà, a sua volta, dal contenuto di ciascuno di essi.

In altre parole, ciò significa che un file PEM può rappresentare tutti i tipi di dati anche se, come abbiamo detto all’inizio, il più delle volte viene utilizzato per codificare file chiave, come le chiavi RSA che vengono utilizzate per SSH e i certificati che vengono utilizzati per la crittografia SSL. Il tuo titolo tende ad anticipare queste informazioni.

File PEM con certificati SSL

Negli ultimi tempi, i file PEM utilizzati per archiviare i certificati SSL e le chiavi private associate hanno guadagnato molto terreno. Ci sono diversi certificati nella catena SSL completa e possiamo differenziarli:

  • Il certificato dell’utente finale, che un’autorità di certificazione assegna al tuo nome di dominio
  • Fino a quattro certificati intermedi facoltativi, assegnati alle autorità di certificazione più piccole
  • Il certificato radice, il certificato più alto della catena, che è autofirmato dall’autorità capofila del caso

In pratica, questi standard per la crittografia web sono simili a questo:

 ----- INIZIO CERTIFICATO ----- // utente finale ----- FINE CERTIFICATO ----- ----- INIZIO CERTIFICATO ----- // intermedio ----- FINE CERTIFICATO ----- ----- INIZIO CERTIFICATO ----- // radice ----- FINE CERTIFICATO -----

Non dovrebbe sorprendere che, in alcuni casi, ricevi questi file da un provider SSL per il tuo server web.

In altre occasioni, ad esempio quando hai autofirmato un certificato con OpenSSD, otterrai un file di tipo CRT e non PEM. Il contenuto e l’uso saranno gli stessi, ma cambierà il suo formato in vista.

File PEM con protocolli SSH

I file PEM vengono utilizzati anche per il protocollo SSH. Se hai mai ssh-keygen  usato ssh senza password,  ~/.ssh/id_rsa  è un file PEM. La differenza è che non hanno alcuna estensione.

In particolare, Amazon Web Services è una delle firme che ci fornisce un file PEM che contiene una chiave privata ogni volta che crea una nuova istanza. Pertanto utilizziamo le chiavi per SSH sulle nuove istanze EC2.

Se, ad un certo punto, vuoi usare la nuova chiave, dovrai usare il -i  con ssh per essere specifico, come questo

 ssh -i keyfile.pem root @ host

Ciò ti consentirà di accedere al server nel modo normale, ma dovrai cancellare il prompt ogni volta.

In questo modo, dobbiamo dire che esiste un metodo più semplice: aggiungi la chiave privata al tuo ssh-agent, in questo modo:

 ssh-add keyfile.pem

Tuttavia, dovresti sapere che questa modifica non rimane lì nei riavvii, quindi dovrai eseguire il comando all’inizio o aggiungerlo nel tuo portachiavi MacOS, in modo da non dover insistere costantemente sull’operazione.

D’altra parte, puoi aggiungere la tua chiave pubblica primaria all’istanza  ~/.ssh/authorized_keys dopo che una di esse ha effettuato l’accesso, sebbene questa non sia una soluzione sicura come le altre.

Dovresti anche bloccare ancora il servizio SSH, anche quando stai usando le chiavi da solo.

Post correlati

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba