【问题标题】:Configure p2 Repository Managers to connect to HTTPS repository(-ies) with client certificate(s) programmatically配置 p2 存储库管理器以编程方式使用客户端证书连接到 HTTPS 存储库(-ies)
【发布时间】:2012-05-26 01:24:07
【问题描述】:

我想配置 p2 存储库管理器以连接到 HTTPS 存储库(Apache + 客户端证书)。

有几种方法可用于加载存储库:

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 参数我可以提供 URI 到 HTTPS 服务器。如何提供包含客户端和 CA 证书的密钥库/信任库的路径?我不喜欢在 Java 进程中使用全局密钥库。

【问题讨论】:

  • 这种以编程方式添加存储库的方法 - 有效吗?你能把你完整的P2Util课程贴出来吗? (或者无论你在哪里加载存储库和检查更新)。谢谢。

标签: java eclipse osgi p2


【解决方案1】:

找到了解决办法。 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(), 工厂,空);

【讨论】:

    【解决方案2】:

    请参阅“安全存储运行时选项”帮助章节: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
    

    您可能可以通过某种方式以编程方式设置此值,请查看源代码。

    【讨论】:

    • 这些设置适用于整个 Eclipse Java 进程。我想提供即时存储,因为它是我的配置包的一部分。
    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 2021-12-18
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    相关资源
    最近更新 更多