Configure p2 Repository Managers para conectar-se a repositório(s) HTTPS com certificado(s) de cliente programaticamente

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

  •  11-12-2019
  •  | 
  •  

Pergunta

Gostaria de configurar gerenciadores de repositório p2 para conectar-se a repositórios HTTPS (Apache + certificados de cliente).

Existem vários métodos disponíveis para carregar repositórios:

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;

com location parâmetro posso fornecer URI para o servidor HTTPS.Como posso fornecer caminhos para armazenamentos de chaves/repositórios confiáveis ​​que contêm certificados de cliente e CA?Não gosto de usar armazenamentos de chaves globais para processos Java.

Foi útil?

Solução

Encontrei uma solução.p2 usa ECF como camada de comunicação.

Para ativar o suporte SSL:

  • instale e inicie o(s) pacote(s): org.eclipse.ecf.provider.filetransfer.httpclient.ssl e/ou org.eclipse.ecf.provider.filetransfer.ssl
  • crie o objeto SSLSocketFactory com keystore(s) e registre-se como serviço OSGi

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

    sslContext.init(keymanagers, trustmanagers, null);

    Fábrica SSLSocketFactory = sslContext.getSocketFactory();

    bundleContext.RegisterService (sslsocketFactory.class.getName (), fábrica, nulo);

Outras dicas

Consulte o capítulo de ajuda "Opções de tempo de execução de armazenamento seguro": http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-securestorage-options.htm

...e também 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

Provavelmente você pode definir esse valor de alguma forma programaticamente, dê uma olhada nas fontes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top