Come esportare la mia chiave privata Protonmail?

7

Da: link

1) Open the ProtonMail app and log out completely. You should now see the login screen.

2) Open the dev tools of your browser, and the Network tab to see all network calls.

3) Enter your username and password and click Login button. You won't need to go further.

4) In the network calls, find the one to “/api/auth”. There may be several ones, be sure to pick the one with “POST” request method, not the “DELETE” one (which doesn't contain any info anyway).

5) In this network call, open the Response tab to see raw data returned from the server, find the line beginning with "PrivateKey":, and copy the rest of the line, from "-----BEGIN PGP PRIVATE KEY to the last ", without the trailing comma.

6) Open the Console tab of the dev tools, type console.log(<PASTE THE COPIED CONTENT HERE>) then press enter.

7) Copy the result of the command, and put it into a text file, that's it you have your private key!

Ma sono bloccato a "6)". Il

console.log("-----BEGIN PGP PRIVATE KEY B........----")

la parte non produce nulla (la parte "...." è ovviamente censurata).

Quindi ora .. Posso formattare a mano la chiave privata per sembrare una chiave privata, posso persino importarla con "cavalluccio marino"! Pensavo di aver vinto il gioco, ma ... quando provo a:

gpg --encrypt --sign --armor -r [email protected] message.txt

Richiede una password per la chiave GPG. Uso un gestore di password, quindi copio / incolli la password MAILBOX che utilizzo, ma qui c'è il trucco: non lo accetta!

Domanda: Cosa mi manca?

Ho anche chiesto a Scastiel via mail, postando la risposta qui se risponde, ma forse qualcun altro conosce anche la soluzione.

Nel passaggio "5)" Vedo che c'è una linea chiamata "KeySalt" .. forse Protonmail introduce sale dopo l'howto di Scastiel?

Il supporto di Protonmail non aiuta ad esportare le chiavi private.

AGGIORNAMENTO : Ho scritto la password "MAILBOX", il che significa che utilizzo ancora Protonmail con due password: una per l'accesso e una casella postale pw per la "decrittografia".

    
posta PeterHarant 11.02.2017 - 14:45
fonte

5 risposte

4

La password per la tua chiave privata è ora il valore hash della tua password della casella di posta (se stai utilizzando 2 password) o della tua password di accesso (se si utilizza solo una password). Ora devi anche ottenere il valore KeySalt e usare bcrypt per ottenere il valore hash.

Ho seguito i passaggi elencati qui per scaricare la password della mia chiave privata utilizzando Firefox: link

  1. Login to ProtonMail
  2. Get the salt value from the same cookie response as the GPG private key:
  3. Switch to the console tab in the developer options
  4. Run the following, but replace < LOGIN PASSWORD OR MAILBOX PASSWORD > and < KEYSALT FROM STEP 2 > with their corresponding values: password = "<LOGIN PASSWORD OR MAILBOX PASSWORD>"; salt ="<KEYSALT FROM STEP 2>"; saltBinary = pmcrypto.binaryStringToArray(pmcrypto.decode_base64(salt)); keySalt = dcodeIO.bcrypt.encodeBase64(saltBinary, 16); bcryptKey = dcodeIO.bcrypt.hashSync(password, '$2y$10$' + keySalt); key = bcryptKey.slice(29); console.log(key);
  5. The console output is the password for your private key
    
risposta data 29.11.2017 - 15:59
fonte
1

Ho scritto questo tutorial su come esportare la tua chiave privata. Al momento in cui è stato scritto ProtonMail non aveva la funzionalità di autenticazione "password singola". Dovevi usare una prima password per sbloccare il tuo account (la tua password ProtonMail), quindi la tua password della chiave privata per sbloccare la tua chiave.

Suppongo che esportare la chiave privata non funzioni più se hai attivato l'autenticazione con password singola (che potrebbe essere l'impostazione predefinita per i nuovi account). Questa chiave è calcolata dalla password di ProtonMail, immagino, non so come trovarla, ma ci deve essere un modo ...

    
risposta data 11.02.2017 - 16:42
fonte
1

Se utilizzi la modalità due password, questa operazione dovrebbe comunque funzionare.

Se si utilizza la modalità password singola, la password della chiave privata non è la password di accesso. Se vuoi, puoi vedere come viene generato qui: link

Fondamentalmente la password di accesso e il sale restituito dal server vengono sottoposti a hash utilizzando bcrypt. Il risultato è la password della chiave privata.

MODIFICA: anche se utilizzi due modalità password, la password della tua casella di posta è cancellata con bcrypt, proprio come la modalità password singola.

    
risposta data 12.02.2017 - 11:12
fonte
0

ProtonMail non fornisce (ancora) un modo per esportare le tue e-mail, come un accesso IMAP o qualsiasi opzione di esportazione. Sarebbe molto bello, per diversi usi:

fai il backup delle tue e-mail, in caso di una massiccia esplosione nucleare vicino ai server di ProtonMail; sposta le tue e-mail a un altro fornitore di posta se non sei soddisfatto di ProtonMail; eccetera. Inoltre, credo fermamente che ogni servizio su Internet, non importa quanto sia grande, e soprattutto se si paga, dovrebbe essere facile partire per un altro.

