PGP 密钥服务器和 Bouncy Castle OpenPGP API Java

Vik*_*tor 2 java bouncycastle gnupg pgp openpgp

是否有可能(以及如何)与 PGP 密钥服务器通信,例如https://pgp.mit.edu或http://keyserver.pgp.com或私钥服务器:上传密钥、搜索密钥、下载钥匙等 - 在 Java 上使用 Bouncy Castle OpenPGP API?

Java 上是否有任何开源的 PGP 密钥服务器实现?

Jen*_*rat 5

我不知道 Bouncy Castle 支持关键服务器通信,但不会认为这是一个问题。

用于密钥服务器通信的最广泛传播的协议是HKP,它建立在 HTTP 之上。作为客户端实现协议并不需要任何大型库,对于基本操作,一些简单的 HTTP 请求就足够了。

例如,规范提案列出了以下请求:

搜索包含字符串“dshaw”的所有键:

http://keys.example.com:11371/pks/lookup?search=dshaw&op=index
Run Code Online (Sandbox Code Playgroud)

获取密钥 0x99242560(32 位密钥 ID):

http://keys.example.com:11371/pks/lookup?op=get&search=0x99242560
Run Code Online (Sandbox Code Playgroud)

上传新密钥就像发送 HTTP POST 请求一样简单:

密钥服务器提交是通过 HTTP POST URL 完成的。具体而言,abs_path(参见 [2],第 3.2 节)设置为“/pks/add”,并且密钥数据通过 HTTP POST 提供,如 [2],第 8.3 节和 [3],第 8.2 节中所述。 3. [...]