package org.eparapher.rcp.wizards; import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eparapher.rcp.tools.GUIIcons; import org.eparapher.core.signature.CMSSignatureParameters; public class CMSSigningWizardPageThree extends WizardPage implements IWizardPage { private Button detachedSignature; private Button attachedSignature; private Button insertCRLs; private Button insertTimestamp; private Combo format; private Composite container; private CMSSignatureParameters cmssignatureparams; public CMSSigningWizardPageThree(CMSSignatureParameters mcmssignatureparams) { super("CMS Signing"); setTitle("CMS Signature Wizard Page 3/3"); setDescription("Please select your CMS enveloppe settings."); setImageDescriptor( GUIIcons.WIZARD_SIGN_IMG ); cmssignatureparams = mcmssignatureparams; } public void createControl(Composite parent) { container = new Composite(parent, SWT.FILL); container.setLayout(new GridLayout(2,true)); //container.setLayoutData(new GridData(GridData.FILL_BOTH)); Label labelFormat = new Label(container, SWT.NULL); labelFormat.setText("Signature Hash : "); labelFormat.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); format = new Combo(container, SWT.READ_ONLY |SWT.BORDER); format.setItems(CMSSignatureParameters.HASH_ITEMS); format.select(cmssignatureparams.getSignatureDigestAlgOIDAsInt()); format.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); Label labelDetachedSignature = new Label(container, SWT.NULL); labelDetachedSignature.setText("Detached signature : "); labelDetachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); detachedSignature = new Button(container, SWT.RADIO); detachedSignature.setText("(*.p7s file, contain signature(s) only)"); detachedSignature.setToolTipText("generate a p7s file that contain only signature"); detachedSignature.setSelection (cmssignatureparams.isDetached()); detachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); Label labelAttachedSignature = new Label(container, SWT.NULL); labelAttachedSignature.setText("Attached signature : "); labelAttachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); attachedSignature = new Button(container, SWT.RADIO); attachedSignature.setText("(*.p7m file, contain signature(s) and data)"); attachedSignature.setToolTipText("generate a p7m file that contain signature(s) and data"); attachedSignature.setSelection (!cmssignatureparams.isDetached()); attachedSignature.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); /* Label labelInsertCRLs = new Label(container, SWT.NULL); labelInsertCRLs.setText("Insert CRLs in signature : "); labelInsertCRLs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); insertCRLs = new Button(container, SWT.CHECK); insertCRLs.setToolTipText("Insert CRL"); insertCRLs.setSelection (cmssignatureparams.isInsertCRLs()); insertCRLs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); insertCRLs.setEnabled(false); Label labelInsertTimestamp = new Label(container, SWT.NULL); labelInsertTimestamp.setText("Insert TimeStamp in signature : "); labelInsertTimestamp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); insertTimestamp = new Button(container, SWT.CHECK); insertTimestamp.setToolTipText("Insert Timestamp"); insertTimestamp.setSelection (cmssignatureparams.isInsertCRLs()); insertTimestamp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); insertTimestamp.setEnabled(false);*/ // Required to avoid an error in the system setControl(container); setPageComplete(true); } public boolean isDetachedSignature() { return detachedSignature.getSelection(); } public boolean isCRLsInSignature() { return insertCRLs.getSelection(); } public boolean isTimestampInSignature() { return insertTimestamp.getSelection(); } public int getSignatureHash() { return format.getSelectionIndex(); } }