Configura i gestori dei repository P2 per connettersi al repository HTTPS (-IES) con certificato client / i programmaticamente
Domanda
Mi piacerebbe configurare i gestori dei repository P2 per connettersi ai repository HTTPS (Apache + Client Certificati).
Ci sono diversi metodi disponibili per caricare i repository:
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;
.
Con il parametro location
posso fornire URI a HTTPS Server.Come posso fornire percorsi ai negozi di chiavi / negozi di fiducia che contengono certificati di client e CA?Non mi piace usare i negozi di chiave globali per il processo Java.
Soluzione
ha trovato una soluzione.P2 utilizza ECF come strato di comunicazione.
Per attivare il supporto SSL:
- .
- Installa e avvia bundle (s):
org.eclipse.ecf.provider.filetransfer.httpclient.ssl
e / oorg.eclipse.ecf.provider.filetransfer.ssl
-
Crea oggetto SSLSocketFactory con KeyStore / i e registrati come servizio OSGI
.
SSLCONTEXT SSLCONTEXT= SSLCONTEXT.GETINSTANCE ("SSL");
SSLCONTEXT.INIT (KeyManagers, TrustManagers, NULL);
SSLSocketFactory Factory= sslContext.GetSocketFactory ();
bundlecontext.registerservice (sslsocketfactory.class.getname (), Fabbrica, NULL);
Altri suggerimenti
Vedere "Opzioni di runtime di archiviazione sicure" Aiuta il Capitolo: http://help.eclipse.org/helios/index.jsp?topic=%2forg.eclipse.platform.doc.User%2freference%2fref-securestorage-opections.HTM
-eclipse.keyring <file path> (Equinox)
Set to override location of the default secure storage
.
Probabilmente è possibile impostare questo valore in qualche modo programmaticamente, dare un'occhiata alle fonti.