public void handleEvent(Event event) {
   if (event.widget.equals(defaultRadioButton)) {
     LogUtil.logInfo("default"); // $NON-NLS-1$
     setPageComplete(false);
     useDefaultValues = true;
     wizard.setCanFinish(true);
   } else if (event.widget.equals(customRadioButton)) {
     LogUtil.logInfo("custom"); // $NON-NLS-1$
     wizard.setCanFinish(false);
     useDefaultValues = false;
     setPageComplete(true);
   }
 }
Ejemplo n.º 2
0
 private void addFlexibleActions(IToolBarManager manager) {
   Iterator<IKeyStoreActionDescriptor> it =
       KeyStoreActionManager.getInstance().getNewSymmetricKeyActions();
   IKeyStoreActionDescriptor tmp;
   while (it.hasNext()) {
     tmp = it.next();
     if (tmp.getExtensionUID()
         .equals("org.jcryptool.crypto.flexiprovider.keystore")) { // $NON-NLS-1$
       LogUtil.logInfo("should add a secret key command"); // $NON-NLS-1$
       addContributionItem(
           manager,
           tmp.getID(),
           KeyStorePlugin.getImageDescriptor(tmp.getIcon()),
           tmp.getToolTipText());
       break;
     }
   }
   Iterator<IKeyStoreActionDescriptor> it2 =
       KeyStoreActionManager.getInstance().getNewKeyPairActions();
   IKeyStoreActionDescriptor tmp2;
   while (it2.hasNext()) {
     tmp2 = it2.next();
     if (tmp2.getExtensionUID()
         .equals("org.jcryptool.crypto.flexiprovider.keystore")) { // $NON-NLS-1$
       LogUtil.logInfo("should add a key pair command"); // $NON-NLS-1$
       addContributionItem(
           manager,
           tmp2.getID(),
           KeyStorePlugin.getImageDescriptor(tmp2.getIcon()),
           tmp2.getToolTipText());
       break;
     }
   }
   Iterator<IKeyStoreActionDescriptor> it3 =
       KeyStoreActionManager.getInstance().getImportActions();
   IKeyStoreActionDescriptor tmp3;
   while (it3.hasNext()) {
     tmp3 = it3.next();
     if (tmp3.getExtensionUID()
         .equals("org.jcryptool.crypto.flexiprovider.keystore")) { // $NON-NLS-1$
       LogUtil.logInfo("should add an import command"); // $NON-NLS-1$
       addContributionItem(
           manager,
           tmp3.getID(),
           KeyStorePlugin.getImageDescriptor(tmp3.getIcon()),
           tmp3.getToolTipText());
       break;
     }
   }
 }
  public void createControl(Composite parent) {
    LogUtil.logInfo("creating control"); // $NON-NLS-1$
    Composite pageComposite = new Composite(parent, SWT.NULL);
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    gridLayout.makeColumnsEqualWidth = true;
    pageComposite.setLayout(gridLayout);
    GridData gridData = new GridData();
    gridData.grabExcessVerticalSpace = true;
    gridData.grabExcessHorizontalSpace = true;
    pageComposite.setLayoutData(gridData);
    createParametersGroup(pageComposite);

    defaultRadioButton.setSelection(true);
    registerListeners();
    pageComposite.setSize(new Point(300, 200));
    pageComposite.setLayout(new GridLayout());
    setControl(pageComposite);
    setPageComplete(false);
  }
