首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何导出我的Protonmail私钥?

如何导出我的Protonmail私钥?
EN

Security用户
提问于 2017-02-11 13:45:37
回答 3查看 3.7K关注 0票数 7

来自: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”里。这个

代码语言:javascript
运行
复制
console.log("-----BEGIN PGP PRIVATE KEY B........----")

部件不输出任何东西(“.”)部分当然是经过审查的)。

所以现在..。我可以手工格式化私钥看上去像私钥,我甚至可以用“海马”导入它!我以为我赢了比赛但是..。当我试图:

代码语言:javascript
运行
复制
gpg --encrypt --sign --armor -r foobar@protonmail.ch message.txt

它要求一个GPG密钥密码。我使用密码管理器,所以我复制/粘贴我使用的邮箱密码,但是这里有一个问题:它不接受它!

问:我错过了什么?

我还通过邮件询问了scastiel,如果他回复,我会在这里发布答案,但也许其他人也知道解决方案。

在步骤“5”中,我可以看到有一个名为“KeySalt”的行。也许Protonmail在如何从童子军中引进盐之后?

Protonmail支持不会帮助导出私钥。

更新:我写了“邮箱”密码,这意味着我仍然使用带有两个密码的Protonmail :一个用于登录,一个邮箱用于“解密”。

EN

回答 3

Security用户

发布于 2017-02-11 15:42:01

我编写了关于如何导出私钥的教程。在编写时,ProtonMail没有“单一密码”身份验证的功能。您必须使用第一个密码来解锁您的帐户(您的ProtonMail密码),然后使用您的私钥密码解锁您的密钥。

如果您激活了单个密码身份验证(这可能是新帐户的默认设置),则导出私钥将不再起作用。这个密钥是根据ProtonMail密码计算的,我想,我不知道如何找到它,但是…必须有一种方法

票数 1
EN

Security用户

发布于 2017-02-21 22:56:34

ProtonMail还没有提供一种导出电子邮件的方法,比如IMAP访问或任何导出选项。这将是非常好的,对几个用法:

备份你的电子邮件,以防质子邮件服务器附近发生大规模核爆炸;如果你对ProtonMail不满意,就把你的电子邮件转移到另一家邮件提供商;等等。此外,我坚信,互联网上的每一项服务,无论它有多大,尤其是如果你为它付费,都应该很容易离开去另一家。

这仍然是可能的,但您将被迫使用无文档的ProtonMail API,继续追溯工程。这个小程序将使您的过程非常容易,虽然不是完全自动化。

当然,我希望很快就不再需要这个程序了,因为ProtonMail将提供这样一个选项:)

特性

已执行:

将您的电子邮件(解密)导出到本地EML文件,然后可以在另一个邮件客户端中导入。从收件箱、发送和档案文件夹中获取您的电子邮件。尚未执行:

导出附加文件。

安装

您需要在您的系统上安装Node.js及其软件包管理器npm。

要安装该程序,请运行以下命令:

代码语言:javascript
运行
复制
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个字母数字字符)。一旦您拥有了所有这些元素,您就可以通过运行以下命令最终导出邮件:

代码语言:javascript
运行
复制
protonmail-export -i "<session_id>" -c "<cookie>" -p <path_to_private_key_file> <output_directory>

例如,这可能如下所示(注意输出目录必须已经存在)

代码语言:javascript
运行
复制
protonmail-export -i "95bc88ea1e94e25357e12a433e9b5ee5" -c "AUTH-95bc88(...); NOTICE-ae3cce(...)=true" -p ~/private-key.txt ~/protonmail-messages

你会被要求用密码解密你的私钥。然后,您将在输出目录中为您的每个电子邮件提供一个文件。大多数邮件客户端都可以读取这些文件并将其导入现有邮箱。

票数 0
EN

Security用户

发布于 2017-05-11 19:59:27

我编写了一个小脚本,它基于MailBoxPassword和KeySalt提取私钥密码。

您只需编辑index.js文件

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/151062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档