- URL url = getClass().getClassLoader().getResource(
- KernelConstants.JAAS_CONFIG);
- System.setProperty("java.security.auth.login.config",
- url.toExternalForm());
-
- this.bundleContext = bundleContext;
- this.kernelSubject = logKernel();
- userAdmin = new NodeUserAdmin();
+ URL url = getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG);
+ System.setProperty("java.security.auth.login.config", url.toExternalForm());
+ // log.debug("JASS config: " + url.toExternalForm());
+ // disable Jetty autostart
+ // System.setProperty("org.eclipse.equinox.http.jetty.autostart",
+ // "false");
+
+ firstInit = !new File(getOsgiInstanceDir(), DIR_NODE).exists();
+
+ this.keyStoreFile = new File(KernelUtils.getOsgiInstanceDir(), "node.p12");
+ createKeyStoreIfNeeded();
+ if (keyStoreFile.exists())
+ this.kernelSubject = logInHardenedKernel();
+ else
+ this.kernelSubject = logInKernel();
+ }
+
+ private Subject logInKernel() {
+ final Subject kernelSubject = new Subject();
+ try {
+ LoginContext kernelLc = new LoginContext(KernelConstants.LOGIN_CONTEXT_KERNEL, kernelSubject);
+ kernelLc.login();
+ } catch (LoginException e) {
+ throw new CmsException("Cannot log in kernel", e);
+ }
+ return kernelSubject;