È ancora possibile, ma sarai costretto a utilizzare l'API ProtonMail non documentata, procedendo con la retro-ingegnerizzazione. Questo piccolo programma renderà il processo molto più semplice per te, anche se non completamente automatizzato.

Naturalmente, spero che molto presto questo programma non sarà più necessario perché ProtonMail fornirà questa opzione:)

Caratteristiche

Implemented:

Esporta i tuoi messaggi di posta elettronica (decrittografati) in file EML locali che puoi quindi importare in un altro client di posta. Recupera le tue e-mail dalla cartella Posta in arrivo, Inviati e Archivi. Non ancora implementato:

Esporta file allegati.

Installazione

Avrai bisogno di avere Node.js installato sul tuo sistema, con il suo gestore di pacchetti npm.

Per installare il programma, eseguire il seguente comando:

npm install -g protonmail-export

Come scaricare la chiave privata ProtonMail?

ProtonMail memorizza una versione crittografata della tua chiave privata sui suoi server. Dal pannello delle impostazioni del tuo account puoi scaricare la tua chiave pubblica; sfortunatamente non puoi scaricare la tua chiave privata. La buona notizia: puoi trovarla molto facilmente utilizzando gli strumenti di sviluppo del tuo browser. Ecco come:

1.Aprire l'app ProtonMail e disconnettersi completamente. Ora dovresti vedere la schermata di accesso.

2.Apri gli strumenti di sviluppo del tuo browser e la scheda Rete per vedere tutte le chiamate di rete.

3. Immettere nome utente e password e fare clic sul pulsante Accedi. Non dovrai andare oltre.

4.Nelle chiamate di rete, trovare quella su "/ api / auth". Ce ne possono essere diversi, assicurati di scegliere quello con il metodo di richiesta "POST", non quello "DELETE" (che comunque non contiene alcuna informazione).

5.In questa chiamata di rete, apri la scheda Response per vedere i dati grezzi restituiti dal server, trova la riga che inizia con "PrivateKey": e copia il resto della riga, da "-----BEGIN PGP PRIVATE KEY all'ultimo ", senza la virgola finale.

6.Aprire la scheda Console degli strumenti di sviluppo, digitare console.log(<PASTE THE COPIED CONTENT HERE>) , quindi premere invio.

7. Copia il risultato del comando e inseriscilo in un file di testo, questo è il caso in cui hai la tua chiave privata!

Si noti che la chiave privata è crittografata con la passphrase segreta dell'account di ProtonMail (quella che si inserisce dopo l'accesso, la seconda password). Quindi la chiave privata che hai ora non è sufficiente per decifrare la tua posta se qualcuno la ruba; comunque prova a tenerlo da qualche parte sicuro;)

Come esportare le tue e-mail?

Per prima cosa ti serviranno diversi elementi:

. La chiave privata dell'account di ProtonMail (vedi l'appendice sotto), inseriamo per esempio un file chiamato private-key.txt.

. La passphrase utilizzata per crittografare questa chiave privata (ovvero la seconda password immessa durante l'accesso).

. Alcune informazioni tecniche su una sessione aperta su ProtonMail. Prendiamo le informazioni menzionate nell'ultimo punto.

Nota: queste istruzioni sono per il browser Chrome / Chromium, ma questo non dovrebbe essere molto diverso per altri browser.

1-Prima di tutto aprire una nuova sessione con l'account di ProtonMail e assicurarsi che gli strumenti di sviluppo del browser siano aperti. Se non erano aperti al caricamento della pagina, basta aprirli e ricaricare la pagina.

2-Nella scheda Rete degli strumenti di sviluppo, individuare la chiamata a / api / URL degli utenti e in particolare la sezione Intestazioni richieste per questa chiamata.

3-Copia-incolla da qualche parte il valore di queste due intestazioni: Cookie (inizia con "AUTH-") e x-pm-session (32 caratteri alfanumerici). Una volta che hai tutti questi elementi, puoi finalmente esportare i tuoi messaggi eseguendo il comando:

protonmail-export -i "<session_id>" -c "<cookie>" -p <path_to_private_key_file> <output_directory>

Ad esempio questo potrebbe assomigliare a questo: (nota che la directory di output deve già esistere)

protonmail-export -i "95bc88ea1e94e25357e12a433e9b5ee5" -c "AUTH-95bc88(...); NOTICE-ae3cce(...)=true" -p ~/private-key.txt ~/protonmail-messages

Ti verrà chiesta la passphrase per decrittografare la tua chiave privata. Quindi otterrai nella directory di output un file per ciascuna e-mail. È possibile con la maggior parte dei client di posta leggere e importare questi file in una cassetta postale esistente.

    
risposta data 21.02.2017 - 23:56
fonte
0

Ho scritto un piccolo script che estrae la passphrase della chiave privata basata su MailBoxPassword e KeySalt.

Devi solo modificare il file index.js

    
risposta data 11.05.2017 - 21:59
fonte

Leggi altre domande sui tag