package org.argeo.cms.internal.kernel;
+import static org.argeo.cms.internal.kernel.KernelUtils.getOsgiInstanceDir;
+
import java.io.File;
import java.io.IOException;
import java.net.URL;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
/** Low-level kernel security */
-class NodeSecurity {
+class NodeSecurity implements KernelConstants {
public final static int HARDENED = 3;
public final static int STAGING = 2;
public final static int DEV = 1;
final static String SECURITY_PROVIDER = "BC";// Bouncy Castle
+ private final boolean firstInit;
+
private final static Log log;
static {
log = LogFactory.getLog(NodeSecurity.class);
System.setProperty("java.security.auth.login.config",
url.toExternalForm());
+ firstInit = !new File(getOsgiInstanceDir(), DIR_NODE).exists();
+
this.kernelSubject = logInKernel();
}
return securityLevel;
}
+ public boolean isFirstInit() {
+ return firstInit;
+ }
+
public void setSecurityLevel(int newValue) {
if (newValue != STAGING || newValue != DEV)
throw new CmsException("Invalid value for security level "