diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/JaasRealm.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/JaasRealm.java
similarity index 94%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/JaasRealm.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/JaasRealm.java
index b5237d1..d1a40f5 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/JaasRealm.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/JaasRealm.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config;
+package org.apache.felix.karaf.jaas.config;
 
 import javax.security.auth.login.AppConfigurationEntry;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeyIsLocked.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeyIsLocked.java
similarity index 95%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeyIsLocked.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeyIsLocked.java
index 5ff4736..bfaaba2 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeyIsLocked.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeyIsLocked.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config;
+package org.apache.felix.karaf.jaas.config;
 
 import java.security.GeneralSecurityException;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreInstance.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreInstance.java
similarity index 97%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreInstance.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreInstance.java
index 022d95b..4f0890b 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreInstance.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreInstance.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config;
+package org.apache.felix.karaf.jaas.config;
 
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreIsLocked.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreIsLocked.java
similarity index 95%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreIsLocked.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreIsLocked.java
index 34c9a2b..ae5efe6 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreIsLocked.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreIsLocked.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config;
+package org.apache.felix.karaf.jaas.config;
 
 import java.security.GeneralSecurityException;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreManager.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreManager.java
similarity index 98%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreManager.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreManager.java
index 74fa466..afa2adf 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/KeystoreManager.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/KeystoreManager.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config;
+package org.apache.felix.karaf.jaas.config;
 
 import java.security.GeneralSecurityException;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/Config.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/Config.java
similarity index 95%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/Config.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/Config.java
index 7ad0b04..5a6b809 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/Config.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/Config.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import java.util.HashMap;
 import java.util.Map;
 
 import javax.security.auth.login.AppConfigurationEntry;
 
-import org.apache.servicemix.kernel.jaas.boot.ProxyLoginModule;
-import org.apache.servicemix.kernel.jaas.config.JaasRealm;
+import org.apache.felix.karaf.jaas.boot.ProxyLoginModule;
+import org.apache.felix.karaf.jaas.config.JaasRealm;
 import org.osgi.framework.BundleContext;
 import org.springframework.osgi.context.BundleContextAware;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ConfigParser.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ConfigParser.java
similarity index 96%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ConfigParser.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ConfigParser.java
index 5f8e16a..ec5d1e8 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ConfigParser.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ConfigParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -25,8 +25,8 @@
 
 import org.w3c.dom.Element;
 
-import org.apache.servicemix.kernel.jaas.boot.ProxyLoginModule;
-import org.apache.servicemix.kernel.jaas.config.JaasRealm;
+import org.apache.felix.karaf.jaas.boot.ProxyLoginModule;
+import org.apache.felix.karaf.jaas.config.JaasRealm;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.config.BeanDefinitionHolder;
 import org.springframework.beans.factory.parsing.BeanComponentDefinition;
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/Module.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/Module.java
similarity index 96%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/Module.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/Module.java
index 488f19a..baaa352 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/Module.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/Module.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import java.util.Map;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/NamespaceHandler.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/NamespaceHandler.java
similarity index 95%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/NamespaceHandler.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/NamespaceHandler.java
index d1b8192..6129a37 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/NamespaceHandler.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/NamespaceHandler.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/OsgiConfiguration.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/OsgiConfiguration.java
similarity index 94%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/OsgiConfiguration.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/OsgiConfiguration.java
index a2e6119..a5489d8 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/OsgiConfiguration.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/OsgiConfiguration.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import java.util.List;
 import java.util.Map;
@@ -23,7 +23,7 @@
 import javax.security.auth.login.AppConfigurationEntry;
 import javax.security.auth.login.Configuration;
 
