package org.eparapher.rcp.preferences; import java.io.File; import javax.xml.crypto.dsig.CanonicalizationMethod; import javax.xml.crypto.dsig.DigestMethod; import javax.xml.crypto.dsig.SignatureMethod; import javax.xml.crypto.dsig.Transform; import org.bouncycastle.cms.CMSEnvelopedDataGenerator; import org.bouncycastle.cms.CMSSignedDataGenerator; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; import org.eparapher.core.crypto.EPKeystoreManager; import org.eparapher.core.crypto.JCEPolicyDetection; import org.eparapher.core.signature.XMLSignatureParameters; import org.eparapher.core.tools.JVMSettings; import org.eparapher.core.tools.OODaemonManager; import org.eparapher.rcp.Activator; /** * Class used to initialize default preference values. */ public class PreferenceInitializer extends AbstractPreferenceInitializer { /* * * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() */ public void initializeDefaultPreferences() { //JVMSettings.printJavaEnv(); String user = System.getProperty("user.name"); IPreferenceStore store = Activator.getDefault().getPreferenceStore(); store.setDefault( PreferenceConstants.P_USERKEYCERTCONTAINER, EPKeystoreManager.PKCS12_CONFIGNAME ); if ( JVMSettings.isWindowsOS() && JVMSettings.isJava16Min() ) store.setDefault( PreferenceConstants.P_USERKEYCERTCONTAINER, EPKeystoreManager.MSCAPI_CONFIGNAME ); //OpenOffice Infos //store.setDefault(PreferenceConstants.P_LOCALOOOPTIONS, OODaemonManager.getsofficeParameters()); store.setDefault(PreferenceConstants.P_LOCALOOLIBPATH, OODaemonManager.findOOLibPath()); store.setDefault(PreferenceConstants.P_LOCALOOBINPATH, OODaemonManager.findOOBinaryPath()); store.setDefault(PreferenceConstants.P_OO_SERVERNAME, "127.0.0.1"); store.setDefault(PreferenceConstants.P_OO_SERVERPORT, 8100); store.setDefault(PreferenceConstants.P_OO_USELOCAL, true); store.setDefault(PreferenceConstants.P_LOCALDOCPATH, System.getProperty("user.home") ); store.setDefault(PreferenceConstants.P_LOCALOO_AUTOSTART, false); // Default user Keystore settings store.setDefault(PreferenceConstants.P_USERKEYCERTSIGNALIAS, ""); store.setDefault(PreferenceConstants.P_PKCS11_LIBRARY_PATH, ""); if (JVMSettings.isSUNJRE()) store.setDefault(PreferenceConstants.P_PKCS11_SLOT_ID, 1); else if (JVMSettings.isIBMJRE()) store.setDefault(PreferenceConstants.P_PKCS11_SLOT_ID, 0); store.setDefault(PreferenceConstants.P_PKCS11_SUN_CONFIG_FILE, "pkcs11.cfg"); store.setDefault(PreferenceConstants.P_PKCS11_TRACKING_THREAD_SLEEP, 500L); String filekspath = JVMSettings.getEParapherAppDirectory() + File.separator + "userkeystore."; store.setDefault(PreferenceConstants.P_USERBCFILEPATH, filekspath + "bc"); store.setDefault(PreferenceConstants.P_USERJCEKSFILEPATH, filekspath + "jceks"); store.setDefault(PreferenceConstants.P_USERJKSFILEPATH, filekspath + "jks"); store.setDefault(PreferenceConstants.P_USERPKCS12FILEPATH, filekspath + "p12"); store.setDefault(PreferenceConstants.P_USERUBERBCFILEPATH, filekspath + "uber"); store.setDefault(PreferenceConstants.P_USERKDBFILEPATH, filekspath + "kdb"); store.setDefault(PreferenceConstants.P_USERBCPASSPHRASE, ""); store.setDefault(PreferenceConstants.P_USERJCEKSPASSPHRASE, ""); store.setDefault(PreferenceConstants.P_USERJKSPASSPHRASE, ""); store.setDefault(PreferenceConstants.P_USERPKCS12PASSPHRASE, ""); store.setDefault(PreferenceConstants.P_USERUBERBCPASSPHRASE, ""); store.setDefault(PreferenceConstants.P_USERKDBPASSPHRASE, ""); //Default Security Policy Settings store.setDefault(PreferenceConstants.P_SECRET_POL_CHECK, true); store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_LENGTH, true); store.setDefault(PreferenceConstants.P_SECRET_POL_LENGTH_SIZE, 8); store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_UPPER, true); store.setDefault(PreferenceConstants.P_SECRET_POL_UPPER_MIN, 1); store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_LOWER, true); store.setDefault(PreferenceConstants.P_SECRET_POL_LOWER_MIN, 1); store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_NUMB, true); store.setDefault(PreferenceConstants.P_SECRET_POL_NUMB_MIN, 1); store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_SPEC, true); store.setDefault(PreferenceConstants.P_SECRET_POL_SPEC_MIN, 1); //Default Signature Settings store.setDefault(PreferenceConstants.P_SIG_TS_SERVERS, "http://tsp.iaik.at/tsp/TspRequest"); store.setDefault(PreferenceConstants.P_SIG_ADD_TIMESTAMP, false); store.setDefault(PreferenceConstants.P_SIG_ADD_CRL, false); // Default CMS settings if ( JVMSettings.isWindowsOS() && JVMSettings.isJava16Min() ) store.setDefault( PreferenceConstants.P_CMSHASHALGORITHM, CMSSignedDataGenerator.DIGEST_SHA1); else store.setDefault( PreferenceConstants.P_CMSHASHALGORITHM, CMSSignedDataGenerator.DIGEST_SHA256); store.setDefault( PreferenceConstants.P_CMSDETACHEDSIGNATURE, true); // Default PDF Signature settings store.setDefault(PreferenceConstants.P_PDFSIGNATUREFORMAT, "PPKMS"); store.setDefault(PreferenceConstants.P_PDFSIGNATURECERTIF, "1"); store.setDefault(PreferenceConstants.P_PDFSIGNATUREMULTIPLE, true); store.setDefault(PreferenceConstants.P_PDFSIGNATUREVISIBLE, true); store.setDefault(PreferenceConstants.P_PDFSIGNATUREVISIBLEPAGE, 1); store.setDefault(PreferenceConstants.P_PDFSIGNATUREIMAGE, JVMSettings.getEParapherAppDirectory() + File.separator + "pdfsignature.png"); store.setDefault(PreferenceConstants.P_PDFSIGNATUREIMAGESIZE, 100); store.setDefault(PreferenceConstants.P_PDFSIGIMGLOWERLEFTX, 400); store.setDefault(PreferenceConstants.P_PDFSIGIMGLOWERLEFTY, 100); store.setDefault(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTX, 550); store.setDefault(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTY, 250); store.setDefault(PreferenceConstants.P_PDFSIGNATUREREPLACEFILE, false); store.setDefault(PreferenceConstants.P_PDFSIGNATUREFILENAMEAPP, ".signed"); store.setDefault(PreferenceConstants.P_PDFSIGNATURELOCATION, "Paris, France"); store.setDefault(PreferenceConstants.P_PDFSIGNATUREREASON, "I'm the author"); //Default XML settings store.setDefault(PreferenceConstants.P_XML_DIGEST, DigestMethod.SHA512); store.setDefault(PreferenceConstants.P_XML_SIGALG, SignatureMethod.RSA_SHA1); store.setDefault(PreferenceConstants.P_XML_TRANSFORM, Transform.ENVELOPED); store.setDefault(PreferenceConstants.P_XML_CANONICAL, CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS); store.setDefault(PreferenceConstants.P_XML_OBJECTIDs, "#eParapherSignature"); store.setDefault(PreferenceConstants.P_XML_SIGFORMAT, XMLSignatureParameters.XMLSigFormatFamilies[1][1]); store.setDefault(PreferenceConstants.P_XML_DTDVALIDATION, true); //Logger settings store.setDefault(PreferenceConstants.P_LOGLEVEL, "INFO"); if (JCEPolicyDetection.QuickJCEPolicyTest()) { store.setDefault(PreferenceConstants.P_CMS_ENCRYPTION_ALG, CMSEnvelopedDataGenerator.AES256_CBC); store.setDefault(PreferenceConstants.P_CMS_ENCRYPTION_KEYSIZE, 256); store.setDefault(PreferenceConstants.P_ENCRYPTION_ALG, "AES"); store.setDefault(PreferenceConstants.P_ENCRYPTION_KEYSIZE, 256); } else { store.setDefault(PreferenceConstants.P_CMS_ENCRYPTION_ALG, CMSEnvelopedDataGenerator.AES128_CBC); store.setDefault(PreferenceConstants.P_CMS_ENCRYPTION_KEYSIZE, 128); store.setDefault(PreferenceConstants.P_ENCRYPTION_ALG, "AES"); store.setDefault(PreferenceConstants.P_ENCRYPTION_KEYSIZE, 128); } // Personal Safe settings store.setDefault(PreferenceConstants.P_LOCALPSAFEPATH, JVMSettings.getEParapherAppDirectory() + File.separator + "personalsafe.zip.raes"); store.setDefault(PreferenceConstants.P_LOCALPSAFEAESKEYPATH, JVMSettings.getEParapherAppDirectory() + File.separator + "personalsafe.encryptedkey"); int aeskeylength = 128; if (JCEPolicyDetection.QuickJCEPolicyTest()) aeskeylength = 256; store.setDefault(PreferenceConstants.P_LOCALPSAFEAESKEYLENGTH, aeskeylength ); store.setDefault(PreferenceConstants.P_LOCALPSAFEEXTENTIONS, "zip|tzp|zip.rae|zip.raes"); } }