diff options
| author | tkellner <tkellner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2012-04-02 16:38:59 +0000 | 
|---|---|---|
| committer | tkellner <tkellner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2012-04-02 16:38:59 +0000 | 
| commit | f8db5af9c94285c4946bdf38407fe15ed1b7f818 (patch) | |
| tree | baf5d1db2da875abf1b90daf5119fe04f8a9db18 /BKUAppletExt/src/main/java/at | |
| parent | 8a6896444ce9b14c27193e688a8eeb59e1f51a4d (diff) | |
| download | mocca-f8db5af9c94285c4946bdf38407fe15ed1b7f818.tar.gz mocca-f8db5af9c94285c4946bdf38407fe15ed1b7f818.tar.bz2 mocca-f8db5af9c94285c4946bdf38407fe15ed1b7f818.zip | |
* Save certificates to local file system
* Show cardreader and smartcard information
for Webstart and Applet version
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@1042 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'BKUAppletExt/src/main/java/at')
4 files changed, 320 insertions, 0 deletions
| diff --git a/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/GETCertificateApplet.java b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/GETCertificateApplet.java new file mode 100644 index 00000000..4a46f397 --- /dev/null +++ b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/GETCertificateApplet.java @@ -0,0 +1,61 @@ +/* + * Copyright 2011 by Graz University of Technology, Austria + * MOCCA has been developed by the E-Government Innovation Center EGIZ, a joint + * initiative of the Federal Chancellery Austria and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + +package at.gv.egiz.bku.online.applet; + +import java.awt.Container; +import java.net.URL; +import java.util.Locale; + +import at.gv.egiz.bku.gui.BKUGUIFacade; +import at.gv.egiz.bku.gui.GetCertificateGUI; +import at.gv.egiz.bku.gui.GetCertificateGUIFacade; +import at.gv.egiz.bku.gui.HelpListener; +import at.gv.egiz.bku.gui.SwitchFocusListener; +import at.gv.egiz.bku.gui.viewer.FontProvider; + +/** +* +* @author Thomas Lenz <thomas.lenz@iaik.tugraz.at> +*/ + +public class GETCertificateApplet extends BKUApplet { + +	private static final long serialVersionUID = 1L; +	 +	@Override +	protected BKUGUIFacade createGUI(Container contentPane, Locale locale, +			BKUGUIFacade.Style guiStyle, URL backgroundImgURL, +			FontProvider fontProvider, HelpListener helpListener, +			SwitchFocusListener switchFocusListener) { +		return new GetCertificateGUI(contentPane, locale, +				backgroundImgURL, fontProvider, helpListener, +				switchFocusListener); +	} + +	@Override +	protected AppletBKUWorker createBKUWorker(BKUApplet applet, BKUGUIFacade gui) { +		return new GETCertificateBKUWorker(applet, (GetCertificateGUIFacade) gui); +	} +	 +} diff --git a/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/GETCertificateBKUWorker.java b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/GETCertificateBKUWorker.java new file mode 100644 index 00000000..5b04e28b --- /dev/null +++ b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/GETCertificateBKUWorker.java @@ -0,0 +1,100 @@ +/* + * Copyright 2011 by Graz University of Technology, Austria + * MOCCA has been developed by the E-Government Innovation Center EGIZ, a joint + * initiative of the Federal Chancellery Austria and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + +package at.gv.egiz.bku.online.applet; + +import java.util.Collections; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.gv.egiz.bku.gui.BKUGUIFacade; +import at.gv.egiz.bku.gui.GetCertificateGUIFacade; +import at.gv.egiz.bku.smccstal.GETCertificateRequestHandler; +import at.gv.egiz.stal.ErrorResponse; +import at.gv.egiz.stal.InfoboxReadRequest; +import at.gv.egiz.stal.QuitRequest; +import at.gv.egiz.stal.STALResponse; +import at.gv.egiz.stal.SignRequest; +import at.gv.egiz.stal.ext.GETCertificateRequest; +import at.gv.egiz.stal.ext.GETCertificateResponse; + +/** +* +* @author Thomas Lenz <thomas.lenz@iaik.tugraz.at> +*/ + +public class GETCertificateBKUWorker extends AppletBKUWorker { +	 +	private final Logger log = LoggerFactory.getLogger(GETCertificateBKUWorker.class); + +	  public GETCertificateBKUWorker(BKUApplet applet, GetCertificateGUIFacade gui) { +	    super(applet, gui); +	    removeRequestHandler(InfoboxReadRequest.class); +	    removeRequestHandler(SignRequest.class); +	    addRequestHandler(GETCertificateRequest.class, new GETCertificateRequestHandler()); +	  } + +	  @Override +	  public void run() { +	    gui.showMessageDialog(BKUGUIFacade.TITLE_WELCOME, +	            BKUGUIFacade.MESSAGE_WELCOME); + +	    try { + +	      List<STALResponse> responses = handleRequest(Collections.singletonList(new GETCertificateRequest())); +	      handleRequest(Collections.singletonList(new QuitRequest())); +	       +	      if (responses.size() == 1) { +	        STALResponse response = responses.get(0); +	        if (response instanceof GETCertificateResponse) { +	          log.debug("GET certificate dialog terminated."); +	        } else if (response instanceof ErrorResponse) { +	          log.debug("GET certificate dialog terminated with error."); +	        } else { +	          throw new RuntimeException("Invalid STAL response: " + response.getClass().getName()); +	        } +	      } else { +	        throw new RuntimeException("invalid number of STAL responses: " + responses.size()); +	      } + +	    } catch (RuntimeException ex) { +	      log.error(ex.getMessage()); +	      Throwable cause = ex.getCause(); +	      if (cause != null) { // && cause instanceof InterruptedException) { +	        log.info(cause.getMessage()); +	      } +	      showErrorDialog(BKUGUIFacade.ERR_UNKNOWN, null); +	    } catch (Exception ex) { +	      log.error(ex.getMessage(), ex); +	      showErrorDialog(BKUGUIFacade.ERR_UNKNOWN_WITH_PARAM, ex); +	    } finally { +	      if (signatureCard != null) { +	        signatureCard.disconnect(false); +	      } +	    } + +	    applet.sendRedirect(); +	  } +} diff --git a/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/HardwareInfoApplet.java b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/HardwareInfoApplet.java new file mode 100644 index 00000000..18397613 --- /dev/null +++ b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/HardwareInfoApplet.java @@ -0,0 +1,59 @@ +/* + * Copyright 2012 by Graz University of Technology, Austria + * MOCCA has been developed by the E-Government Innovation Center EGIZ, a joint + * initiative of the Federal Chancellery Austria and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + +package at.gv.egiz.bku.online.applet; + +import java.awt.Container; +import java.net.URL; +import java.util.Locale; + +import at.gv.egiz.bku.gui.BKUGUIFacade; +import at.gv.egiz.bku.gui.GetHardwareInfoGUI; +import at.gv.egiz.bku.gui.GetHardwareInfoGUIFacade; +import at.gv.egiz.bku.gui.HelpListener; +import at.gv.egiz.bku.gui.SwitchFocusListener; +import at.gv.egiz.bku.gui.viewer.FontProvider; + +/** +* +* @author Thomas Lenz <thomas.lenz@iaik.tugraz.at> +*/ + +public class HardwareInfoApplet extends BKUApplet { +	private static final long serialVersionUID = 1L; +	 +	@Override +	protected BKUGUIFacade createGUI(Container contentPane, Locale locale, +			BKUGUIFacade.Style guiStyle, URL backgroundImgURL, +			FontProvider fontProvider, HelpListener helpListener, +			SwitchFocusListener switchFocusListener) { +		return new GetHardwareInfoGUI(contentPane, locale, +				backgroundImgURL, fontProvider, helpListener, +				switchFocusListener); +	} +  +	@Override +	protected AppletBKUWorker createBKUWorker(BKUApplet applet, BKUGUIFacade gui) { +		return new HardwareInfoBKUWorker(applet, (GetHardwareInfoGUIFacade) gui); +	} +} diff --git a/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/HardwareInfoBKUWorker.java b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/HardwareInfoBKUWorker.java new file mode 100644 index 00000000..bfa4d71e --- /dev/null +++ b/BKUAppletExt/src/main/java/at/gv/egiz/bku/online/applet/HardwareInfoBKUWorker.java @@ -0,0 +1,100 @@ +/* + * Copyright 2012 by Graz University of Technology, Austria + * MOCCA has been developed by the E-Government Innovation Center EGIZ, a joint + * initiative of the Federal Chancellery Austria and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + +package at.gv.egiz.bku.online.applet; + +import java.util.Collections; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.gv.egiz.bku.gui.BKUGUIFacade; +import at.gv.egiz.bku.gui.GetHardwareInfoGUIFacade; +import at.gv.egiz.bku.smccstal.GETHardwareInfoRequestHandler; +import at.gv.egiz.stal.ErrorResponse; +import at.gv.egiz.stal.InfoboxReadRequest; +import at.gv.egiz.stal.QuitRequest; +import at.gv.egiz.stal.STALResponse; +import at.gv.egiz.stal.SignRequest; +import at.gv.egiz.stal.ext.GETHardwareInfoRequest; +import at.gv.egiz.stal.ext.GETHardwareInfoResponse; + +/** +* +* @author Thomas Lenz <thomas.lenz@iaik.tugraz.at> +*/ + +public class HardwareInfoBKUWorker extends AppletBKUWorker { +	private final Logger log = LoggerFactory.getLogger(HardwareInfoBKUWorker.class); + +	  public HardwareInfoBKUWorker(BKUApplet applet, GetHardwareInfoGUIFacade gui) { +	    super(applet, gui); +	    removeRequestHandler(InfoboxReadRequest.class); +	    removeRequestHandler(SignRequest.class); +	    addRequestHandler(GETHardwareInfoRequest.class, new GETHardwareInfoRequestHandler()); +	  } + +	  @Override +	  public void run() { +	    gui.showMessageDialog(BKUGUIFacade.TITLE_WELCOME, +	            BKUGUIFacade.MESSAGE_WELCOME); + +	    try { + +	      List<STALResponse> responses = handleRequest(Collections.singletonList(new GETHardwareInfoRequest())); +	      handleRequest(Collections.singletonList(new QuitRequest())); +	       +	      if (responses.size() == 1) { +	        STALResponse response = responses.get(0); +	        if (response instanceof GETHardwareInfoResponse) { +	          log.debug("hardware-info dialog terminated."); +	        } else if (response instanceof ErrorResponse) { +	          log.debug("hardware-info dialog terminated with error."); +	        } else { +	          throw new RuntimeException("Invalid STAL response: " + response.getClass().getName()); +	        } +	      } else { +	        throw new RuntimeException("invalid number of STAL responses: " + responses.size()); +	      } + +	    } catch (RuntimeException ex) { +	      log.error(ex.getMessage()); +	      Throwable cause = ex.getCause(); +	      if (cause != null) { // && cause instanceof InterruptedException) { +	        log.info(cause.getMessage()); +	      } +	      showErrorDialog(BKUGUIFacade.ERR_UNKNOWN, null); +	    } catch (Exception ex) { +	      log.error(ex.getMessage(), ex); +	      showErrorDialog(BKUGUIFacade.ERR_UNKNOWN_WITH_PARAM, ex); +	    } finally { +	      if (signatureCard != null) { +	        signatureCard.disconnect(false); +	      } +	    } + +	    applet.sendRedirect(); +	  } + +} | 
