2011-07-03 24 views
33

SSLが有効なセントラルリポジトリがあるかどうかを確認しようとしていましたが、おそらくそうではありません。私は、すべてのjarファイルとpomファイルの署名がmavenの中央リポジトリにあることに気付きました。だから、少なくとも私はダウンロードされたすべてのファイル(pom/jar)の署名をチェックしたいと思います。 http://repo1.maven.org/maven2/org/apache/ant/ant/1.8.2/からダウンロードしたpom/jarファイルの署名を確認する

例:

ant-1.8.2.jar 
ant-1.8.2.jar.asc 
ant-1.8.2.jar.asc.md5 
ant-1.8.2.jar.asc.sha1 
ant-1.8.2.jar.md5 
ant-1.8.2.jar.sha1 
ant-1.8.2.pom 
ant-1.8.2.pom.asc 
ant-1.8.2.pom.asc.md5 
ant-1.8.2.pom.asc.sha1 
ant-1.8.2.pom.md5 
ant-1.8.2.pom.sha1 

私はすべてのリポジトリの公開鍵をインポートする必要がありますことを認識し、私はそれで大丈夫ですよ。私は、Maven中心の公開鍵はここにあると思いますhttps://svn.apache.org/repos/asf/maven/project/KEYS

mavenを使用して署名する方法については、Web上に多数のチュートリアルがあります。しかし、ダウンロードしたjar/pomファイルの署名を確認するためにmaven(2または3)を強制する方法に関する情報は見つかりませんでした。出来ますか?

(ネクサスProfessionalはオプションではありません)

は助けてくれてありがとう。

+0

各アーティファクトは、個々のアップローダーの鍵で署名されたので、私はKEYSはそれらが含まれていることを知りません。たとえば、登録時。 Sonatype OSSサーバーでは、アップローダーのPGPキーがファイルに格納されるフェーズはありません。それは、私もこれに対する答えがほしいと言った。 –

+1

[MNG-2477](http://jira.codehaus.org/browse/MNG-2477)は、この機能をMavenに追加するための(現在開いている)問題です。 – Joe

+0

Artifactoryなどを使用していますか?それはオプションですか? プラグインを見てください:http://www.jfrog.com/home/v_artifactorypro_features#addon-webstart – Pmt

答えて

1

有効なチェックサム付きのアーティファクトのみをダウンロードすると仮定すると、OSSバージョンのNexusを実行し、プロキシを中央に設定するオプションがあります。次に、settings.xmlをリポジトリからロードするように設定します(settings.xmlのmirrorタグ)。次に、有効なチェックサムを持つ成果物のみを許可するようにnexusを設定できます。

+1

* .ascファイルはPGP署名です。 – Barend

1

セントラルへのSSLアクセスがトークン支払いで利用できるようになりました。 https://blog.sonatype.com/people/2012/10/now-available-ssl-connectivity-to-central/

私たちは、リポジトリマネージャに関係なく、オープンソースコンポーネントをダウンロードした誰でもセントラルにSSL接続できるようにしています。

...

SSLを頼りにする人のための最高レベルのパフォーマンスを確保するために、我々は、トークンとサービスを確保しています。オープンソースの原因に寄付される$ 10の寄付を提供するだけで、組織のトークンを手に入れることができます。

+2

これは正しいですが、時代遅れです。 Sonatypeの発表を参照してください:http://blog.sonatype.com/2014/07/ssl_connectivity_for_central/ –

1

各SIGを検証するためにGnuPGを使用してbashシェルスクリプトを記述できますか?

のような何か: for x in *.jar; do gpg --verify "${x}".asc; done

あなたが開始する前に明らかにあなたはすべてのSIGSの公開鍵が必要になります。

+0

通常、あなたのレポには含まれていないので、シグネチャを取得する必要があります。 –

5

これは実際のセキュリティ上の問題です(this blog-post(ブログはダウンしているようですが、ここにはブログのarchived versionです))、plugin for verifying PGP signaturesがあります。あなたは、次のコマンドを使用して、プロジェクトのすべての依存関係のための署名を検証することができます。もちろん

mvn com.github.s4u.plugins:pgpverify-maven-plugin:check 

、プラグイン自体が悪意のない100%確かに、あなたは達人からsource for the pluginをダウンロードして確認する必要がありますMavenでビルドして実行します。

また、すべてのアーティファクトをダウンロードするためにSSLを使用するMaven 3.2.3以上(クリーンなリポジトリを使用)を使用している場合は、この手順を実行する必要があります(これは再帰的にビルドに必要なすべての依存関係とプラグインで行う必要があります) 。したがって、中間者の攻撃は不可能であり、少なくとも人工物は中心に置かれています。

も参照してください:

関連する問題