公钥和私钥文件(.pkr、.skr)

问题描述 投票:0回答:3

我是 PGP 新手,希望在一项要求中实现加密/解密。我用谷歌搜索并决定使用博伊斯城堡算法。但是当我试图理解它时,我对如何获取 .pkr 和 .skr 文件感到困惑。我刚刚下载了所需的罐子和程序,当尝试运行时它显示找不到文件。我不知道,所以我自己创建了 .pkr 和 .skr 文件(从 .txt 转换),但我认为它应该采用某种格式,并且应该由某种机制生成。有人可以解释一下吗?我该如何继续..?

pgp
3个回答
4
投票

如果您将 PGP Desktop 与 PGP 命令行安装在同一台 Windows 计算机上,并且将 PGP Desktop 安装到默认目录,则 PGP 命令行将自动查找并使用您现有的密钥环。如果您不使用 PGP 桌面产品中的 PGP 密钥环,则需要创建空白密钥环文件。为此,请打开命令提示符并键入以下命令:

pgp --create-keyrings

这将在默认密钥环位置创建 pubring.pkr(公钥环)和 secring.skr(私钥环)文件。对于 Windows,该文件位于“我的文档”>“PGP”文件夹中。本文将使用 [ ] 来标识您需要输入的特定于您的各个按键的信息。

之后,您需要创建密钥对。要使用 PGP 命令行创建密钥对,请按照以下步骤操作:

在命令行中输入:

pgp --gen-key [user ID] --key-type [key type] --bits [bits #] --passphrase [passphrase]

注意:任何包含空格的信息都必须包含在引号内。

示例:以下示例将向您展示如何为 ACME Corp 的员工 Joe User 创建 2048 位 RSA 密钥,密码短语为“my passphrase”。

pgp --gen-key "Joe User" --key-type RSA --bits 2048 --passphrase "my passphrase"

PGP 命令行现在将生成您的密钥对。您应该会看到您的密钥 ID(即 0X12345678)以及密钥已成功生成的消息。

注意:要显示您的新密钥对,请输入以下命令:

pgp --list-keys

这将显示您钥匙圈上找到的所有钥匙。

生成并识别密钥对后,导出密钥对的公共部分(公钥)非常重要,以便其他人可以导入您的公钥并向您加密。注意:将公钥导出到文件后,就可以轻松分发。例如,您可以将其附加到电子邮件、将公钥块文本粘贴到电子邮件正文中(使用记事本打开)或复制到 CD。要导出您的公钥,您需要拥有有关密钥的信息才能识别它,这在本文档中称为(输入)。您可以使用密钥 ID(即 0x12345678)、用户 ID(即“Joe User”)或用户 ID 的一部分(即 Joe)。要导出密钥,请执行以下操作:

pgp --export (input)

PGP 命令行通过将密钥作为 ASCII 装甲 (.asc) 文件导出到命令行上当前活动的目录中来进行响应。

以下示例将向您展示如何使用您的密钥 ID 和用户 ID 导出您的公钥。

pgp --export 0x12345678
pgp --export "Joe User"

您可以从 ASCII Armor 文件 (.asc) 或文本文件导入公钥,两者的过程相同。包含要导入的密钥的文件必须位于当前目录中。与导出密钥一样,这在示例中将被称为(输入)。如果文件中存在公钥和私钥,则将导入它们。如果导入的密钥已存在于本地密钥环中,则这些密钥将被合并。从文件导入密钥:

pgp --import (input)

PGP 命令行响应如下: Joe User.asc:import key {0:keyimported as 0x12345678 Joe User}

以下示例将向您展示如何从 ASCII Armor 文件 (.asc) 和包含 PGP 密钥块的文本文件导入密钥。

pgp --import "Joe User.asc"
pgp --import "PGP Joe.txt"

0
投票

这些文件分别是公共和私有(OpenPGP 术语中的秘密)密钥环。它们包含公钥和私钥的集合。您通常会生成一个密钥对(一对公钥和私钥)或多个密钥对供自己使用,其他人也这样做。然后他们可以给您他们的public密钥,您可以根据这些密钥创建一个公钥环。然后,公钥环用于加密接收者的数据或验证其他人的 daa 签名。

私钥环由您生成的私钥组成。您使用私钥环来签名您的数据,并且您可以将相应的公钥提供给其他人,以便他们可以为您加密数据(然后您使用私钥解密)。

我相信BouncyCastle有密钥生成功能,或者您可以使用GnuPG应用程序或PGP Desktop来生成密钥。


0
投票

您可以查看 BouncyCastle 库附带的 OpenPGP 密钥生成示例。

他们位于:

[充气城堡源]\src\org ouncycastle\openpgp xamples\RSAKeyPairGenerator.java

[充气城堡源]\src\org ouncycastle\openpgp xamples\DSAElGamalKeyRingGenerator.java

使用按键的示例代码可以在以下位置找到:

[充气城堡源]\src\org ouncycastle\openpgp xamples\KeyBasedFileProcessor.java

© www.soinside.com 2019 - 2024. All rights reserved.