来自:https://github.com/scastiel/protonmail-export
1)打开ProtonMail应用程序,完全退出。现在您应该可以看到登录屏幕。2)打开浏览器的dev tools和Network选项卡,查看所有网络调用。3)输入您的用户名和密码并单击“登录”按钮。你不需要走得更远。4)在网络调用中,查找到“/api/auth”。可能有几个,一定要选择一个使用“POST”请求方法,而不是“删除”方法(它不包含任何信息)。5)在此网络调用中,打开Response选项卡,查看从服务器返回的原始数据,找到以“PrivateKey”开头的行,并复制行的其余部分,从“-开始使用PGP私钥到最后一个",而不需要后面的逗号。6)打开dev tools的Console选项卡,输入console.log(<粘贴复制的内容HERE>),然后按enter键。7)复制命令的结果,并将其放入文本文件中,这就是您的私钥!
但我被困在了“6”里。这个
console.log("-----BEGIN PGP PRIVATE KEY B........----")部件不输出任何东西(“.”)部分当然是经过审查的)。
所以现在..。我可以手工格式化私钥看上去像私钥,我甚至可以用“海马”导入它!我以为我赢了比赛但是..。当我试图:
gpg --encrypt --sign --armor -r foobar@protonmail.ch message.txt它要求一个GPG密钥密码。我使用密码管理器,所以我复制/粘贴我使用的邮箱密码,但是这里有一个问题:它不接受它!
问:我错过了什么?
我还通过邮件询问了scastiel,如果他回复,我会在这里发布答案,但也许其他人也知道解决方案。
在步骤“5”中,我可以看到有一个名为“KeySalt”的行。也许Protonmail在如何从童子军中引进盐之后?
Protonmail支持不会帮助导出私钥。
更新:我写了“邮箱”密码,这意味着我仍然使用带有两个密码的Protonmail :一个用于登录,一个邮箱用于“解密”。
发布于 2017-02-11 15:42:01
我编写了关于如何导出私钥的教程。在编写时,ProtonMail没有“单一密码”身份验证的功能。您必须使用第一个密码来解锁您的帐户(您的ProtonMail密码),然后使用您的私钥密码解锁您的密钥。
如果您激活了单个密码身份验证(这可能是新帐户的默认设置),则导出私钥将不再起作用。这个密钥是根据ProtonMail密码计算的,我想,我不知道如何找到它,但是…必须有一种方法
发布于 2017-02-21 22:56:34
ProtonMail还没有提供一种导出电子邮件的方法,比如IMAP访问或任何导出选项。这将是非常好的,对几个用法:
备份你的电子邮件,以防质子邮件服务器附近发生大规模核爆炸;如果你对ProtonMail不满意,就把你的电子邮件转移到另一家邮件提供商;等等。此外,我坚信,互联网上的每一项服务,无论它有多大,尤其是如果你为它付费,都应该很容易离开去另一家。
这仍然是可能的,但您将被迫使用无文档的ProtonMail API,继续追溯工程。这个小程序将使您的过程非常容易,虽然不是完全自动化。
当然,我希望很快就不再需要这个程序了,因为ProtonMail将提供这样一个选项:)
特性
已执行:
将您的电子邮件(解密)导出到本地EML文件,然后可以在另一个邮件客户端中导入。从收件箱、发送和档案文件夹中获取您的电子邮件。尚未执行:
导出附加文件。
安装
您需要在您的系统上安装Node.js及其软件包管理器npm。
要安装该程序,请运行以下命令:
npm install -g protonmail-export如何下载您的ProtonMail私钥?
ProtonMail在其服务器上存储您私钥的加密版本。您可以从帐户的“设置”窗格下载您的公钥;不幸的是,您无法下载您的私钥。好消息是:使用浏览器的开发工具可以很容易地找到它。下面是操作步骤:
1.打开ProtonMail应用程序,完全退出。现在您应该可以看到登录屏幕。
2.打开浏览器的dev tools和Network选项卡,查看所有网络调用。
3.输入您的用户名和密码并单击“登录”按钮。你不需要走得更远。
4.在网络调用中,查找到“/api/auth”的一个。可能有几个,一定要选择一个使用“POST”请求方法,而不是“删除”方法(它不包含任何信息)。
5.在此网络调用中,打开Response选项卡,查看从服务器返回的原始数据,查找以"PrivateKey":开头的行,并将行的其余部分从"-----BEGIN PGP PRIVATE KEY复制到最后一行",不使用后缀逗号。
6.打开开发工具的Console选项卡,键入console.log(<PASTE THE COPIED CONTENT HERE>),然后按enter键。
7.复制命令的结果,并将其放入文本文件,这就是您的私钥!
请注意,私钥是用ProtonMail帐户的秘密密码(登录后输入的密码,第二个密码)加密的。所以,如果有人偷了你的邮件,你现在拥有的私钥不足以解密它;但是,要设法把它保存在安全的地方;)
如何出口你的电子邮件?
首先,您需要几个元素:
例如,让我们将.Your ProtonMail的帐户私钥(见下面的附录)放在一个名为Privy-key.txt的文件中。
.The密码用于加密此私钥(即您在登录时输入的第二个密码)。
.Some有关在ProtonMail上打开的会话的技术信息。让我们把最后一点提到的信息。
注意:这些说明是针对Chrome/Chromium浏览器的,但是对于其他浏览器来说,这不应该有太大的不同。
首先用ProtonMail的帐户打开一个新的会话,并确保您的浏览器开发工具是打开的。如果它们在页面加载时没有打开,只需打开它们并重新加载页面。
2-在开发工具的Network选项卡中,找到对/api/users的调用,更具体地说,定位到该调用的Request部分。
复制粘贴这两个标题的值: Cookie (以“AUTH-”开头)和x会话(32个字母数字字符)。一旦您拥有了所有这些元素,您就可以通过运行以下命令最终导出邮件:
protonmail-export -i "<session_id>" -c "<cookie>" -p <path_to_private_key_file> <output_directory>例如,这可能如下所示(注意输出目录必须已经存在)
protonmail-export -i "95bc88ea1e94e25357e12a433e9b5ee5" -c "AUTH-95bc88(...); NOTICE-ae3cce(...)=true" -p ~/private-key.txt ~/protonmail-messages你会被要求用密码解密你的私钥。然后,您将在输出目录中为您的每个电子邮件提供一个文件。大多数邮件客户端都可以读取这些文件并将其导入现有邮箱。
发布于 2017-05-11 19:59:27
我编写了一个小脚本,它基于MailBoxPassword和KeySalt提取私钥密码。
您只需编辑index.js文件
https://security.stackexchange.com/questions/151062
复制相似问题