diff options
author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-11-03 17:02:40 +0100 |
---|---|---|
committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-11-03 17:02:40 +0100 |
commit | 851fda341cc53b4aa61de6637917741f5508515c (patch) | |
tree | 84f89d0997397a21f249d279848ead54b84a90ca | |
parent | 1b28f26289239d3d02cd072d78b9625a6cf1d642 (diff) | |
download | pdf-over-851fda341cc53b4aa61de6637917741f5508515c.tar.gz pdf-over-851fda341cc53b4aa61de6637917741f5508515c.tar.bz2 pdf-over-851fda341cc53b4aa61de6637917741f5508515c.zip |
text w/ dependency info if fido2 unsupported
4 files changed, 27 insertions, 4 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AboutComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AboutComposite.java index 2dced6ac..09c2fdbc 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AboutComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AboutComposite.java @@ -82,8 +82,7 @@ public class AboutComposite extends ConfigurationCompositeBase { SWTUtils.reanchor(lnkDataProtection).bottom(btnUpdateCheck,-5); SWTUtils.addSelectionListener(btnOpenLogDirectory, (e) -> { - try - { + try { if (Desktop.isDesktopSupported()) Desktop.getDesktop().open(new File(Constants.CONFIG_DIRECTORY + File.separator + "logs")); } catch (Exception ex) { diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/Fido2ConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/Fido2ConfigurationComposite.java index 36e2931b..a294569f 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/Fido2ConfigurationComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/Fido2ConfigurationComposite.java @@ -9,18 +9,21 @@ import org.eclipse.swt.widgets.Link; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.sun.jna.Platform; + import at.asit.pdfover.commons.Constants; import at.asit.pdfover.commons.Messages; import at.asit.pdfover.gui.utils.SWTUtils; import at.asit.pdfover.gui.workflow.config.ConfigurationDataInMemory; import at.asit.pdfover.gui.workflow.config.ConfigurationManager; import at.asit.pdfover.gui.workflow.states.State; +import at.asit.webauthn.WebAuthN; public class Fido2ConfigurationComposite extends ConfigurationCompositeBase { private static final Logger log = LoggerFactory.getLogger(Fido2ConfigurationComposite.class); private Link lnkInfoText; - // TODO information about unsupported/installing deps? + private Link unsupportedText; private Group grpFidoSettings; private Button btnFido2ByDefault; @@ -34,13 +37,18 @@ public class Fido2ConfigurationComposite extends ConfigurationCompositeBase { SWTUtils.setFontHeight(lnkInfoText, Constants.TEXT_SIZE_NORMAL); SWTUtils.addSelectionListener(lnkInfoText, () -> { SWTUtils.openURL(Messages.getString("config.fido2.InfoURL")); }); + this.unsupportedText = new Link(this, SWT.WRAP); + SWTUtils.anchor(unsupportedText).top(lnkInfoText,5).left(0,5).right(100,-5); + SWTUtils.setFontHeight(unsupportedText, Constants.TEXT_SIZE_NORMAL); + SWTUtils.addSelectionListener(unsupportedText, () -> { SWTUtils.openURL("https://developers.yubico.com/libfido2/#_installation"); }); + FormLayout STANDARD_LAYOUT = new FormLayout(); STANDARD_LAYOUT.marginHeight = 10; STANDARD_LAYOUT.marginWidth = 5; this.grpFidoSettings = new Group(this, SWT.NONE); this.grpFidoSettings.setLayout(STANDARD_LAYOUT); - SWTUtils.anchor(grpFidoSettings).top(lnkInfoText,5).left(0,5).right(100,-5); + SWTUtils.anchor(grpFidoSettings).top(lnkInfoText,10).left(0,5).right(100,-5); SWTUtils.setFontHeight(grpFidoSettings, Constants.TEXT_SIZE_NORMAL); this.btnFido2ByDefault = new Button(this.grpFidoSettings, SWT.CHECK); @@ -48,6 +56,11 @@ public class Fido2ConfigurationComposite extends ConfigurationCompositeBase { SWTUtils.setFontHeight(btnFido2ByDefault, Constants.TEXT_SIZE_BUTTON); SWTUtils.addSelectionListener(btnFido2ByDefault, () -> { this.configurationContainer.fido2ByDefault = btnFido2ByDefault.getSelection(); }); + if (WebAuthN.isAvailable()) + this.unsupportedText.setVisible(false); + else + this.grpFidoSettings.setVisible(false); + reloadResources(); } @@ -56,6 +69,13 @@ public class Fido2ConfigurationComposite extends ConfigurationCompositeBase { SWTUtils.setLocalizedText(lnkInfoText, "config.fido2.AboutFIDO"); SWTUtils.setLocalizedText(grpFidoSettings, "config.fido2.Group"); SWTUtils.setLocalizedText(btnFido2ByDefault, "config.fido2.ByDefault"); + + if (Platform.isLinux()) + SWTUtils.setLocalizedText(unsupportedText, "config.fido2.UnsupportedTryLibFido2"); + else { + SWTUtils.setFontStyle(unsupportedText, SWT.BOLD); + SWTUtils.setLocalizedText(unsupportedText, "config.fido2.UnsupportedPlatform"); + } } @Override diff --git a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties index 73cdf4ca..4da17d9d 100644 --- a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties +++ b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties @@ -268,6 +268,8 @@ config.UpdateStatus.OUTDATED=New version available. <a>Update now</a>? config.UpdateStatus.UP_TO_DATE=PDF-Over is up to date. <a>Check again</a>? config.UpdateStatus.FAILED=Update check failed. <a>Retry</a>? config.fido2.AboutFIDO=ID Austria users can optionally substitute a suitable hardware security token for app authentication.\n\nThis does not replace username/password entry. However, instead of confirming the signature in the smartphone app, the user instead confirms it using their security token.\n\nFurther information regarding supported tokens is available at <a>oesterreich.gv.at</a>. +config.fido2.UnsupportedTryLibFido2=You are currently missing a required dependency to utilize FIDO2 tokens:\n ● <a>LibFido2</a>\n\nPlease install the dependency via your package manager, then restart PDF-Over. +config.fido2.UnsupportedPlatform=FIDO2 authentication is currently unsupported on your platform. config.fido2.InfoURL=https://www.oesterreich.gv.at/id-austria/haeufige-fragen/allgemeines-zu-id-austria#fido config.fido2.Group=FIDO2 settings config.fido2.ByDefault=Select FIDO2 authentication by default diff --git a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties index b09b249c..1ed8d0e9 100644 --- a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties +++ b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties @@ -118,6 +118,8 @@ config.Keystore=&Keystore config.Simple=&Einfach config.ShowLogDirectory=Logs anzeigen config.fido2.AboutFIDO=Nutzer:innen mit ID Austria können einen Hardware-Sicherheitstoken als Ersatz zum Smartphone zur Auslösung von PDF-Signaturen verwenden.\n\nDie Eingabe von Benutzername und Passwort ist weiterhin notwendig, aber die Freigabe über die App wird durch die Freigabe über den Hardware-Token ersetzt.\n\nWeitere Informationen erhalten Sie auf <a>der Informationsseite der ID-Austria</a>. +config.fido2.UnsupportedTryLibFido2=Für die Verwendung von FIDO2-Tokens wird benötigt:\n ● <a>LibFido2</a>\n\nBitte installieren Sie die o.a. Voraussetzungen und starten sie dann PDF-Over neu. +config.fido2.UnsupportedPlatform=Ihr System unterstützt keine Authentifizierung mittels FIDO2-Token. config.fido2.InfoURL=https://www.oesterreich.gv.at/id-austria/haeufige-fragen/allgemeines-zu-id-austria#fido config.fido2.Group=FIDO2-Einstellungen config.fido2.ByDefault=FIDO2 standardmäßig auswählen |