首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何辨别我的库是否在Clojars上签名?

我如何辨别我的库是否在Clojars上签名?
EN

Stack Overflow用户
提问于 2013-03-02 07:19:56
回答 2查看 620关注 0票数 2

我最近向Clojars部署了一个库,并试图确保它被签名,但我看不到任何这样或那样的证据。

以下是我遵循的步骤:

我已经安装了gpg (Linux系统),gpg-agent正在运行,并且已经生成了公钥/私钥对。当我注册时,我还将我的GPG公钥添加到了Clojars。

我用以下命令创建了~/.lein/redentials.clj:

代码语言:javascript
复制
{#"https://clojars.org/repo"
  {:username "midpeter444" :password "passw0rd"}} 

然后我运行:

代码语言:javascript
复制
gpg --default-recipient-self -e ~/.lein/credentials.clj > ~/.lein/credentials.clj.gpg

然后删除~/..lein/redentials.clj

在我的lein项目目录中,我运行:

代码语言:javascript
复制
lein deploy clojars

它提示我两次(通过gpg-agent)输入我的密码,我输入了密码,然后它将jar上传到Clojars。

所以它看起来是有效的,但当我在Clojars网站上查看我的库时,或者在从Clojars下载后的库中,我看不到任何证据表明它是签名的,或者它是否失败。

我是否需要做其他事情,比如在project.clj中添加注释以某种方式对其进行签名?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-03 11:26:09

在进一步研究之后,如果您已经将PGP公钥添加到您的Clojars帐户中,lein 2将自动为您的jars签名。如果您运行lein deps :verify,它将告诉您库是否已签名。

因此,您可以创建一个使用已发布的库的项目,并运行此命令。

输出示例:

代码语言:javascript
复制
$ lein deps :verify
:signed [criterium "0.3.1"]
:unsigned [enlive "1.0.1"]
:signed [org.clojure/tools.macro "0.1.1"]
:signed [org.clojure/clojure "1.5.0"]
:bad-signature [thornydev/go-lightly "0.4.0"]

我看到我的(go-lightly)被标记为有一个糟糕的签名,所以现在我需要找出原因。Clojars站点没有告诉我这一点(或者至少我不知道去哪里找它),所以我认为使用lein deps :verify是更好的答案。

Clojars更新这个糟糕的签名是因为我在升级之后试图重新部署一个库(相同版本),发现了Clojars系统(目前正在修复)中的一个bug。

如果你得到了一个:bad-signature,你需要重新部署到Clojars (在Clojars的人移除坏的库之后)。然后,为了检查签名是否正确,请确保从本地的~/.m2存储库中删除该库,以便下载新的库并检查签名是否有效。

票数 2
EN

Stack Overflow用户

发布于 2013-03-03 08:08:29

在控制面板上登录到clojars

  • Once,单击有问题的库,然后检查
  • 部分的

如果jar未签名,您将看到如下消息:

  • /home/clojars/repo/blah/blah/0.0.1/blah-0.0.1.jar未签名。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15168512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档