2

私は最近、Clojars にライブラリをデプロイし、署名されていることを確認しようとしましたが、いずれにしてもその証拠は見当たりません。

私が従った手順は次のとおりです。

既に gpg がインストールされており (Linux システム)、gpg-agent が実行されており、公開鍵と秘密鍵のペアが生成されています。また、サインアップ時に GPG 公開鍵を Clojars に追加しました。

~/.lein/credentials.clj を作成しました:

{#"https://clojars.org/repo"
  {:username "midpeter444" :password "passw0rd"}} 

次に実行しました:

gpg --default-recipient-self -e ~/.lein/credentials.clj > ~/.lein/credentials.clj.gpg

そして ~/.lein/credentials.clj を削除

lein プロジェクト ディレクトリで、次のコマンドを実行しました。

lein deploy clojars

パスワードを入力するように (gpg-agent 経由で) 2 回求められました。

うまくいったように見えましたが、Clojars サイトで自分のライブラリを見たり、Clojars からダウンロードした後にライブラリを見たりしても、署名されているかどうか、または失敗したかどうかの証拠は見当たりません。

project.clj にメモを追加して何らかの方法で署名するなど、他に何かする必要がありますか?

4

2 に答える 2

2
  • clojarsにログインします
  • ダッシュボードが表示されたら、問題のライブラリをクリックします
  • プロモーションセクションを確認してください

jarが署名されていない場合は、次のようなメッセージが表示されます。

  • /home/clojars/repo/blah/blah/0.0.1/blah-0.0.1.jarは署名されていません。
于 2013-03-03T00:08:29.213 に答える
2

さらに調査した後、Clojars アカウントに PGP 公開鍵を追加した場合、lein 2 は自動的に jar に署名します。実行lein deps :verifyすると、ライブラリが署名されているかどうかがわかります。

したがって、公開されたライブラリを使用するプロジェクトを作成し、このコマンドを実行できます。

出力例:

$ 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 システムのバグが明らかになりました (現在修正中)。

もし:bad-signature. 次に、署名が正しいかどうかを確認するには、そのライブラリをローカルの ~/.m2 リポジトリから削除して、新しいライブラリがダウンロードされ、有効な署名がチェックされるようにします。

于 2013-03-03T03:26:09.237 に答える