- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 GitHub REST API v3 for GPG Keys 返回的 public_key
字段的格式是什么? ?
例如,命令curl -v -H "Accept: application/vnd.github.cryptographer-preview"https://api.github.com/users/DurandA/gpg_keys
返回以下按键:
pub dsa2048/403094DF 2017-09-03 [SC] [expires: 2018-09-03]
uid [ultimate] Arnaud Durand <arnaud.durand@unifr.ch>
sub elg2048/A454F414 2017-09-03 [E] [expires: 2018-09-03]
根据API doc :
The data returned in the
public_key
response field is not a GPG formatted key. When a user uploads a GPG key, it is parsed and the cryptographic public key is extracted and stored. This cryptographic key is what is returned by the APIs on this page. This key is not suitable to be used directly by programs like GPG.
是否可以通过 CLI 或以编程方式使用这些 key ?
最佳答案
返回的 key 是一个裸 key (RSA、DSA...),如果不再次将其“包装”在正确的 OpenPGP key 数据包中,OpenPGP 的实现就无法使用该 key 。我不建议这样做,为什么你应该能够再次构建key数据包,你将没有机会构建子 key 和用户ID的绑定(bind)签名(这需要访问私钥)并且不会成功并为此构建一些有用的东西。
在社区中共享 key 的“OpenPGP 模型”是从 key 服务器网络获取当前副本(包括所有当前的认证和撤销),而不是依赖于 GitHub 等“第三方位置”中可能过时的版本。这可以通过指纹和 key ID(或多或少唯一,见下文)寻址特定 key 来实现 - 不搜索邮件地址,每个人都可以使用任意用户 ID 创建 key ,并且 key 服务器不执行任何 验证。
相反,再看看 API 输出,它返回 keyid
所有键的对象(一些用于子键):
[
{
"id": 3,
"primary_key_id": null,
"key_id": "3262EFF25BA0D270",
"public_key": "xsBNBFayYZ...",
"emails": [
{
"email": "mastahyeti@users.noreply.github.com",
"verified": true
}
],
[snip]
}
]
要使用此类 key ID,请运行 gpg --recv-keys <key-id>
。并在 GitHub 上留言以遵循最佳实践并包含完整的指纹:
这些 64 位十六进制值(本例中为 3262EFF25BA0D270
)是长 key ID。虽然任何对键的编程引用应该 always include the key's fingerprint, not abbreviated key IDs ,至少他们不提供short key IDs that heavily suffer under collision attacks .
关于GitHub API OpenPGP key 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46042009/
这是我第一次想最好检查我要安装的绑定(bind)软件的 key 。所以我下载了我认为是 OpenPGP key 的东西...... $ wget ftp://ftp.isc.org/isc/bind9
RFC 4880 将版本 4 签名数据包标签 2 描述为 - One-octet signature type. - One-octet public-key algorithm. - One-oct
我正在使用 Grails 插件:crypto:2.0,但在 PGP 中加密解密消息时遇到问题。 这是我的 Controller 代码: def index3 () { def pgpK = P
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 8年前关闭。 Improve this que
我正在尝试使用 BouncyCaSTLe 库创建签名和加密的消息,然后我在命令行上针对 gpg 进行测试以确认它是否有效。然而,虽然它提供了一个看起来不错的 PGP 消息,但 gpg 在解密它时遇到了
如何使用 Javascript 和 openpgp.js 从文本中读取私钥并生成公钥? 我试图让用户将他们的私有(private) PGP key 输入文本框,并使用该文本框中的数据(和密码)生成公共
我在一个目录中有数百个 gpg 加密文件,格式为 filename.xyz.gpg,其中“xyz”是任意扩展名。我需要解密所有文件以生成 filename.xyz,这样我就不必手动输入每个文件的密码了
我正在使用 PHP 中的 GnuPG 类。我在导入有效公钥时没有遇到任何问题,但如果我尝试随机导入一些明显不是公钥的“测试”之类的东西,我会收到错误 502 错误网关。我在 PHP 文档中看到 gnu
是否有创建 OpenPGP key 或使用 OpenPGP 加密文件的库? 最佳答案 可以看看GPGMe .查看manual关于 generating keys 的条目和 encrypting a p
我想使用我的 GPS (2) 子 key 之一在 Git 中签署提交/标签即,我新创建的具有长 ID B0##...的 RSA4096 仅签名 key sec# ed25519/9F########
我正在开发一个需要验证 OpenPGP 公钥的 go 项目,以便能够使用它来验证文件签名。 我生成了一个根 key 和另一个 key ,我用根 key 对其进行了签名(我们称第二个 key 为已签名)
我对文档有一些疑问。 这是我的程序: package main import ( "bytes" "code.google.com/p/go.crypto/openpgp" "
OpenPGP.js 是一个实现了 OpenPGP 标准的密码学库,最常用于电子邮件加密。 OpenPGP.js 是一个实现了 OpenPGP 标准 的密码学库,
我正在使用以下管道从 Aurora 流式传输数据,将其转换为 csv,然后将其发送到 S3。 可读的 knex 流: const getQueryStream = (organizationId) =
我只有一个 OpenPGP key 的公共(public)指纹。我不知道 key ID 或几乎任何其他信息。 如何获取对应的公钥?有没有在线服务可以做到这一点? 最佳答案 指纹与长短键 ID 的关系如
从 GitHub REST API v3 for GPG Keys 返回的 public_key 字段的格式是什么? ? 例如,命令curl -v -H "Accept: application/vn
我正在尝试从 ActiveMQ 的公共(public) OpenPGP key 中获取指纹。它们发布于http://www.apache.org/dist/activemq/KEYS . 不幸的是,并
据我了解,OpenPGP 是 'definition of a set of standard formats for encrypting/signing' . 我最近推荐某人使用默认的 Java
我尝试导入现有的 pgp 公钥: -----BEGIN PGP PUBLIC KEY BLOCK----- Version: Keybase OpenPGP v1.0.0 Comment: https
我在业余时间一直在研究 OpenPGPjs(Javascript port of OpenPGP)以学习新知识。为了测试它,我正在开发一个简单的网络应用程序来存储和检索 key 对和数据库中的加密数据
我是一名优秀的程序员,十分优秀!