mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Rename CertificatesManager to CertificateManager (not plural) to be consistent with related classes and components
This commit is contained in:
@@ -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<X509Certificate>(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);
|
||||
}
|
||||
|
||||
+9
-9
@@ -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.
|
||||
* <h1>Integration details:</h1>
|
||||
* 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<CertificatesManager.Config> {
|
||||
public class CertificateManager implements ApplicationComponent, PersistentStateComponent<CertificateManager.Config> {
|
||||
|
||||
@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");
|
||||
}
|
||||
@@ -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("<html><body><p>%s</p></body></html>", message));
|
||||
myMessagePane.setBackground(UIUtil.getPanelBackground());
|
||||
|
||||
@@ -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<DialogWrapper>() {
|
||||
return CertificateManager.showAcceptDialog(new Callable<DialogWrapper>() {
|
||||
@Override
|
||||
public DialogWrapper call() throws Exception {
|
||||
return CertificateWarningDialog.createHostnameMismatchWarning(cert, host);
|
||||
|
||||
@@ -119,7 +119,7 @@ public class ConfirmingTrustManager extends ClientOnlyTrustManager {
|
||||
myCustomManager.addCertificate(endPoint);
|
||||
return true;
|
||||
}
|
||||
boolean accepted = CertificatesManager.showAcceptDialog(new Callable<DialogWrapper>() {
|
||||
boolean accepted = CertificateManager.showAcceptDialog(new Callable<DialogWrapper>() {
|
||||
@Override
|
||||
public DialogWrapper call() throws Exception {
|
||||
// TODO may be another kind of warning, if default trust store is missing
|
||||
|
||||
+2
-2
@@ -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);
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
</component>
|
||||
|
||||
<component>
|
||||
<implementation-class>com.intellij.util.net.ssl.CertificatesManager</implementation-class>
|
||||
<implementation-class>com.intellij.util.net.ssl.CertificateManager</implementation-class>
|
||||
</component>
|
||||
|
||||
<component>
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
+2
-2
@@ -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<X509Certificate> certificates = manager.getCustomTrustManager().getCertificates();
|
||||
if (certificates.isEmpty()) {
|
||||
Messages.showInfoMessage(String.format("Key store '%s' is empty", manager.getCacertsPath()), "No Certificates Available");
|
||||
|
||||
+3
-3
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user