diff --git a/platform/platform-api/src/com/intellij/util/net/ssl/CertificateConfigurable.java b/platform/platform-api/src/com/intellij/util/net/ssl/CertificateConfigurable.java index 598903c833b5..5d1fd72bffa2 100644 --- a/platform/platform-api/src/com/intellij/util/net/ssl/CertificateConfigurable.java +++ b/platform/platform-api/src/com/intellij/util/net/ssl/CertificateConfigurable.java @@ -62,7 +62,7 @@ public class CertificateConfigurable implements SearchableConfigurable, Configur myCheckHostname.setVisible(false); myCheckValidityPeriod.setVisible(false); - myTrustManager = CertificatesManager.getInstance().getCustomTrustManager(); + myTrustManager = CertificateManager.getInstance().getCustomTrustManager(); // show newly added certificates myTrustManager.addListener(this); @@ -177,7 +177,7 @@ public class CertificateConfigurable implements SearchableConfigurable, Configur @Override public boolean isModified() { - CertificatesManager.Config state = CertificatesManager.getInstance().getState(); + CertificateManager.Config state = CertificateManager.getInstance().getState(); return myCheckHostname.isSelected() != state.checkHostname || myCheckValidityPeriod.isSelected() != state.checkValidity || !myCertificates.equals(new HashSet(myTrustManager.getCertificates())); @@ -204,7 +204,7 @@ public class CertificateConfigurable implements SearchableConfigurable, Configur throw new ConfigurationException("Cannot remove certificate for " + getCommonName(certificate), "Cannot Remove Certificate"); } } - CertificatesManager.Config state = CertificatesManager.getInstance().getState(); + CertificateManager.Config state = CertificateManager.getInstance().getState(); state.checkHostname = myCheckHostname.isSelected(); state.checkValidity = myCheckValidityPeriod.isSelected(); } @@ -229,7 +229,7 @@ public class CertificateConfigurable implements SearchableConfigurable, Configur myTreeBuilder.selectFirstCertificate(); } - CertificatesManager.Config state = CertificatesManager.getInstance().getState(); + CertificateManager.Config state = CertificateManager.getInstance().getState(); myCheckHostname.setSelected(state.checkHostname); myCheckValidityPeriod.setSelected(state.checkValidity); } diff --git a/platform/platform-api/src/com/intellij/util/net/ssl/CertificatesManager.java b/platform/platform-api/src/com/intellij/util/net/ssl/CertificateManager.java similarity index 93% rename from platform/platform-api/src/com/intellij/util/net/ssl/CertificatesManager.java rename to platform/platform-api/src/com/intellij/util/net/ssl/CertificateManager.java index ff02df7e49fe..9526d6793809 100644 --- a/platform/platform-api/src/com/intellij/util/net/ssl/CertificatesManager.java +++ b/platform/platform-api/src/com/intellij/util/net/ssl/CertificateManager.java @@ -27,7 +27,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import static org.apache.http.conn.ssl.SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER; /** - * {@code CertificatesManager} is responsible for negotiation SSL connection with server + * {@code CertificateManager} is responsible for negotiation SSL connection with server * and deals with untrusted/self-singed/expired and other kinds of digital certificates. *

Integration details:

