| package com.intellij.tasks.actions; |
| |
| 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 java.security.cert.X509Certificate; |
| import java.util.List; |
| |
| /** |
| * @author Mikhail Golubev |
| */ |
| public class ShowCertificateInfoAction extends AnAction { |
| private static final Logger LOG = Logger.getInstance(ShowCertificateInfoAction.class); |
| |
| public ShowCertificateInfoAction() { |
| super("Show certificate information dialog"); |
| } |
| |
| @Override |
| public void actionPerformed(final AnActionEvent e) { |
| try { |
| 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"); |
| } else { |
| CertificateWarningDialog dialog = CertificateWarningDialog.createUntrustedCertificateWarning(certificates.get(0)); |
| LOG.debug("Accepted: " + dialog.showAndGet()); |
| } |
| } |
| catch (Exception logged) { |
| LOG.error(logged); |
| } |
| } |
| } |
| |