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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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 }