View Javadoc

1   package org.eparapher.rcp.wizards;
2   
3   import org.eclipse.jface.wizard.IWizardPage;
4   import org.eclipse.jface.wizard.WizardPage;
5   import org.eclipse.swt.SWT;
6   import org.eclipse.swt.layout.GridData;
7   import org.eclipse.swt.layout.GridLayout;
8   import org.eclipse.swt.widgets.Button;
9   import org.eclipse.swt.widgets.Combo;
10  import org.eclipse.swt.widgets.Composite;
11  import org.eclipse.swt.widgets.Label;
12  import org.eparapher.rcp.tools.GUIIcons;
13  import org.eparapher.core.signature.CMSSignatureParameters;
14  
15  public class CMSSigningWizardPageThree extends WizardPage implements
16  		IWizardPage {
17  
18  	private Button detachedSignature;
19  	private Button attachedSignature;
20  	private Button insertCRLs;
21  	private Button insertTimestamp;
22  
23  	private Combo format;
24  
25  	private Composite container;
26  
27  	private CMSSignatureParameters cmssignatureparams;
28  	
29  	public CMSSigningWizardPageThree(CMSSignatureParameters mcmssignatureparams) {
30  		super("CMS Signing");
31  		setTitle("CMS signature wizard page 3/3");
32  		setDescription("Please select your CMS enveloppe settings.");
33  		
34  		setImageDescriptor( GUIIcons.WIZARD_SIGN_IMG );
35  		cmssignatureparams = mcmssignatureparams;
36  	}
37  	
38  	public void createControl(Composite parent) {
39  		container = new Composite(parent, SWT.FILL);
40  		container.setLayout(new GridLayout(2,true));
41  		//container.setLayoutData(new GridData(GridData.FILL_BOTH));
42  		
43  		Label labelFormat = new Label(container, SWT.NULL);
44  		labelFormat.setText("Signature Hash : ");
45  		labelFormat.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
46  		format = new Combo(container, SWT.READ_ONLY |SWT.BORDER);
47  		format.setItems(CMSSignatureParameters.HASH_ITEMS);
48  		format.select(cmssignatureparams.getSignatureDigestAlgOIDAsInt());
49  		format.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
50  		
51  		Label labelDetachedSignature = new Label(container, SWT.NULL);
52  		labelDetachedSignature.setText("Detached signature : ");
53  		labelDetachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
54  		detachedSignature = new Button(container, SWT.RADIO);
55  		detachedSignature.setText("(*.p7s file, contain signature(s) only)");
56  		detachedSignature.setToolTipText("generate a p7s file that contain only signature");
57  		detachedSignature.setSelection (cmssignatureparams.isDetached());
58  		detachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
59  
60  		Label labelAttachedSignature = new Label(container, SWT.NULL);
61  		labelAttachedSignature.setText("Attached signature : ");
62  		labelAttachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
63  		attachedSignature = new Button(container, SWT.RADIO);
64  		attachedSignature.setText("(*.p7m file, contain signature(s) and data)");
65  		attachedSignature.setToolTipText("generate a p7m file that contain signature(s) and data");
66  		attachedSignature.setSelection (!cmssignatureparams.isDetached());
67  		attachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
68  /*
69  		Label labelInsertCRLs = new Label(container, SWT.NULL);
70  		labelInsertCRLs.setText("Insert CRLs in signature : ");
71  		labelInsertCRLs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
72  		insertCRLs = new Button(container, SWT.CHECK);
73  		insertCRLs.setToolTipText("Insert CRL");
74  		insertCRLs.setSelection (cmssignatureparams.isInsertCRLs());
75  		insertCRLs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
76  		insertCRLs.setEnabled(false);
77  		
78  
79  		Label labelInsertTimestamp = new Label(container, SWT.NULL);
80  		labelInsertTimestamp.setText("Insert TimeStamp in signature : ");
81  		labelInsertTimestamp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
82  		insertTimestamp = new Button(container, SWT.CHECK);
83  		insertTimestamp.setToolTipText("Insert Timestamp");
84  		insertTimestamp.setSelection (cmssignatureparams.isInsertCRLs());
85  		insertTimestamp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
86  		insertTimestamp.setEnabled(false);*/
87  		
88  		// Required to avoid an error in the system
89  		setControl(container);
90  		setPageComplete(true);
91  	}
92  	
93  	public boolean isDetachedSignature() {
94  		return detachedSignature.getSelection();
95  	}
96  	
97  	public boolean isCRLsInSignature() {
98  		return insertCRLs.getSelection();
99  	}
100 
101 	public boolean isTimestampInSignature() {
102 		return insertTimestamp.getSelection();
103 	}
104 	
105 	public int getSignatureHash() {
106 		return format.getSelectionIndex();
107 	}
108 
109 }