-import org.apache.servicemix.kernel.jaas.config.JaasRealm;
+import org.apache.felix.karaf.jaas.config.JaasRealm;
 
 public class OsgiConfiguration extends Configuration {
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/OsgiKeystoreManager.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/OsgiKeystoreManager.java
similarity index 93%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/OsgiKeystoreManager.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/OsgiKeystoreManager.java
index 41135c2..bb75dce 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/OsgiKeystoreManager.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/OsgiKeystoreManager.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import java.security.GeneralSecurityException;
 import java.security.SecureRandom;
@@ -26,9 +26,9 @@
 import javax.net.ssl.SSLServerSocketFactory;
 import javax.net.ssl.SSLSocketFactory;
 
-import org.apache.servicemix.kernel.jaas.config.KeystoreInstance;
-import org.apache.servicemix.kernel.jaas.config.KeystoreIsLocked;
-import org.apache.servicemix.kernel.jaas.config.KeystoreManager;
+import org.apache.felix.karaf.jaas.config.KeystoreInstance;
+import org.apache.felix.karaf.jaas.config.KeystoreIsLocked;
+import org.apache.felix.karaf.jaas.config.KeystoreManager;
 
 /**
  * Implementation of KeystoreManager
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ProxyLoginModuleInitializer.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ProxyLoginModuleInitializer.java
similarity index 91%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ProxyLoginModuleInitializer.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ProxyLoginModuleInitializer.java
index f2b8c32..da4380d 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ProxyLoginModuleInitializer.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ProxyLoginModuleInitializer.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
-import org.apache.servicemix.kernel.jaas.boot.ProxyLoginModule;
+import org.apache.felix.karaf.jaas.boot.ProxyLoginModule;
 import org.osgi.framework.BundleContext;
 import org.springframework.osgi.context.BundleContextAware;
 
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ResourceKeystoreInstance.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ResourceKeystoreInstance.java
similarity index 97%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ResourceKeystoreInstance.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ResourceKeystoreInstance.java
index 7974ed6..7c79fb9 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ResourceKeystoreInstance.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ResourceKeystoreInstance.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import java.io.BufferedInputStream;
 import java.io.File;
@@ -41,8 +41,8 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.kernel.jaas.config.KeystoreInstance;
-import org.apache.servicemix.kernel.jaas.config.KeystoreIsLocked;
+import org.apache.felix.karaf.jaas.config.KeystoreInstance;
+import org.apache.felix.karaf.jaas.config.KeystoreIsLocked;
 import org.springframework.core.io.Resource;
 
 /**
diff --git a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ResourceKeystoreInstanceParser.java b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ResourceKeystoreInstanceParser.java
similarity index 96%
rename from karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ResourceKeystoreInstanceParser.java
rename to karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ResourceKeystoreInstanceParser.java
index 01f3531..c818a46 100644
--- a/karaf/jaas/jaas-config/src/main/java/org/apache/servicemix/kernel/jaas/config/impl/ResourceKeystoreInstanceParser.java
+++ b/karaf/jaas/jaas-config/src/main/java/org/apache/felix/karaf/jaas/config/impl/ResourceKeystoreInstanceParser.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config.impl;
+package org.apache.felix.karaf.jaas.config.impl;
 
 import org.w3c.dom.Element;
 
-import org.apache.servicemix.kernel.jaas.config.KeystoreInstance;
+import org.apache.felix.karaf.jaas.config.KeystoreInstance;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.config.BeanDefinitionHolder;
 import org.springframework.beans.factory.parsing.BeanComponentDefinition;
diff --git a/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.handlers b/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.handlers
index fe59e34..c8b49a7 100644
--- a/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.handlers
+++ b/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.handlers
@@ -16,5 +16,5 @@
 #    limitations under the License.
 #
 ################################################################################
-http\://servicemix.apache.org/jaas = org.apache.servicemix.kernel.jaas.config.impl.NamespaceHandler
- 
\ No newline at end of file
+http\://servicemix.apache.org/jaas = org.apache.felix.karaf.jaas.config.impl.NamespaceHandler
+ 
diff --git a/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.schemas b/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.schemas
index 3001be1..352002b 100644
--- a/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.schemas
+++ b/karaf/jaas/jaas-config/src/main/resources/META-INF/spring.schemas
@@ -16,4 +16,4 @@
 #    limitations under the License.
 #
 ################################################################################
-http\://servicemix.apache.org/schema/servicemix-jaas.xsd = org/apache/servicemix/kernel/jaas/config/servicemix-jaas.xsd
+http\://servicemix.apache.org/schema/servicemix-jaas.xsd = org/apache/felix/karaf/jaas/config/servicemix-jaas.xsd
diff --git a/karaf/jaas/jaas-config/src/main/resources/META-INF/spring/servicemix-jaas.xml b/karaf/jaas/jaas-config/src/main/resources/META-INF/spring/servicemix-jaas.xml
index eca5fbd..d878a3d 100644
--- a/karaf/jaas/jaas-config/src/main/resources/META-INF/spring/servicemix-jaas.xml
+++ b/karaf/jaas/jaas-config/src/main/resources/META-INF/spring/servicemix-jaas.xml
@@ -30,30 +30,30 @@
   http://www.springframework.org/schema/osgi/spring-osgi.xsd">
 
     <bean id="config"
-          class="org.apache.servicemix.kernel.jaas.config.impl.OsgiConfiguration"
+          class="org.apache.felix.karaf.jaas.config.impl.OsgiConfiguration"
           init-method="init"
           destroy-method="close"/>
 
     <osgi:list id="realms"
-               interface="org.apache.servicemix.kernel.jaas.config.JaasRealm"
+               interface="org.apache.felix.karaf.jaas.config.JaasRealm"
                cardinality="0..N">
         <osgi:listener ref="config" bind-method="register" unbind-method="unregister" />
     </osgi:list>
 
     <bean id="proxyLoginModuleInitializer"
-          class="org.apache.servicemix.kernel.jaas.config.impl.ProxyLoginModuleInitializer"
+          class="org.apache.felix.karaf.jaas.config.impl.ProxyLoginModuleInitializer"
           init-method="init"/>
 
     <!-- Register the Straight-Through flow -->
-    <bean id="keystoreManager" class="org.apache.servicemix.kernel.jaas.config.impl.OsgiKeystoreManager" />
+    <bean id="keystoreManager" class="org.apache.felix.karaf.jaas.config.impl.OsgiKeystoreManager" />
     <osgi:service ref="keystoreManager">
         <osgi:interfaces>
-            <value>org.apache.servicemix.kernel.jaas.config.KeystoreManager</value>
+            <value>org.apache.felix.karaf.jaas.config.KeystoreManager</value>
         </osgi:interfaces>
     </osgi:service>
 
     <osgi:list id="keystores"
-               interface="org.apache.servicemix.kernel.jaas.config.KeystoreInstance"
+               interface="org.apache.felix.karaf.jaas.config.KeystoreInstance"
                cardinality="0..N">
         <osgi:listener ref="keystoreManager" bind-method="register" unbind-method="unregister" />
     </osgi:list>
diff --git a/karaf/jaas/jaas-config/src/main/resources/org/apache/servicemix/kernel/jaas/config/servicemix-jaas.xsd b/karaf/jaas/jaas-config/src/main/resources/org/apache/felix/karaf/jaas/config/servicemix-jaas.xsd
similarity index 100%
rename from karaf/jaas/jaas-config/src/main/resources/org/apache/servicemix/kernel/jaas/config/servicemix-jaas.xsd
rename to karaf/jaas/jaas-config/src/main/resources/org/apache/felix/karaf/jaas/config/servicemix-jaas.xsd
diff --git a/karaf/jaas/jaas-config/src/test/java/org/apache/servicemix/kernel/jaas/config/NamespaceHandlerTest.java b/karaf/jaas/jaas-config/src/test/java/org/apache/felix/karaf/jaas/config/NamespaceHandlerTest.java
similarity index 91%
rename from karaf/jaas/jaas-config/src/test/java/org/apache/servicemix/kernel/jaas/config/NamespaceHandlerTest.java
rename to karaf/jaas/jaas-config/src/test/java/org/apache/felix/karaf/jaas/config/NamespaceHandlerTest.java
index fb282e9..c390fb9 100644
--- a/karaf/jaas/jaas-config/src/test/java/org/apache/servicemix/kernel/jaas/config/NamespaceHandlerTest.java
+++ b/karaf/jaas/jaas-config/src/test/java/org/apache/felix/karaf/jaas/config/NamespaceHandlerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.servicemix.kernel.jaas.config;
+package org.apache.felix.karaf.jaas.config;
 
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -23,8 +23,8 @@
 import javax.security.auth.login.AppConfigurationEntry;
 
 import junit.framework.TestCase;
-import org.apache.servicemix.kernel.jaas.boot.ProxyLoginModule;
-import org.apache.servicemix.kernel.jaas.config.impl.Config;
+import org.apache.felix.karaf.jaas.boot.ProxyLoginModule;
+import org.apache.felix.karaf.jaas.config.impl.Config;
 import org.easymock.EasyMock;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.aryEq;
@@ -82,7 +82,7 @@
         assertNotNull(cfg.getModules());
         assertEquals(1, cfg.getModules().length);
         assertNotNull(cfg.getModules()[0]);
-        assertEquals("org.apache.servicemix.kernel.jaas.config.SimpleLoginModule", cfg.getModules()[0].getClassName());
+        assertEquals("org.apache.felix.karaf.jaas.config.SimpleLoginModule", cfg.getModules()[0].getClassName());
         assertEquals("required", cfg.getModules()[0].getFlags());
         assertNotNull(cfg.getModules()[0].getOptions());
         assertEquals(1, cfg.getModules()[0].getOptions().size());
@@ -97,7 +97,7 @@
         assertNotNull(options);
         assertEquals(3, options.size());
         assertEquals("value", options.get("key"));
-        assertEquals("org.apache.servicemix.kernel.jaas.config.SimpleLoginModule", options.get(ProxyLoginModule.PROPERTY_MODULE));
+        assertEquals("org.apache.felix.karaf.jaas.config.SimpleLoginModule", options.get(ProxyLoginModule.PROPERTY_MODULE));
         assertEquals("32", options.get(ProxyLoginModule.PROPERTY_BUNDLE));
 
         // Test keystore
diff --git a/karaf/jaas/jaas-config/src/test/resources/config.xml b/karaf/jaas/jaas-config/src/test/resources/config.xml
index 868b7c7..9fe3042 100644
--- a/karaf/jaas/jaas-config/src/test/resources/config.xml
+++ b/karaf/jaas/jaas-config/src/test/resources/config.xml
@@ -33,7 +33,7 @@
   http://servicemix.apache.org/schema/servicemix-jaas.xsd">
 
     <jaas:config id="realm">
-        <jaas:module className="org.apache.servicemix.kernel.jaas.config.SimpleLoginModule" flags="required">
+        <jaas:module className="org.apache.felix.karaf.jaas.config.SimpleLoginModule" flags="required">
             key=value
         </jaas:module>
     </jaas:config>
diff --git a/karaf/jaas/jaas-config/src/test/resources/privatestore.jks b/karaf/jaas/jaas-config/src/test/resources/privatestore.jks
index 26fc0bc..80106c1 100644
--- a/karaf/jaas/jaas-config/src/test/resources/privatestore.jks
+++ b/karaf/jaas/jaas-config/src/test/resources/privatestore.jks
Binary files differ