Ejemplo n.º 4
0
  public static KeyStoreAliasNotifier makeKeyPairByWizard(String keyType) {
    LogUtil.logInfo("NewKeyPairAction"); // $NON-NLS-1$
    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
    Wizard wizard = new NewKeyPairWizard(keyType);
    WizardDialog dialog = new WizardDialog(shell, wizard);
    dialog.setMinimumPageSize(300, 350);

    final KeyStoreAliasNotifier resultAlias = new KeyStoreAliasNotifier();

    int result = dialog.open();
    if (result == Window.OK) {
      if (wizard instanceof INewKeyWizard) {
        final INewEntryDescriptor nkd = ((INewKeyWizard) wizard).getNewEntryDescriptor();
        final Integer[] argument = new Integer[1];
        final Integer arg = nkd.getKeyLength();
        argument[0] = arg;
        final Integer keyLen = argument[0];
        LogUtil.logInfo("nkd.getKeyLength: " + argument[0]); // $NON-NLS-1$
        Job job = new Job("New Key Pair Job") { // $NON-NLS-1$
              @Override
              protected IStatus run(IProgressMonitor monitor) {
                monitor.beginTask("New KeyPair Task", IProgressMonitor.UNKNOWN); // $NON-NLS-1$
                try {
                  IMetaKeyGenerator gen =
                      AlgorithmsXMLManager.getInstance()
                          .getKeyPairGenerator(nkd.getAlgorithmName());
                  IMetaLength validKeyLengths = gen.getLengths();

                  // Check if entered key length is valid
                  boolean isValidKeyLength = true;
                  if (validKeyLengths != null) {
                    isValidKeyLength =
                        (validKeyLengths.getDefaultLength() == keyLen)
                            || (keyLen >= validKeyLengths.getLowerBound()
                                && keyLen <= validKeyLengths.getUpperBound())
                            || (validKeyLengths.getLengths() != null
                                && validKeyLengths.getLengths().contains(keyLen));
                  }
                  if (!isValidKeyLength) {
                    throw new InvalidAlgorithmParameterException("illegal key length");
                  }

                  AlgorithmParameterSpec spec = null;
                  if (arg != -1) {
                    if (gen.getParameterSpecClassName() != null) {
                      spec =
                          Reflector.getInstance()
                              .instantiateParameterSpec(gen.getParameterSpecClassName(), argument);
                    }
                  }
                  KeyPairGenerator generator = Registry.getKeyPairGenerator(nkd.getAlgorithmName());
                  if (spec != null) {
                    generator.initialize(spec, FlexiProviderKeystorePlugin.getSecureRandom());
                  } else if (arg != -1) {
                    generator.initialize(arg, FlexiProviderKeystorePlugin.getSecureRandom());
                  }
                  KeyPair keyPair = generator.genKeyPair();
                  PrivateKey priv = keyPair.getPrivate();
                  PublicKey pub = keyPair.getPublic();
                  NewKeyPairDescriptor descriptor = new NewKeyPairDescriptor(nkd, priv, pub);
                  resultAlias.notifyAboutAlias(
                      AbstractKeyStoreHandler.addKeyPairStatic(
                          descriptor,
                          ((NewKeyPairDescriptor) descriptor).getPrivateKey(),
                          ((NewKeyPairDescriptor) descriptor).getPublicKey()));
                } catch (NoSuchAlgorithmException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "NoSuchAlgorithmException while generating a key pair",
                      e,
                      true);
                } catch (InvalidAlgorithmParameterException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "InvalidAlgorithmParameterException while generating a key pair",
                      e,
                      true);
                } catch (SecurityException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "SecurityException while generating a key pair",
                      e,
                      true);
                } catch (IllegalArgumentException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "IllegalArgumentException while generating a key pair",
                      e,
                      true);
                } catch (ClassNotFoundException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "ClassNotFoundException while generating a key pair",
                      e,
                      true);
                } catch (NoSuchMethodException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "NoSuchMethodException while generating a key pair",
                      e,
                      true);
                } catch (InstantiationException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "InstantiationException while generating a key pair",
                      e,
                      true);
                } catch (IllegalAccessException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "IllegalAccessException while generating a key pair",
                      e,
                      true);
                } catch (InvocationTargetException e) {
                  LogUtil.logError(
                      FlexiProviderKeystorePlugin.PLUGIN_ID,
                      "InvocationTargetException while generating a key pair",
                      e,
                      true);
                } finally {
                  monitor.done();
                }
                return Status.OK_STATUS;
              }

              @Override
              public boolean belongsTo(Object family) {
                return family == KEYSTOREHELPER_FAMILY;
              }
            };
        job.setPriority(Job.LONG);
        job.setUser(true);
        job.schedule();
      }
    } else {
      resultAlias.notifyAboutAlias(null);
    }

    return resultAlias;
  }