]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/FirstInit.java
Improve node deployment
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / FirstInit.java
index a8ef66a90813979e5604915939565b2610835ffa..1c7cb149752a7c30ce6b56da3ad1f9db8da21929 100644 (file)
@@ -22,6 +22,7 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.cms.CmsException;
+import org.argeo.cms.internal.jcr.RepoConf;
 import org.argeo.node.NodeConstants;
 import org.argeo.osgi.useradmin.UserAdminConf;
 import org.eclipse.equinox.http.jetty.JettyConstants;
@@ -74,7 +75,7 @@ class FirstInit {
                                if (keyStorePassword == null)
                                        keyStorePassword = "changeit";
                                if (!Files.exists(keyStorePath))
-                                       createSelfSignedKeyStore(keyStorePath);
+                                       createSelfSignedKeyStore(keyStorePath, keyStorePassword);
                                props.put(JettyConstants.SSL_KEYSTORETYPE, "PKCS12");
                                props.put(JettyConstants.SSL_KEYSTORE, keyStorePath.toString());
                                props.put(JettyConstants.SSL_PASSWORD, keyStorePassword);
@@ -114,23 +115,18 @@ class FirstInit {
                // Business roles
                String userAdminUris = getFrameworkProp(NodeConstants.USERADMIN_URIS);
                if (userAdminUris == null) {
-                       String kerberosDomain = Activator.getCmsSecurity().getKerberosDomain();
-                       if (kerberosDomain != null) {
-                               userAdminUris = "ipa:///" + kerberosDomain;
-                       } else {
-                               String demoBaseDn = "dc=example,dc=com";
-                               File businessRolesFile = new File(nodeBaseDir, demoBaseDn + ".ldif");
-                               if (!businessRolesFile.exists())
-                                       try {
-                                               FileUtils.copyInputStreamToFile(getClass().getResourceAsStream(demoBaseDn + ".ldif"),
-                                                               businessRolesFile);
-                                       } catch (IOException e) {
-                                               throw new CmsException("Cannot copy demo resource", e);
-                                       }
-                               userAdminUris = businessRolesFile.toURI().toString();
-                               log.warn("## DEV Using dummy base DN " + demoBaseDn);
-                               // TODO downgrade security level
-                       }
+                       String demoBaseDn = "dc=example,dc=com";
+                       File businessRolesFile = new File(nodeBaseDir, demoBaseDn + ".ldif");
+                       if (!businessRolesFile.exists())
+                               try {
+                                       FileUtils.copyInputStreamToFile(getClass().getResourceAsStream(demoBaseDn + ".ldif"),
+                                                       businessRolesFile);
+                               } catch (IOException e) {
+                                       throw new CmsException("Cannot copy demo resource", e);
+                               }
+                       userAdminUris = businessRolesFile.toURI().toString();
+                       log.warn("## DEV Using dummy base DN " + demoBaseDn);
+                       // TODO downgrade security level
                }
                for (String userAdminUri : userAdminUris.split(" "))
                        uris.add(userAdminUri);
@@ -164,8 +160,8 @@ class FirstInit {
        }
 
        /**
-        * Called before node initialisation, in order populate OSGi instance are
-        * with some files (typically LDIF, etc).
+        * Called before node initialisation, in order populate OSGi instance are with
+        * some files (typically LDIF, etc).
         */
        static void prepareInstanceArea() {
                String nodeInit = getFrameworkProp(NodeConstants.NODE_INIT);
@@ -200,11 +196,11 @@ class FirstInit {
                        }
        }
 
-       private void createSelfSignedKeyStore(Path keyStorePath) {
+       private void createSelfSignedKeyStore(Path keyStorePath, String keyStorePassword) {
                // for (Provider provider : Security.getProviders())
                // System.out.println(provider.getName());
                File keyStoreFile = keyStorePath.toFile();
-               char[] ksPwd = "changeit".toCharArray();
+               char[] ksPwd = keyStorePassword.toCharArray();
                char[] keyPwd = Arrays.copyOf(ksPwd, ksPwd.length);
                if (!keyStoreFile.exists()) {
                        try {