GPG签名和验证的工作原理是什么?

时间:2017-09-18 14:26:13

标签: android android-studio android-library bintray jcenter

我在Bintray中为GPG签名添加了公钥和私钥。根据文档,上传的内容将使用私钥自动签名。

  

GPG签名可让您自动签署上传的内容。您可以在documentation

中找到更多信息

根据文档,用户可以使用公钥验证内容。

  

GPG签名是Bintray的一项可选功能,允许上传资料的发布者对其进行签名,以便用户可以将其验证为真实和原创。

用户实际如何进行此验证?

例如:

在Android Studio中,在build.gradle中添加了依赖项

compile 'com.example.test:test:0.0.1'
  • 如何验证此依赖关系以及我必须添加公共内容的位置 验证的关键?

  • 如果要通过终端使用gpg命令进行验证,我将获得.aar?

1 个答案:

答案 0 :(得分:1)

在阅读了很多有关在BinTray中加载Android库的教程之后,我仍然不明白为什么我需要一个PGP密钥。

这是我的理解:

如果您需要将Android库上传到jCenter并将其用作Gradle依赖项,则实际上不需要在BinTray帐户中提供任何PGP密钥。只需使用Android Studio上传lib,然后单击:添加到jCenter。

但是,如果要将lib添加到Maven Central,则必须(但也许我错了)使用PGP密钥对其进行签名。

在BinTray文档中:

  

使用可选的GPG签名功能(当前可用于Maven   存储库)以对您的材料进行签名,以便可以将其验证为   其他用户的真实和原创。

您的问题:

  

如何验证这种依赖性以及我必须在何处添加公钥   进行验证?

如果您使用Android Studio上传lib并将其添加到Maven Central,则必须将公共密钥添加到库build.gradle文件中。有很多教程如何做到这一点。

  

如果验证应通过终端使用gpg命令完成,其中   会得到.aar吗?

当有人将库上传到Maven Central(BinTray)时,将进行验证。 Maven Central(BinTray)检查库是否由所有者(有PGP密码的人)上传。