2

HTTPS リポジトリ (Apache + クライアント証明書) に接続するように p2 リポジトリ マネージャーを構成したいと考えています。

リポジトリをロードするには、いくつかの方法があります。

public IMetadataRepository loadRepository(URI location, IProgressMonitor monitor) throws ProvisionException, OperationCanceledException;
public IMetadataRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException, OperationCanceledException;
public IArtifactRepository loadRepository(URI location, IProgressMonitor monitor) throws ProvisionException;
public IArtifactRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException;

locationパラメータを使用して、HTTPS サーバーに URI を提供できます。クライアントおよび CA 証明書を含むキーストア/トラストストアへのパスを提供するにはどうすればよいですか? Java プロセスにグローバル キー ストアを使用するのは好きではありません。

4

2 に答える 2

2

解決策を見つけました。p2 は通信層としてECFを使用します。

SSL サポートを有効にするには:

  • バンドルのインストールと開始:org.eclipse.ecf.provider.filetransfer.httpclient.sslおよび/またはorg.eclipse.ecf.provider.filetransfer.ssl
  • キーストアを使用して SSLSocketFactory オブジェクトを作成し、OSGi サービスとして登録する

    SSLContext sslContext = SSLContext.getInstance("SSL");

    sslContext.init(keymanagers、trustmanagers、null);

    SSLSocketFactory ファクトリー = sslContext.getSocketFactory();

    bundleContext.registerService(SSLSocketFactory.class.getName(), factory, null);

于 2012-05-23T12:38:13.337 に答える
0

「セキュア ストレージ ランタイム オプション」ヘルプの章を参照してください: http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-securestorage-options.htm

...そしてまたhttp://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html

-eclipse.keyring <file path> (Equinox)
    Set to override location of the default secure storage

おそらく、この値をプログラムで何らかの方法で設定できます。ソースを見てください。

于 2012-05-22T15:35:54.660 に答える