* If you're using httpclient-3.1 without custom {@code Protocol} instance for HTTPS you don't have to do anything @@ -53,16 +53,16 @@ import static org.apache.http.conn.ssl.SSLConnectionSocketFactory.BROWSER_COMPAT */ @State( - name = "CertificatesManager", + name = "CertificateManager", storages = @Storage(file = StoragePathMacros.APP_CONFIG + "/other.xml") ) -public class CertificatesManager implements ApplicationComponent, PersistentStateComponent { +public class CertificateManager implements ApplicationComponent, PersistentStateComponent { - @NonNls public static final String COMPONENT_NAME = "Certificates Manager"; + @NonNls public static final String COMPONENT_NAME = "Certificate Manager"; @NonNls private static final String DEFAULT_PATH = FileUtil.join(PathManager.getSystemPath(), "tasks", "cacerts"); @NonNls private static final String DEFAULT_PASSWORD = "changeit"; - private static final Logger LOG = Logger.getInstance(CertificatesManager.class); + private static final Logger LOG = Logger.getInstance(CertificateManager.class); /** * Special version of hostname verifier, that asks user whether he accepts certificate, which subject's common name @@ -70,8 +70,8 @@ public class CertificatesManager implements ApplicationComponent, PersistentStat */ public static final HostnameVerifier HOSTNAME_VERIFIER = new ConfirmingHostnameVerifier(BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); - public static CertificatesManager getInstance() { - return (CertificatesManager)ApplicationManager.getApplication().getComponent(COMPONENT_NAME); + public static CertificateManager getInstance() { + return (CertificateManager)ApplicationManager.getApplication().getComponent(COMPONENT_NAME); } private final String myCacertsPath; @@ -88,7 +88,7 @@ public class CertificatesManager implements ApplicationComponent, PersistentStat /** * Component initialization constructor */ - public CertificatesManager() { + public CertificateManager() { myCacertsPath = DEFAULT_PATH; myPassword = DEFAULT_PASSWORD; myConfig = new Config(); @@ -99,7 +99,7 @@ public class CertificatesManager implements ApplicationComponent, PersistentStat public void initComponent() { try { // Don't do this: protocol created this way will ignore SSL tunnels. See IDEA-115708. - // Protocol.registerProtocol("https", CertificatesManager.createDefault().createProtocol()); + // Protocol.registerProtocol("https", CertificateManager.createDefault().createProtocol()); SSLContext.setDefault(getSslContext()); LOG.debug("Default SSL context initialized"); } diff --git a/platform/platform-api/src/com/intellij/util/net/ssl/CertificateWarningDialog.java b/platform/platform-api/src/com/intellij/util/net/ssl/CertificateWarningDialog.java index 1884f05cd2ae..2474b071869c 100644 --- a/platform/platform-api/src/com/intellij/util/net/ssl/CertificateWarningDialog.java +++ b/platform/platform-api/src/com/intellij/util/net/ssl/CertificateWarningDialog.java @@ -50,7 +50,7 @@ public class CertificateWarningDialog extends DialogWrapper { myCertificate = certificate; - CertificatesManager manager = CertificatesManager.getInstance(); + CertificateManager manager = CertificateManager.getInstance(); setTitle(title); myMessagePane.setText(String.format("

%s

", message)); myMessagePane.setBackground(UIUtil.getPanelBackground()); diff --git a/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingHostnameVerifier.java b/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingHostnameVerifier.java index 44e56a074dd6..e97628f121d7 100644 --- a/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingHostnameVerifier.java +++ b/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingHostnameVerifier.java @@ -67,7 +67,7 @@ class ConfirmingHostnameVerifier implements X509HostnameVerifier { @Override public void verify(final String host, final X509Certificate cert) throws SSLException { - if (!CertificatesManager.getInstance().getState().checkHostname) { + if (!CertificateManager.getInstance().getState().checkHostname) { return; } try { @@ -84,7 +84,7 @@ class ConfirmingHostnameVerifier implements X509HostnameVerifier { } private static boolean accepted(final String host, final X509Certificate cert) { - return CertificatesManager.showAcceptDialog(new Callable() { + return CertificateManager.showAcceptDialog(new Callable() { @Override public DialogWrapper call() throws Exception { return CertificateWarningDialog.createHostnameMismatchWarning(cert, host); diff --git a/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingTrustManager.java b/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingTrustManager.java index bb80da46e476..34e267bd96a1 100644 --- a/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingTrustManager.java +++ b/platform/platform-api/src/com/intellij/util/net/ssl/ConfirmingTrustManager.java @@ -119,7 +119,7 @@ public class ConfirmingTrustManager extends ClientOnlyTrustManager { myCustomManager.addCertificate(endPoint); return true; } - boolean accepted = CertificatesManager.showAcceptDialog(new Callable() { + boolean accepted = CertificateManager.showAcceptDialog(new Callable() { @Override public DialogWrapper call() throws Exception { // TODO may be another kind of warning, if default trust store is missing diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/http/DefaultRemoteContentProvider.java b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/http/DefaultRemoteContentProvider.java index bf2a0d6799ce..0e4e91be62be 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/http/DefaultRemoteContentProvider.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/http/DefaultRemoteContentProvider.java @@ -28,7 +28,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.PathUtilRt; import com.intellij.util.Url; import com.intellij.util.io.UrlConnectionUtil; -import com.intellij.util.net.ssl.CertificatesManager; +import com.intellij.util.net.ssl.CertificateManager; import org.jetbrains.annotations.NotNull; import javax.net.ssl.HostnameVerifier; @@ -80,7 +80,7 @@ public class DefaultRemoteContentProvider extends RemoteContentProvider { return true; } }); - httpsConnection.setSSLSocketFactory(CertificatesManager.getInstance().createSslContext().getSocketFactory()); + httpsConnection.setSSLSocketFactory(CertificateManager.getInstance().createSslContext().getSocketFactory()); } catch (Exception e) { LOG.warn(e); diff --git a/platform/platform-resources/src/componentSets/Platform.xml b/platform/platform-resources/src/componentSets/Platform.xml index af2ede649d0b..f5fc09cf3ff3 100644 --- a/platform/platform-resources/src/componentSets/Platform.xml +++ b/platform/platform-resources/src/componentSets/Platform.xml @@ -134,7 +134,7 @@ - com.intellij.util.net.ssl.CertificatesManager + com.intellij.util.net.ssl.CertificateManager diff --git a/platform/platform-tests/testSrc/com/intellij/util/net/ssl/CertificateTest.java b/platform/platform-tests/testSrc/com/intellij/util/net/ssl/CertificateTest.java index 9a544b7158f8..4febb82aaa09 100644 --- a/platform/platform-tests/testSrc/com/intellij/util/net/ssl/CertificateTest.java +++ b/platform/platform-tests/testSrc/com/intellij/util/net/ssl/CertificateTest.java @@ -90,14 +90,14 @@ public class CertificateTest extends PlatformTestCase { @Override public void setUp() throws Exception { super.setUp(); - CertificatesManager certificatesManager = CertificatesManager.getInstance(); + CertificateManager certificateManager = CertificateManager.getInstance(); myClient = HttpClientBuilder.create() - .setSslcontext(certificatesManager.getSslContext()) + .setSslcontext(certificateManager.getSslContext()) .setHostnameVerifier(SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER) .build(); // add CA certificate - myTrustManager = certificatesManager.getCustomTrustManager(); + myTrustManager = certificateManager.getCustomTrustManager(); assertTrue(myTrustManager.addCertificate(getTestDataPath() + "certificates/ca.crt")); assertTrue(myTrustManager.containsCertificate(AUTHORITY_CN)); } diff --git a/plugins/github/src/org/jetbrains/plugins/github/api/GithubApiUtil.java b/plugins/github/src/org/jetbrains/plugins/github/api/GithubApiUtil.java index 486b5ac2da2a..1d7bbfd20979 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/api/GithubApiUtil.java +++ b/plugins/github/src/org/jetbrains/plugins/github/api/GithubApiUtil.java @@ -199,7 +199,7 @@ public class GithubApiUtil { try { client.executeMethod(method); } - catch (SSLHandshakeException e) { // User canceled operation from CertificatesManager + catch (SSLHandshakeException e) { // User canceled operation from CertificateManager if (e.getCause() instanceof ValidatorException) { LOG.info("Host SSL certificate is not trusted", e); throw new GithubOperationCanceledException("Host SSL certificate is not trusted", e); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ShowCertificateInfoAction.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ShowCertificateInfoAction.java index 7c5e352fae79..849dbfc81943 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ShowCertificateInfoAction.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ShowCertificateInfoAction.java @@ -4,8 +4,8 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.ui.Messages; +import com.intellij.util.net.ssl.CertificateManager; import com.intellij.util.net.ssl.CertificateWarningDialog; -import com.intellij.util.net.ssl.CertificatesManager; import java.security.cert.X509Certificate; import java.util.List; @@ -23,7 +23,7 @@ public class ShowCertificateInfoAction extends AnAction { @Override public void actionPerformed(final AnActionEvent e) { try { - CertificatesManager manager = CertificatesManager.getInstance(); + CertificateManager manager = CertificateManager.getInstance(); List certificates = manager.getCustomTrustManager().getCertificates(); if (certificates.isEmpty()) { Messages.showInfoMessage(String.format("Key store '%s' is empty", manager.getCacertsPath()), "No Certificates Available"); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/httpclient/NewBaseRepositoryImpl.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/httpclient/NewBaseRepositoryImpl.java index 7b825ea4d24f..8f14564c74b5 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/httpclient/NewBaseRepositoryImpl.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/httpclient/NewBaseRepositoryImpl.java @@ -6,7 +6,7 @@ import com.intellij.tasks.config.TaskSettings; import com.intellij.tasks.impl.BaseRepository; import com.intellij.tasks.impl.TaskUtil; import com.intellij.util.net.HttpConfigurable; -import com.intellij.util.net.ssl.CertificatesManager; +import com.intellij.util.net.ssl.CertificateManager; import org.apache.http.*; import org.apache.http.auth.AuthScope; import org.apache.http.auth.Credentials; @@ -60,10 +60,10 @@ public abstract class NewBaseRepositoryImpl extends BaseRepository { protected HttpClient getHttpClient() { HttpClientBuilder builder = HttpClients.custom() .setDefaultRequestConfig(createRequestConfig()) - .setSslcontext(CertificatesManager.getInstance().getSslContext()) + .setSslcontext(CertificateManager.getInstance().getSslContext()) // TODO: use custom one for additional certificate check //.setHostnameVerifier(SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER) - .setHostnameVerifier((X509HostnameVerifier)CertificatesManager.HOSTNAME_VERIFIER) + .setHostnameVerifier((X509HostnameVerifier)CertificateManager.HOSTNAME_VERIFIER) .setDefaultCredentialsProvider(createCredentialsProvider()) .addInterceptorFirst(PREEMPTIVE_BASIC_AUTH) .addInterceptorLast(createRequestInterceptor());