use of de.flexiprovider.api.exceptions.NoSuchAlgorithmException in project core by jcryptool.
the class CipherEngine method init.
@Override
public KeyObject init(IFlexiProviderOperation operation) {
// $NON-NLS-1$
LogUtil.logInfo("initializing cipher engine");
this.operation = operation;
char[] password = null;
Key key = null;
// password may be contained in the ActionItem, otherwise prompt
if (operation.getPassword() != null) {
password = operation.getPassword();
} else {
password = promptPassword();
}
if (password != null) {
try {
key = (Key) KeyStoreManager.getInstance().getSecretKey(operation.getKeyStoreAlias(), password);
// save in the operation if no exception occurred
operation.setPassword(password);
} catch (UnrecoverableEntryException e) {
JCTMessageDialog.showInfoDialog(new Status(IStatus.INFO, FlexiProviderEnginesPlugin.PLUGIN_ID, Messages.ExAccessKeystorePassword, e));
return null;
} catch (Exception e) {
LogUtil.logError(FlexiProviderEnginesPlugin.PLUGIN_ID, "Exception while accessing a secret key", e, // $NON-NLS-1$
true);
return null;
}
}
if (key != null) {
try {
cipher = Registry.getCipher(operation.getAlgorithmDescriptor().getAlgorithmName());
if (operation.getOperation().equals(OperationType.ENCRYPT)) {
cipher.initEncrypt(key, operation.getAlgorithmDescriptor().getAlgorithmParameterSpec(), FlexiProviderEnginesPlugin.getSecureRandom());
} else {
cipher.initDecrypt(key, operation.getAlgorithmDescriptor().getAlgorithmParameterSpec());
}
initialized = true;
} catch (NoSuchAlgorithmException e) {
LogUtil.logError(FlexiProviderEnginesPlugin.PLUGIN_ID, "NoSuchAlgorithmException while initializing a cipher engine", e, // $NON-NLS-1$
true);
return null;
} catch (InvalidKeyException e) {
LogUtil.logError(FlexiProviderEnginesPlugin.PLUGIN_ID, Messages.CipherEngine_2, e, true);
return null;
} catch (InvalidAlgorithmParameterException e) {
LogUtil.logError(FlexiProviderEnginesPlugin.PLUGIN_ID, "InvalidAlgorithmParameterException while initializing a cipher engine", e, // $NON-NLS-1$
true);
return null;
}
}
return new KeyObject(key, password);
}
use of de.flexiprovider.api.exceptions.NoSuchAlgorithmException in project core by jcryptool.
the class AbstractKeyNodeContentProvider method getKeySpec.
protected KeySpec getKeySpec(Key key) {
try {
KeyFactory keyFactory = Registry.getKeyFactory(key.getAlgorithm());
KeySpec keySpec = keyFactory.getKeySpec(key, AlgorithmParameterSpec.class);
return keySpec;
} catch (NoSuchAlgorithmException e) {
return null;
} catch (InvalidKeySpecException e) {
return null;
}
}
use of de.flexiprovider.api.exceptions.NoSuchAlgorithmException in project core by jcryptool.
the class ModeParameterSpecElement method getModeParameterSpec.
private ModeParameterSpec getModeParameterSpec(String encoded) {
if (encoded != null) {
// $NON-NLS-1$
LogUtil.logInfo("getModeParameterSpec");
try {
byte[] encodedParams = Base64Coder.decode(encoded);
// $NON-NLS-1$
AlgorithmParameters params = Registry.getAlgParams("Mode");
params.init(encodedParams);
return (ModeParameterSpec) params.getParameterSpec(ModeParameterSpec.class);
} catch (IOException e) {
LogUtil.logError(FlexiProviderOperationsPlugin.PLUGIN_ID, "IOException while decoding ModeParameters", e, false);
} catch (NoSuchAlgorithmException e) {
LogUtil.logError(FlexiProviderOperationsPlugin.PLUGIN_ID, "NoSuchAlgorithmException while decoding ModeParameters", e, true);
} catch (InvalidParameterSpecException e) {
LogUtil.logError(FlexiProviderOperationsPlugin.PLUGIN_ID, "InvalidParameterSpecException while decoding ModeParameters", e, true);
}
}
return null;
}
use of de.flexiprovider.api.exceptions.NoSuchAlgorithmException in project core by jcryptool.
the class Reflector method generateParameterSpec.
public AlgorithmParameterSpec generateParameterSpec(final IMetaAlgorithm algorithm, final String specClassName, final Object[] parameters) {
final List<String> names = algorithm.getNames();
// $NON-NLS-1$
String useName = "-1";
for (final String name : names) {
try {
Registry.getAlgParamGenerator(name);
useName = name;
break;
} catch (final NoSuchAlgorithmException e) {
}
}
try {
final AlgorithmParameterGenerator generator = Registry.getAlgParamGenerator(useName);
generator.init(this.instantiateParameterSpec(specClassName, parameters), FlexiProviderPlugin.getSecureRandom());
return generator.generateParameters();
} catch (final NoSuchAlgorithmException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final InvalidAlgorithmParameterException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final SecurityException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final IllegalArgumentException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final ClassNotFoundException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final NoSuchMethodException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final InstantiationException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final IllegalAccessException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
} catch (final InvocationTargetException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, e);
}
return null;
}
use of de.flexiprovider.api.exceptions.NoSuchAlgorithmException in project core by jcryptool.
the class Reflector method generateDefaultParameterSpec.
public AlgorithmParameterSpec generateDefaultParameterSpec(final IMetaAlgorithm algorithm) {
final List<String> names = algorithm.getNames();
// $NON-NLS-1$
String useName = "-1";
for (final String name : names) {
try {
Registry.getAlgParamGenerator(name);
useName = name;
break;
} catch (final NoSuchAlgorithmException e) {
}
}
try {
final AlgorithmParameterGenerator generator = Registry.getAlgParamGenerator(useName);
// $NON-NLS-1$
final AlgorithmParameterSpec spec = Registry.getAlgParamSpec(useName + "ParamGen");
generator.init(spec, FlexiProviderPlugin.getSecureRandom());
return generator.generateParameters();
} catch (final NoSuchAlgorithmException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, "NoSuchAlgorithmException while generating default parameters for " + algorithm.getName(), e, // $NON-NLS-1$
true);
} catch (final InvalidAlgorithmParameterException e) {
LogUtil.logError(FlexiProviderPlugin.PLUGIN_ID, // $NON-NLS-1$
"InvalidAlgorithmParameterException while generating default parameters for " + algorithm.getName(), e, true);
}
return null;
}
Aggregations