Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-1203

Add a GUI for managing TLS\SSL certificates

    XMLWordPrintable

    Details

      Description

      Spark needs a GUI dialog, which it could present when a user tries to login to a server with an invalid certificate. It should present why certificate is invalid (maybe it can be pulled from Smack error, but there should be a conversion of this error to a human readable text): self-signed, expired, not trusted authority, mismatching hostname. There should be a button to Proceed anyway, Cancel (which will not let Spark to connect). There should also be a checkbox to add this certificate to the exceptions list (when pressing Proceed button), so it won't ask again on a next login. There could be also a GUI to manage exceptions or just a button somewhere to wipe the list, but that could be added later.

      When this GUI is implemented, we should disable by default Accept all certificates and Disable hostname verifications options.These options can stay for those, who are using Spark in a closed environment and think they are safe from certificate spoofing attacks, so they won't bother their users with additional dialogs.

      If the certificate is perfectly fine on a first check, Spark shouldn't show any dialog for it. But it shouldn't add such certificate into the exception list. It should validate valid certificates every time it logins. And when a valid certificate becomes invalid (say, expires), then it should show a dialog for it.

        Attachments

          Issue Links

          1.
          Create CertificateModel class Sub-task Closed Paweł Ścibiorski
          2.
          Create model class with fields Sub-task Closed Paweł Ścibiorski
          3.
          Add certificate extensions Sub-task Closed Paweł Ścibiorski
          4.
          Create CertificateController class Sub-task Closed Paweł Ścibiorski
          5.
          Formatting and list of certificates Sub-task Closed Paweł Ścibiorski
          6.
          Extract certificates Sub-task Closed Paweł Ścibiorski
          7.
          Store information if certificate is valid and list of exceptions. Sub-task Closed Paweł Ścibiorski
          8.
          Implement loading certificate files into Keystore Sub-task Closed Paweł Ścibiorski
          9.
          Implement deleting certificate files from Keystore Sub-task Closed Paweł Ścibiorski
          10.
          Create GUI for single certificate Sub-task Closed Paweł Ścibiorski
          11.
          Create dialog for certificates Sub-task Closed Paweł Ścibiorski
          12.
          Add scrollable panel with certificate's fields to the dialog Sub-task Closed Paweł Ścibiorski
          13.
          Add fields for certificate extensions Sub-task Closed Paweł Ścibiorski
          14.
          Add buttons for certificate options Sub-task Closed Paweł Ścibiorski
          15.
          Add information saying if certificate is valid. Sub-task Closed Paweł Ścibiorski
          16.
          Add information about status of the certificate Sub-task Closed Paweł Ścibiorski
          17.
          Create GUI for managing certificate list Sub-task Closed Paweł Ścibiorski
          18.
          Create new Jpanel Sub-task Closed Paweł Ścibiorski
          19.
          Add Jpanel to tab in advenced Sub-task Closed Paweł Ścibiorski
          20.
          Create table for certificates Sub-task Closed Paweł Ścibiorski
          21.
          Add check boxes with options Sub-task Closed Paweł Ścibiorski
          22.
          Show certificate on mouse click Sub-task Closed Paweł Ścibiorski
          23.
          Handle situation when user didn't set up truststore Sub-task Closed Paweł Ścibiorski
          24.
          Add saving of the preferences Sub-task Closed Paweł Ścibiorski
          25.
          Create keystores for different certificates validity conditions Sub-task Closed Paweł Ścibiorski
          26.
          Refresh certificates table after adding or deleting certificates Sub-task Closed Paweł Ścibiorski

            Activity

              People

              Assignee:
              alameyo Paweł Ścibiorski
              Reporter:
              wroot wroot
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: