配置P2存储库管理器以编程方式与客户端证书连接到HTTPS存储库(SIES)

StackOverflow https://stackoverflow.com//questions/10653145

  •  11-12-2019
  •  | 
  •  

我想配置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参数,我可以为https服务器提供URI。如何为包含客户端和CA证书的密钥存储/信任存储提供路径?我不喜欢为Java进程使用全局密钥商店。

有帮助吗?

解决方案

找到了一个解决方案。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,Trusmagers,null);

    sslsocketfactory factory= sslcontext.getsocketfactory();

    bundlecontext.registerservice(sslsocketfactory.class.getname(), 工厂,null);

其他提示

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

可能你可以以某种方式以某种方式设置这个值,看看来源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top