Настройка менеджеров репозитория P2 для подключения к репозиторию HTTPS (-IS) с помощью клиентских сертификатов программно
Вопрос
Я хотел бы настроить менеджеры репозитория 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-процесса.
Решение
нашел решение.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 Factory= SSLContext.getSocketFactory ();
Bundlecontext.registerService (SSLSocketFactory.class.getname (), фабрика, нуль);
Другие советы
См. «Опции выполнения безопасного хранилища».-SeCurestorage-options.htm "rel=" nofollow "> http://help.eclipse.org/helios/index.jsp?topic=%2Forg.Eclipse.platform.doc.user%2freference%2Fref-seCurestorage-options.HTM
-eclipse.keyring <file path> (Equinox)
Set to override location of the default secure storage
.
Вероятно, вы можете настроить это значение как-то программно, посмотреть в источниках.