密钥库专用PGP密钥导出失败,但是解密按预期进行。那么我的私钥在哪里?

时间:2019-02-21 22:31:00

标签: pgp keybase

我使用Keybase,我想导出我的私人PGP密钥,但我不知道它在哪里。

使用 public void LoadData() { gvApplicants.DataSource = GetApplicants(); gvApplicants.DataBind(); } private List<ASF.Raffle.Entity.Staff> GetApplicants() { ASF.Raffle.BO.Staff dbCandidatos = new ASF.Raffle.BO.Staff(); List<ASF.Raffle.Entity.Staff> candidatos; List<ASF.Raffle.Entity.Staff> candidatosFiltered = new List<ASF.Raffle.Entity.Staff>(); //primero filtro activos e inactivos. return candidatos = dbCandidatos.GetAll(); } protected string GetOpciones(string username) { ASF.Raffle.BO.Staff usr = new ASF.Raffle.BO.Staff(); ASF.Raffle.Entity.Staff u = usr.GetByUsername(username); return usr.getAllOptions(u.Username); } public List<Entity.Staff> GetAll() { List<Entity.Staff> empleados = new List<Entity.Staff>(); //SQL Command para llamar el stored procedure SqlCommand comando = new SqlCommand("dbo.[Empleados_GetAll]", base.Db); //Ejecuta consulta DataTable dtItem = base.Execute(comando); //Transforma el Datatable en una lista de ResponsableFinancieros. foreach (DataRow dr in dtItem.Rows) empleados.Add(GetFromDataRow(dr)); return empleados; } 进行加密和解密可与往来于其他人的消息一起正常工作,但是keybase pgp [encrypt|decrypt]keybase都不知道我的私钥在哪里:

gpg
$ keybase pgp push-private --all
ERROR No secret key found for fingerprint
$ keybase pgp pull-private --all
ERROR .keys doesn't exist

鉴于此信息,我如何确定我的私钥在哪里并导出?我正在使用macOS。

1 个答案:

答案 0 :(得分:0)

遇到了同样的问题,并在这里找到了答案:https://daniellemarco.nl/wp/2019/04/19/pretty-good-privacy-with-keybase-io/

步骤:

请确保在高级设置中禁用了已禁用与您的keybase.io帐户关联的设备中的“ 禁止从网站更改帐户”选项。通过禁用此选项,可以在keybase.io站点上启用更多可能性。其中之一是导出您的私钥。

在设备上禁用此选项后,请访问keybase.io网站并访问您的个人资料页面。在公钥签名的后面找到“编辑”链接。选择编辑链接,您将获得导出私钥的选项。将其保存到文件中,然后可以使用以下命令导入它:

gpg2 --allow-secret-key-import --import PrivateKeyFile

还将您的公共密钥保存到文件中。并使用以下命令导入该文件。

gpg2 --import PublicKeyFile

这将用GnuPG替换PGP密钥对的生成,并导入keybase.io密钥对。 最后,您应该信任您的密钥。

gpg2 --edit-key KeyId

,然后依次是trustsave