View Javadoc

1   package org.eparapher.rcp.preferences;
2   
3   import java.io.File;
4   
5   import javax.xml.crypto.dsig.CanonicalizationMethod;
6   import javax.xml.crypto.dsig.DigestMethod;
7   import javax.xml.crypto.dsig.SignatureMethod;
8   import javax.xml.crypto.dsig.Transform;
9   
10  import org.bouncycastle.cms.CMSSignedDataGenerator;
11  import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
12  import org.eclipse.jface.preference.IPreferenceStore;
13  import org.eparapher.core.crypto.EPKeystoreManager;
14  import org.eparapher.core.signature.XMLSignatureParameters;
15  import org.eparapher.core.tools.JVMSettings;
16  import org.eparapher.core.tools.OODaemonManager;
17  import org.eparapher.rcp.Activator;
18  
19  
20  /**
21   * Class used to initialize default preference values.
22   */
23  public class PreferenceInitializer extends AbstractPreferenceInitializer {
24  
25  	/*
26  	 * 
27  	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
28  	 */
29  	public void initializeDefaultPreferences() {
30  		
31  		//JVMSettings.printJavaEnv();
32  		
33  		String user = System.getProperty("user.name");
34  		
35  		IPreferenceStore store = Activator.getDefault().getPreferenceStore();
36  		
37  		store.setDefault( PreferenceConstants.P_USERKEYCERTCONTAINER, EPKeystoreManager.PKCS12_CONFIGNAME );
38  		if ( JVMSettings.isWindowsOS() && JVMSettings.isJava16Min() )
39  			store.setDefault( PreferenceConstants.P_USERKEYCERTCONTAINER,  EPKeystoreManager.MSCAPI_CONFIGNAME );
40  
41  		//OpenOffice Infos
42  		store.setDefault(PreferenceConstants.P_LOCALOOOPTIONS,  OODaemonManager.getsofficeParameters());
43  		store.setDefault(PreferenceConstants.P_LOCALOOLIBPATH,  OODaemonManager.findOOLibPath());
44  		store.setDefault(PreferenceConstants.P_LOCALOOBINPATH,  OODaemonManager.findOOBinaryPath());
45  
46  		store.setDefault(PreferenceConstants.P_LOCALDOCPATH,   System.getProperty("user.home") );
47  		store.setDefault(PreferenceConstants.P_LOCALPSAFEPATH, JVMSettings.getEParapherAppDirectory() + File.separator + "personalsafe.cms");
48  		
49  		store.setDefault(PreferenceConstants.P_LOCALOO_AUTOSTART,       false);
50  		
51  		// Default user Keystore settings
52  		store.setDefault(PreferenceConstants.P_USERKEYCERTCERTALIAS,         "");
53  		store.setDefault(PreferenceConstants.P_PKCS11_LIBRARY_PATH,			 "");
54  		if (JVMSettings.isSUNJRE())
55  			store.setDefault(PreferenceConstants.P_PKCS11_SLOT_ID,			 1);
56  		else if (JVMSettings.isIBMJRE())
57  			store.setDefault(PreferenceConstants.P_PKCS11_SLOT_ID,			 0);
58  		
59  		store.setDefault(PreferenceConstants.P_PKCS11_SUN_CONFIG_FILE,       "pkcs11.cfg");
60  		store.setDefault(PreferenceConstants.P_PKCS11_TRACKING_THREAD_SLEEP, 500L);
61  		
62  		String filekspath = JVMSettings.getEParapherAppDirectory() + File.separator + "userkeystore.";
63  		store.setDefault(PreferenceConstants.P_USERBCFILEPATH,     filekspath + "bc");
64  		store.setDefault(PreferenceConstants.P_USERJCEKSFILEPATH,  filekspath + "jceks");
65  		store.setDefault(PreferenceConstants.P_USERJKSFILEPATH,    filekspath + "jks");
66  		store.setDefault(PreferenceConstants.P_USERPKCS12FILEPATH, filekspath + "p12");
67  		store.setDefault(PreferenceConstants.P_USERUBERBCFILEPATH, filekspath + "uber");
68  		store.setDefault(PreferenceConstants.P_USERKDBFILEPATH,    filekspath + "kdb");
69  
70  		store.setDefault(PreferenceConstants.P_USERBCPASSPHRASE,     "");
71  		store.setDefault(PreferenceConstants.P_USERJCEKSPASSPHRASE,  "");
72  		store.setDefault(PreferenceConstants.P_USERJKSPASSPHRASE,    "");
73  		store.setDefault(PreferenceConstants.P_USERPKCS12PASSPHRASE, "");
74  		store.setDefault(PreferenceConstants.P_USERUBERBCPASSPHRASE, "");
75  		store.setDefault(PreferenceConstants.P_USERKDBPASSPHRASE,    "");
76  
77  		//Default Security Policy Settings
78  		store.setDefault(PreferenceConstants.P_SECRET_POL_CHECK,        true);
79  		
80  		store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_LENGTH, true);
81  		store.setDefault(PreferenceConstants.P_SECRET_POL_LENGTH_SIZE,	8);
82  		
83  		store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_UPPER,  true);
84  		store.setDefault(PreferenceConstants.P_SECRET_POL_UPPER_MIN,	1);
85  		
86  		store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_LOWER,  true);
87  		store.setDefault(PreferenceConstants.P_SECRET_POL_LOWER_MIN,	1);
88  		
89  		store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_NUMB,   true);
90  		store.setDefault(PreferenceConstants.P_SECRET_POL_NUMB_MIN,	    1);
91  		
92  		store.setDefault(PreferenceConstants.P_SECRET_POL_FORCE_SPEC,   true);
93  		store.setDefault(PreferenceConstants.P_SECRET_POL_SPEC_MIN,     1);
94  		
95  		//Default Signature Settings
96  		store.setDefault(PreferenceConstants.P_SIG_TS_SERVERS,         "http://tsp.iaik.at/tsp/TspRequest");
97  		store.setDefault(PreferenceConstants.P_SIG_ADD_TIMESTAMP,      false);
98  		store.setDefault(PreferenceConstants.P_SIG_ADD_CRL,            false);
99  		
100 		// Default CMS settings
101 		if ( JVMSettings.isWindowsOS() && JVMSettings.isJava16Min() )
102 			store.setDefault( PreferenceConstants.P_CMSHASHALGORITHM, CMSSignedDataGenerator.DIGEST_SHA1);
103 		else
104 			store.setDefault( PreferenceConstants.P_CMSHASHALGORITHM, CMSSignedDataGenerator.DIGEST_SHA256);
105 		store.setDefault( PreferenceConstants.P_CMSDETACHEDSIGNATURE, true);
106 		
107 		// Default PDF Signature settings
108 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREFORMAT,      "PPKMS");
109 		store.setDefault(PreferenceConstants.P_PDFSIGNATURECERTIF,      "1");
110 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREMULTIPLE,    true);
111 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREVISIBLE,     true);
112 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREVISIBLEPAGE, 1);
113 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREIMAGE,       JVMSettings.getEParapherAppDirectory() + File.separator + "pdfsignature.png");
114 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREIMAGESIZE,   100);
115 		store.setDefault(PreferenceConstants.P_PDFSIGIMGLOWERLEFTX,     400);
116 		store.setDefault(PreferenceConstants.P_PDFSIGIMGLOWERLEFTY,     100);
117 		store.setDefault(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTX,    550);
118 		store.setDefault(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTY,    250);
119 		
120 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREREPLACEFILE, false);
121 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREFILENAMEAPP, ".signed");
122 		store.setDefault(PreferenceConstants.P_PDFSIGNATURELOCATION,    "Paris, France");
123 		store.setDefault(PreferenceConstants.P_PDFSIGNATUREREASON,      "I'm the author");
124 		
125 		//Default XML settings
126 		store.setDefault(PreferenceConstants.P_XML_DIGEST,            DigestMethod.SHA512);
127 		store.setDefault(PreferenceConstants.P_XML_SIGALG,            SignatureMethod.RSA_SHA1);
128 		store.setDefault(PreferenceConstants.P_XML_TRANSFORM,         Transform.ENVELOPED);
129 		store.setDefault(PreferenceConstants.P_XML_CANONICAL,         CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS);
130 		store.setDefault(PreferenceConstants.P_XML_OBJECTIDs,         "#eParapherSignature");
131 		store.setDefault(PreferenceConstants.P_XML_SIGFORMAT,         XMLSignatureParameters.XMLSigFormatFamilies[1][1]);
132 		store.setDefault(PreferenceConstants.P_XML_DTDVALIDATION,     true);
133 		
134 		//Logger settings
135 		store.setDefault(PreferenceConstants.P_LOGLEVEL,              "INFO");
136 	}
137 
138 }