diff --git a/api-doc/reference/Admin-API.v1.yaml b/api-doc/reference/Admin-API.v1.yaml
index 5d4df4d67522a23fd146f9075c1e0593a9f0899e..f57e9c247f68889e983ba4364dd4d1b11110c65a 100644
--- a/api-doc/reference/Admin-API.v1.yaml
+++ b/api-doc/reference/Admin-API.v1.yaml
@@ -8,7 +8,7 @@ servers:
 paths:
   /api/admin/device:
     get:
-      summary: User device
+      summary: Get User device information
       tags: []
       responses:
         '200':
@@ -17,10 +17,13 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/Device'
-              examples: {}
+              examples:
+                example-1:
+                  value:
+                    deviceId: sfl123
+                    displayName: ThinkpadL30
+                    certificate: sjhgfdszwythudsiuyfdvsxkiwjhyed
       operationId: get-api-admin-device
-      requestBody:
-        description: ''
       parameters:
         - schema:
             type: string
@@ -32,7 +35,7 @@ paths:
           name: deviceId
       description: Returns the device detailed information.
     put:
-      summary: ''
+      summary: Update device data
       operationId: put-api-admin-device
       responses:
         '200':
@@ -54,7 +57,7 @@ paths:
           in: query
           name: deviceName
     delete:
-      summary: ''
+      summary: Delete a device
       operationId: delete-api-admin-device
       responses:
         '200':
@@ -74,10 +77,10 @@ paths:
             type: string
           in: query
           name: deviceId
-      description: Revokes a device.
+      description: Revoke/Delete a device.
   /api/admin/devices:
     get:
-      summary: User devices
+      summary: "Get User's list of devices"
       tags: []
       responses:
         '200':
@@ -88,6 +91,15 @@ paths:
                 type: array
                 items:
                   $ref: '#/components/schemas/Device'
+              examples:
+                example-1:
+                  value:
+                    - deviceId: sfl123
+                      displayName: ThinkpadL30
+                      certificate: sjhgfdszwythudsiuyfdvsxkiwjhyed
+                    - deviceId: sfl1234
+                      displayName: ThinkpadL304
+                      certificate: sjhgfdszwyth4udsiuyfdvsxkiwjhyed
       operationId: get-api-admin-devices
       parameters:
         - schema:
@@ -97,14 +109,14 @@ paths:
       description: Get a list of devices for a user.
   /api/admin/directory/entry:
     put:
-      summary: ''
+      summary: Update user profile
       operationId: put-api-admin-directory-entry
       responses:
         '200':
           description: OK
       description: "Update a user's profile."
     post:
-      summary: User profile
+      summary: Create User profile
       operationId: post-api-admin-directory-entry
       responses:
         '200':
@@ -118,7 +130,7 @@ paths:
           in: query
           name: directory
     delete:
-      summary: ''
+      summary: Delete user profile
       operationId: delete-api-admin-directory-entry
       responses:
         '200':
@@ -126,7 +138,7 @@ paths:
       description: Method might probably never be implemented.
   /api/admin/user:
     get:
-      summary: User profile - User
+      summary: Get User profile
       tags: []
       responses:
         '200':
@@ -135,6 +147,19 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/UserProfile'
+              examples:
+                example-1:
+                  value:
+                    username: lily
+                    firstName: Lilye
+                    lastName: Aldrin
+                    phoneNumber: '5149876554'
+                    phoneNumberExtension: '123'
+                    mobileNumber: '4381230987'
+                    faxNumber: '1239876543'
+                    profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf
+                    email: askiur@sfl.com
+                    organization: SFL
       operationId: get-api-admin-user
       description: "Get the user's profile."
       parameters:
@@ -143,7 +168,7 @@ paths:
           in: query
           name: username
     post:
-      summary: ''
+      summary: Create internal user
       operationId: post-api-admin-user
       responses:
         '200':
@@ -152,9 +177,21 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/User'
+              examples:
+                example-1:
+                  value:
+                    username: lily
+                    password: abcs123
+                    userType: LOCAL
+                    realm: ''
+                    accessLevel: USER
+                    needsPasswordReset: 'false'
+                    ethAddress: ''
+                    ethKey: ''
+                    jamiId: ''
       description: Create an internal user.
     delete:
-      summary: ''
+      summary: Delete a user
       operationId: delete-api-admin-user
       responses:
         '200':
@@ -163,6 +200,12 @@ paths:
             application/json:
               schema:
                 $ref: './User-API.v1.yaml#/components/schemas/DeviceRevocationResponse'
+              examples:
+                example-1:
+                  value:
+                    success: 'true'
+                    errorDetails: ''
+                    timestamp: '2020-06-01T12:30:01'
         '500':
           description: Internal Server Error
       description: Revoke a user.
@@ -172,7 +215,7 @@ paths:
           in: query
           name: username
     put:
-      summary: ''
+      summary: Update user data
       operationId: put-api-admin-user
       responses:
         '200':
@@ -191,7 +234,7 @@ paths:
           name: password
   /api/admin/users:
     get:
-      summary: Users Profile
+      summary: Get Users Profile list
       tags: []
       responses:
         '200':
@@ -202,11 +245,34 @@ paths:
                 type: array
                 items:
                   $ref: '#/components/schemas/UserProfile'
+              examples:
+                example-1:
+                  value:
+                    - username: lily
+                      firstName: Lilye
+                      lastName: Aldrin
+                      phoneNumber: '5149876554'
+                      phoneNumberExtension: '123'
+                      mobileNumber: '4381230987'
+                      faxNumber: '1239876543'
+                      profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf
+                      email: askiur@sfl.com
+                      organization: SFL
+                    - username: ErikMar
+                      firstName: Marshall
+                      lastName: Eriksen
+                      phoneNumber: '5149876554'
+                      phoneNumberExtension: '123'
+                      mobileNumber: '4381230987'
+                      faxNumber: '1239876543'
+                      profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf
+                      email: askiur@sfl.com
+                      organization: SFL
       operationId: get-api-admin-users
       description: Return a list of users.
   /api/subscription:
     get:
-      summary: Subscription status - License
+      summary: Get Subscription status
       tags: []
       responses:
         '200':
@@ -215,6 +281,16 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/SubscriptionStatusResponse'
+              examples:
+                example-1:
+                  value:
+                    licenseInformation:
+                      type: COMMUNITY
+                      products: []
+                    activated: true
+                    versions:
+                      Key: ''
+                      FIleDescription: {}
           headers:
             Access-Control-Allow-Origin:
               schema:
@@ -223,7 +299,7 @@ paths:
       operationId: get-api-subscription
       description: Get the subscription status.
     post:
-      summary: ''
+      summary: Upload License
       operationId: post-api-subscription
       responses:
         '200':
@@ -231,7 +307,7 @@ paths:
       description: 'Upload the license here, which is basically just uploading a base64 representation of the keypair - and store on disk.'
   /api/update:
     get:
-      summary: System Status
+      summary: Get System Status (current and available versions)
       tags: []
       responses:
         '200':
@@ -240,10 +316,20 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/FullSystemStatusResponse'
+              examples:
+                example-1:
+                  value:
+                    localVersions:
+                      Key: ''
+                      FIleDescription: []
+                    remoteVersions:
+                      Key: ''
+                      FIleDescription: {}
+                    updateAvailable: false
       operationId: get-api-update
       description: Return the current version number and the available version number of Jams(for update).
     post:
-      summary: ''
+      summary: Update version
       operationId: post-api-update
       responses:
         '200':
@@ -262,6 +348,11 @@ components:
         certificate:
           type: string
       description: "The user's Jami device."
+      x-examples:
+        example-1:
+          deviceId: sfl123
+          displayName: ThinkpadL30
+          certificate: sjhgfdszwythudsiuyfdvsxkiwjhyed
     UserProfile:
       title: UserProfile
       type: object
@@ -287,6 +378,18 @@ components:
         organization:
           type: string
       description: "The user's extended information which is not critical to Jami operations, usually provided by LDAP, Active Directory or other backend."
+      x-examples:
+        example-1:
+          username: lily
+          firstName: Lilye
+          lastName: Aldrin
+          phoneNumber: '5149876554'
+          phoneNumberExtension: '123'
+          mobileNumber: '4381230987'
+          faxNumber: '1239876543'
+          profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf
+          email: askiur@sfl.com
+          organization: SFL
     User:
       title: User
       type: object
@@ -316,9 +419,29 @@ components:
           type: string
         jamiId:
           type: string
+      x-examples:
+        example-1:
+          username: lily
+          password: abcs123
+          userType: LOCAL
+          realm: ''
+          accessLevel: USER
+          needsPasswordReset: 'false'
+          ethAddress: ''
+          ethKey: ''
+          jamiId: ''
     SubscriptionStatusResponse:
       title: SubscriptionStatusResponse
       type: object
+      x-examples:
+        example-1:
+          licenseInformation:
+            type: COMMUNITY
+            products: []
+          activated: true
+          versions:
+            Key: ''
+            FIleDescription: {}
       properties:
         licenseInformation:
           $ref: '#/components/schemas/LicenseInformation'
@@ -339,6 +462,7 @@ components:
           type: array
           items:
             type: string
+      x-examples: {}
     FullSystemStatusResponse:
       title: FullSystemStatusResponse
       type: object
@@ -349,3 +473,12 @@ components:
           type: object
         updateAvailable:
           type: boolean
+      x-examples:
+        example-1:
+          localVersions:
+            Key: ''
+            FIleDescription: []
+          remoteVersions:
+            Key: ''
+            FIleDescription: {}
+          updateAvailable: false
diff --git a/api-doc/reference/Install-API.v1.yaml b/api-doc/reference/Install-API.v1.yaml
index 0e3c6958d078a65c7456f63f8589cb2c69531580..33464392fd1f1635b75d556ea9e26919c3a409d7 100644
--- a/api-doc/reference/Install-API.v1.yaml
+++ b/api-doc/reference/Install-API.v1.yaml
@@ -8,7 +8,7 @@ servers:
 paths:
   /api/install/auth:
     post:
-      summary: ''
+      summary: Configure Authentication Source for Server
       operationId: post-api-install-auth
       responses:
         '200':
@@ -21,7 +21,7 @@ paths:
           description: Internal Server Error
       description: 'Configure Server to use selected Authentication Source as authentication backend, save settings in config.json file.'
     get:
-      summary: Authentication Source
+      summary: Get Authentication Source for server
       operationId: get-api-install-auth
       responses:
         '200':
@@ -29,7 +29,7 @@ paths:
       description: "Get server's Authentication Source."
   /api/install/ca:
     post:
-      summary: ''
+      summary: Save Certificate Authority
       operationId: post-api-install-ca
       responses:
         '200':
@@ -38,7 +38,7 @@ paths:
           description: Internal Server Error
       description: Save Certificate Authority.
     get:
-      summary: Certificate Request
+      summary: Get Certificate Authority
       operationId: get-api-install-ca
       responses:
         '200':
@@ -46,7 +46,7 @@ paths:
       description: Get Certificate Authority.
   /api/install/settings:
     post:
-      summary: ''
+      summary: Finish Server installation
       operationId: post-api-install-settings
       responses:
         '200':
@@ -55,7 +55,7 @@ paths:
           description: Internal Server Error
       description: Finish Server installation.
     get:
-      summary: ''
+      summary: Get Server Settings
       operationId: get-api-install-settings
       responses:
         '200':
@@ -63,7 +63,7 @@ paths:
       description: Get Server Settings.
   /api/install/start:
     post:
-      summary: ''
+      summary: Authenticate user
       operationId: post-api-install-start
       responses:
         '200':
@@ -76,7 +76,7 @@ paths:
           description: Forbidden
       description: Authenticate user.
     get:
-      summary: ''
+      summary: Check if user should login or sign-up
       operationId: get-api-install-start
       responses:
         '200':
@@ -88,7 +88,7 @@ paths:
               description: 'true'
       description: Check if user should login or sign-up.
     put:
-      summary: ''
+      summary: Create administrative user account
       operationId: put-api-install-start
       responses:
         '200':
@@ -97,6 +97,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/AuthTokenResponse'
+              examples:
+                example-1: {}
         '500':
           description: Internal Server Error
       description: Create administrative user account.
diff --git a/api-doc/reference/Nameserver-API.v1.yaml b/api-doc/reference/Nameserver-API.v1.yaml
index ae9de47f4fb8fb0b9f784282974d308c669fc393..e2ff8733f3479c03d763150759a7b4cf6dd6389a 100644
--- a/api-doc/reference/Nameserver-API.v1.yaml
+++ b/api-doc/reference/Nameserver-API.v1.yaml
@@ -14,7 +14,7 @@ paths:
         in: path
         required: true
     get:
-      summary: Address lookup
+      summary: Get Username from Adress
       tags: []
       responses:
         '200':
@@ -35,7 +35,7 @@ paths:
         in: path
         required: true
     get:
-      summary: Name lookup
+      summary: Get Address from username
       tags: []
       responses:
         '200':
diff --git a/api-doc/reference/Security-API.v1.yaml b/api-doc/reference/Security-API.v1.yaml
index 0b8d608963b591e75322988f87a5afa3d105081b..b037d04546373eacffdc91026e3276cb95163fd8 100644
--- a/api-doc/reference/Security-API.v1.yaml
+++ b/api-doc/reference/Security-API.v1.yaml
@@ -32,37 +32,16 @@ paths:
             type: string
           in: header
           name: authorization
-  /api/auth/contacts:
-    get:
-      summary: User contacts
-      tags: []
-      responses: {}
-      operationId: get-api-auth-contacts
-      description: "Get User's contacts"
-    put:
-      summary: ''
-      operationId: put-api-auth-contacts
-      responses:
-        '200':
-          description: OK
-      description: "Update User's contact."
-    delete:
-      summary: ''
-      operationId: delete-api-auth-contacts
-      responses:
-        '200':
-          description: OK
-      description: "Delete user's contact."
   /api/auth/ocsp:
     get:
-      summary: OCSP
+      summary: Get OCSP
       tags: []
       responses: {}
       operationId: get-api-auth-ocsp
       description: Get OCSP.
   /api/auth/crl:
     get:
-      summary: CRL
+      summary: Get CRL
       tags: []
       responses:
         '200':
diff --git a/api-doc/reference/User-API.v1.yaml b/api-doc/reference/User-API.v1.yaml
index fa5e3f9e44a2b2786629907657ce9c2036052190..3e974734ec0015e87365cd47a75bdf6b3e4be9e7 100644
--- a/api-doc/reference/User-API.v1.yaml
+++ b/api-doc/reference/User-API.v1.yaml
@@ -7,24 +7,36 @@ servers:
 paths:
   /api/auth/contacts:
     get:
-      summary: Contacts endpoint
+      summary: "Get User's list of contacts"
       tags: []
-      responses: {}
+      responses:
+        '200':
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/Contact'
       operationId: get-api-auth-contacts
       description: "Get User's contacts."
     put:
-      summary: ''
+      summary: "Update a User's contact"
       operationId: put-api-auth-contacts
       responses:
         '200':
           description: OK
+        '500':
+          description: Internal Server Error
       description: "Update User's contact."
     delete:
-      summary: ''
+      summary: "Delete a user's contact"
       operationId: delete-api-auth-contacts
       responses:
         '200':
           description: OK
+        '500':
+          description: Internal Server Error
       description: "Delete user's contact."
   '/api/auth/device/{deviceId}':
     parameters:
@@ -34,7 +46,7 @@ paths:
         in: path
         required: true
     get:
-      summary: Device operations
+      summary: Get user specified device
       tags: []
       responses:
         '200':
@@ -46,7 +58,7 @@ paths:
       operationId: get-api-auth-device-deviceId
       description: "Get a user's specified device."
     put:
-      summary: ''
+      summary: "Update user's device informations"
       operationId: put-api-auth-device-deviceId
       responses:
         '200':
@@ -60,7 +72,7 @@ paths:
           in: query
           name: deviceName
     post:
-      summary: ''
+      summary: "Create/Store a user's device"
       operationId: post-api-auth-device-deviceId
       responses:
         '200':
@@ -73,7 +85,7 @@ paths:
           description: Internal Server Error
       description: Create/Store a device for a user.
     delete:
-      summary: ''
+      summary: "Delete user's device"
       operationId: delete-api-auth-device-deviceId
       responses:
         '200':
@@ -159,7 +171,7 @@ paths:
       description: Search user profiles in directory.
   /api/auth/user:
     get:
-      summary: User endpoint
+      summary: Read user profile
       tags: []
       responses:
         '200':
@@ -167,7 +179,7 @@ paths:
       operationId: get-api-auth-user
       description: "Read user's profile (User can \"read\" his own profile)."
     put:
-      summary: ''
+      summary: Update some user profiles fields if LOCAL authentication source
       operationId: put-api-auth-user
       responses:
         '200':
@@ -203,6 +215,11 @@ components:
           type: string
         timestamp:
           type: string
+      x-examples:
+        example-1:
+          success: 'true'
+          errorDetails: ''
+          timestamp: '2020-06-01T12:30:01'
     AuthModuleKey:
       title: AuthModuleKey
       type: object
@@ -215,6 +232,17 @@ components:
             - AD
             - LDAP
             - LOCAL
+    Contact:
+      title: Contact
+      type: object
+      description: Contact database object
+      properties:
+        owner:
+          type: string
+        uri:
+          type: string
+        displayName:
+          type: string
   securitySchemes:
     API Key - 1:
       name: API Key
diff --git a/developer-tools/append-license.py b/developer-tools/append-license.py
deleted file mode 100644
index 154d767cab2e16623c9e64e11afd5c812014a514..0000000000000000000000000000000000000000
--- a/developer-tools/append-license.py
+++ /dev/null
@@ -1,39 +0,0 @@
-import os
-
-dir_name = "../"  # Edit as needed
-
-
-for parent, dirnames, filenames in os.walk(dir_name):
-    for fn in filenames:
-        if(".java" in fn):
-            print("Found Java Source Code File!")
-            with open(os.path.join(parent, fn), 'r') as f:
-                lines = f.readlines() #read
-                if "/*" in lines[0]:
-                    print("File already contains license header!")
-                    continue
-                else:
-                    lines.insert(0,"*/\n")
-                    lines.insert(0,"* along with this program.  If not, see <https://www.gnu.org/licenses/>.\n")
-                    lines.insert(0,"* You should have received a copy of the GNU General Public License\n")
-                    lines.insert(0,"*\n")
-                    lines.insert(0,"* GNU General Public License for more details.\n")
-                    lines.insert(0,"* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n")
-                    lines.insert(0,"* but WITHOUT ANY WARRANTY; without even the implied warranty of\n")
-                    lines.insert(0,"* This program is distributed in the hope that it will be useful,\n")
-                    lines.insert(0,"*\n")
-                    lines.insert(0,"* (at your option) any later version.\n")
-                    lines.insert(0,"* the Free Software Foundation; either version 3 of the License, or\n")
-                    lines.insert(0,"* it under the terms of the GNU General Public License as published by\n")
-                    lines.insert(0,"* This program is free software; you can redistribute it and/or modify\n")
-                    lines.insert(0,"*\n")
-                    lines.insert(0,"*\n")
-                    lines.insert(0,"*          Felix Sidokhine <felix.sidokhine@savoirfairelinux.com>\n")
-                    lines.insert(0,"*          Mohammed Raza <mohammed.raza@savoirfairelinux.com>\n")
-                    lines.insert(0,"*          Johnny Flores <johnny.flores@savoirfairelinux.com>\n")
-                    lines.insert(0,"*          Ndeye Anna Ndiaye <anna.ndiaye@savoirfairelinux.com>\n")
-                    lines.insert(0,"* Authors: William Enright <william.enright@savoirfairelinux.com>\n")
-                    lines.insert(0,"* Copyright (C) 2020 by Savoir-faire Linux\n")
-                    lines.insert(0,"/*\n")
-            with open(os.path.join(parent, fn), 'w') as f:
-                f.writelines(lines) #write back
\ No newline at end of file
diff --git a/developer-tools/samples/license.dat b/developer-tools/samples/license.dat
deleted file mode 100644
index 6fc3172735bd59eeeb6a8fdbd2d5ee5493836107..0000000000000000000000000000000000000000
--- a/developer-tools/samples/license.dat
+++ /dev/null
@@ -1 +0,0 @@
-LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZxekNDQTVNQ0FRNHdEUVlKS29aSWh2Y05BUUVMQlFBd2dac3hDekFKQmdOVkJBWVRBa05CTVFzd0NRWUQKVlFRSUV3SlJRekVSTUE4R0ExVUVCeE1JVFc5dWRISmxZV3d4SURBZUJnTlZCQW9URjFOaGRtOXBjaTFtWVdseQpaU0JNYVc1MWVDQkpibU11TVEwd0N3WURWUVFMRXdSS1FVMVRNUm93R0FZRFZRUURFeEZLUVUxVElFeHBZMlZ1CmMybHVaeUJEUVRFZk1CMEdDU3FHU0liM0RRRUpBUllRYzNWd2NHOXlkRUJxWVcxcExtNWxkREFlRncweU1EQXkKTVRneE56RTNNVFJhRncweU1UQXlNVGN4TnpFM01UUmFNSUdhTVFzd0NRWURWUVFHRXdKRFFURVpNQmNHQTFVRQpDZ3dRVTJGMmIybHlSbUZwY21WTWFXNTFlREVOTUFzR0ExVUVBd3dFZEdWemRERmhNRjhHQTFVRURReFlaWGxLCk1HVllRbXhKYW05blNXeENVMUpWTVVwV1ZUQnBURU5CYVdOSVNuWmFTRlpxWkVoTmFVOXBRbUpKYTBaRlVUQTUKVDFSclZrUldSVGxUU1dsM1owbHJlRVZSVmtKRVZEQTFUMUpWVGxWVU1VbHBXRmd3UFRDQ0FpSXdEUVlKS29aSQpodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQU5RcWRJMTlQT0pPc0tOQWJkd3dPSGZmaUZWQUtKTXBqNDQxCjkvaENLQW82ZklaZm9lSGZ6bHRkUTR3S2tFK1FlbHZsdmpoOThGQjRLTzZGMWh1M2FoNGVXTDNxVUF2MWc0cFQKd08yY0s2VDNYSDU1MHIxOEQ1ajIvS08reTBlZWlidHhRc3ZwazFFeVJTUVlsWGZqZnBmS3V3bU1CZ2lHRVFLeApsaEtUdzZnKzBtVHhIa1A1YjcrdVJSc0xYUkpWc0VMRVBYOFZpdk4xQWRUMk5QZjczNEFIOTVra2RoKzVrdlpMCnNwN2ZZRHQ3Q1JJUjNRY0UzejJzRUt3dG51UjZLNEtPQlZjeENCVGgwZjBtWEhicHcySmVBK2pZQ2xrc3ZqOFUKc2JCb1pLTi9FUzRqOEYvN0RhR29qY1JyNEZlcDl0c2lTelQwY3ZMOTM1Zys0UTVSQlBQSkpLUmFsWS81dUJVVQoveFltTDBDajFEWkx3VWpGSXp5OGMwakM0U3FFbmRSRlVtaHN1MHllamFjam5ZRmYyRVY1dkdWM0xnRFY5M2JaCjJxNWVLQjVLRE5TMDVqVGEyZWVNUklJSzVjeDgyQ1NZT0ZxQSswazhTbm1UdllNdy9FUkZvVFdoelVZRDhBL0cKNWFBekFoOEZXd091Mkt1VlJaVW8zd1E2RHc3ejBicE9uSEprNjBUN0Z2QTJqYWVLL3k4WlNvYzFGbElETUVCNwp5VEY1bGVKUTRLVExWL2UzTytSdWJ5TklQRS9LL1kvOE5CMFc0eUc0R014d0FObUd4MmlxbEJiZjJHdG5obE1TCklUc09qV0tJY0R1SzV0SEd6MUdJbzNxK1haOUZoRmlSNnVpMDV1SW1GK1MrNmMvaFFPNXBYSTNhODRncE9mQTQKNS9Hb2xTSWJBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFDcGFqTk1tMTh3NnAxc1IxUzVlZk5JTgppOXZYZ2U2eDRXM3RKTkhFTnhuVW9FWUVUK29NejRNWXBnVXZoNC9pKy8xK25YRnZSdlZIUkdpTnFsd2xUTVRTClYvdFFkSzgvMEdqNjVkZlJvWm1ZT3pqRGFhd05oMFlNSDNqZU9CbzBuN3lvRWxTNldBODJ3OFowSGs5VUFvQzQKWnZqS20vUk1Fc1ZGUlpoVXVnQzY0V1J3a3VXYjEwTnU4dW9WK2QwaXk0K0tmSFJPM3FMZkVJR3pUTjhEVmNKKwpRZ0pGZ1NteFNZSWlUT1ZmWm9MUzR1MFQ3cTJXbkI2cGFXNngxYTVYMWhNRTNheW1Ya3p0bGRVTERrdklNWkJ2ClZwcmNia3piV3FucDc5N0ZJQTVzNjhFeDBaODV3T0dQM1E1NDhyYW5Va29aMVVCd3huVDMrWFBhNUFoWiswSTUKOTYwNWhrSHo5UlJMRzFFTEs1bHVPNWNXY2xab0kxMTBMYW91WHJIWGtWNEZDQWoxbDV0QnhkdGFpbmlvcHlTaApMM2crTjROR0htL2lHWkJzUnZtV2M3U1d3eTl4VzAvY2R5TkRBTjlreEhCNHRQcTRLZzhTYzkzeHhLNTZDd3R6CmpkMmJuSHFKa2FwMWZZUkc1OHAzTGF2Wnp0S3V6VTJnU0UvQnpXaDRVdDJqYTNEUDNnL0dkNkg0aW1YMytXTDEKSDBHSWFUcUJlZ29DVXFjaCtyMG83UllBVVVodHlIREc4ckxUaUF6emNEcnJyNkxHTWxYbU4yUnJPRDVySm9zVAppRE1VMWxxR2NHRFNQRjE0UXlZb2p5b3NxbURvQUlmSWZWWUJ5cHZtZEI0VWdvTVdCRHFmUEtESUpPWUswS2NRCmZ3Sm9YMkZ6YlR2bTJSV1hzd0wrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1Mwd2dna3BBZ0VBQW9JQ0FRRFVLblNOZlR6aVRyQ2oKUUczY01EaDMzNGhWUUNpVEtZK09OZmY0UWlnS09ueUdYNkhoMzg1YlhVT01DcEJQa0hwYjViNDRmZkJRZUNqdQpoZFlidDJvZUhsaTk2bEFMOVlPS1U4RHRuQ3VrOTF4K2VkSzlmQStZOXZ5anZzdEhub203Y1VMTDZaTlJNa1VrCkdKVjM0MzZYeXJzSmpBWUloaEVDc1pZU2s4T29QdEprOFI1RCtXKy9ya1ViQzEwU1ZiQkN4RDEvRllyemRRSFUKOWpUMys5K0FCL2VaSkhZZnVaTDJTN0tlMzJBN2V3a1NFZDBIQk44OXJCQ3NMWjdrZWl1Q2pnVlhNUWdVNGRIOQpKbHgyNmNOaVhnUG8yQXBaTEw0L0ZMR3dhR1NqZnhFdUkvQmYrdzJocUkzRWErQlhxZmJiSWtzMDlITHkvZCtZClB1RU9VUVR6eVNTa1dwV1ArYmdWRlA4V0ppOUFvOVEyUzhGSXhTTTh2SE5Jd3VFcWhKM1VSVkpvYkx0TW5vMm4KSTUyQlg5aEZlYnhsZHk0QTFmZDIyZHF1WGlnZVNnelV0T1kwMnRubmpFU0NDdVhNZk5na21EaGFnUHRKUEVwNQprNzJETVB4RVJhRTFvYzFHQS9BUHh1V2dNd0lmQlZzRHJ0aXJsVVdWS044RU9nOE84OUc2VHB4eVpPdEUreGJ3Ck5vMm5pdjh2R1VxSE5SWlNBekJBZThreGVaWGlVT0NreTFmM3R6dmtibThqU0R4UHl2MlAvRFFkRnVNaHVCak0KY0FEWmhzZG9xcFFXMzloclo0WlRFaUU3RG8xaWlIQTdpdWJSeHM5UmlLTjZ2bDJmUllSWWtlcm90T2JpSmhmawp2dW5QNFVEdWFWeU4ydk9JS1Rud09PZnhxSlVpR3dJREFRQUJBb0lDQUFiYytMZzYvT1UxTm5HUmUveExjd2d0CnF2TlhCL2o2dHpJYWZOTURFTmlEMjlOYzlKZWg3Y0wyMldDR1Z2Uzc3N2xaVFRYMm5QZDlhNVdMcnNsbXZZQUwKNjBMNWVXMXBtNysxeGQvcDFWK1l3TjAyZzZLdGlMT2lDYm9pU2VFZk44VmdmSkNzRlovaXlHbktnY3RIQ0tsUQpYWXlKZ3doempjbFFoVkpFaFdmRDRIcHpjazh3bW5UUTVsdGhtcmtsSEhhTWNwRFIyWlRXakNDZmRrY3ZWcU9GCm5uVE53U1IxbEZOelQydmtQZkN1b2pSN2IzTHlyV1lKVXVDKytRemJCdDFLU3RIdlBCdXcwbUltQTRlMU9DVE8KZGNIcWV5czNUMUFyRXpScHJCZTkzSWhwa1RVSm9mOUF2SlZHQ0JQTjQ3WmkvWnZRN0liL3YyUGxaTkpadkpjMwpLYTJ6dmZoMlNFUVhjRDlDTlJDdnNlV1hQSVYzSkd4VGlWR2VjMzVydEhIbVMwUExrdGJDVTh1dXczWWlXR3dtCk9lcHhiY2xvWjBiMHdTQXFtWTJsTFUzMlR6UG10V01ValExZkRlelFIM1ZzRVBIZUpZbEswS0JUbkdSOXRmTVUKL0JtRUxHbUgrblYvd0owTExrS0VNa0dPTXBIV1VQa0o5TGZ2TGVGWlEyNjZrWVNGYnRhblpKbkRYaXI3UzBQUwpScUhtSHFOWXlBQ2ZxNGJNVFBIRDdCRkJOdkZCWFpvWHlwNDZTVFdWMmdtSmFYQWNCSG55cFBjVGJodG9KUkFkCjNqdFF1NzZHU1ZxWlNTcGg0anVYeDhHSE1oRnlSMjJVVno5blZpeXE3VUlJd1NPQUJSMGV6UUNGRE9ENXpIZ3YKQ0x6WVY3RWUzSDMraVllV1JySkJBb0lCQVFEMUNucmgxYm0zbFR2SGJPTHp6OW9VVUVUM3h5b0diQXhNaTNiNgowZ0xHb25CUEpSaUJhUFNUWHdsbWRqWkVCY25PU3N6WGtNcTB1QkZsK0xiYTE4M3dsVTc0L2dvMHJRajNPeVdrClRWVzBJdFY1bUVGQUtSN1YxMzdMUi9uSFBmbUorQjlIdEh2dTIrVnh1c3RXcnVZMUszMHpqUHl5VndpeEZra1MKVFo1RTl2bWlNbE1jMk5uVmF4WmdBYUhjZnJBcTl0UEErT0tWVktWc0dYSXppMFZNNWF6UEd5d2FsK3RYbUo3Vwp2YmxaR0UvRmRxYTBycmd2eG1OSUw0UzA3ajlZdHMwMHAramY2YmxQVHRJUnBzQ3lTM2VUSEZRVW9VbThMd2o1CkM1YkVJQlMzbkNQWkpTRHFWbER0VGx1Q0luSVpEY0JrMExpL2JjUWkxVjBhWDhKdEFvSUJBUURkcDVVRGFsRmwKeXFjYTBDOEpSdVo0Qk1EanFWOEc4THVOSzhrZGEwNTYrcmExeTMxMm1KVS9DaVdrSTgzSjRoOFgzNlRITWFPQwp2QmV1elJYNTdiK1kzb0ptUlpyMk0ycHNjbTFMSmdFcHd5RktTMVk1S2lTUHdkQzdWSzNlVnRTRnFVU3dVd2RnCjZmYmRtMGRjYU1DNlcwUzhmUEptOEk4REtoS1lGSFNtaklFb0NhRGJlRk0xczNDTE5FL2oySU1Ya2YxRHY0MXkKU0prck0xQXpQQjFrMkloQXpXY2JWRmNjRUxnRVpuUEg2eDd6dVdvaDVIb1BzczZLc1pldit2RHZoeXJoWnJLVwpIZkZhQ1FnRUVtaVk0UHdmN2lnbzVaZy95K2JWRWNxTHlSbVdUVW9JSHRiNnhuMWFJZmpnNEd0M3pkbmp0MmRCCmd5SVBYaWhoK21HbkFvSUJBUUMvMC9GNDVDRGNlQVp4UzJ1c0pMWjdtbzh6VGdZM090U3lBNmdrR000MWhDcloKdXBlaGozR1FBU0ZSeGc4YlYxQ3huMXNYRW5HdDRqODBqZTFRQ3d0Y1lQYU85QWszVFpLc1FQQnAzR1RRZlVpVApSVDhucEVsUWJNQUZFWmFYaEl2YWw1U2RSTXlVcEM3TnhzYXlXSDg5ZG9zd0ZSb3AzdnFkNzIxSzE5cWo4SmhpCmduVVFLeTcwNVQyQjhTVXVnVHNXbDE0VVBvTGJGb1hkeDFuZ3doR0JibmZITm1WamVEU3p3WFh2ZEYwcVExOEgKbmFoSjRGR3VqT2RpTmxqMGIyTEY1MjFqNEdMdEQ0S1RkSWY5YTRhRXpaR1JaK2JtczVFT3NkK2JYNWdxZDFiZwptbXB4N3FBQzg0bXRETitVVTdUd3FoUkltQ0ZaTXV3TnZPeUMzaDVOQW9JQkFRQ1VKTjlwaXZPZ1R4UGt6ZVBDCkZZc1FDRTFMVy9aUlV6Qm5LQzZnNVFsdEZJaHRkUFlELy9Nd1VQM2JlTHFnQmV1Mkx4bVlzTXFTSkZqSDBmYXcKTm9EcUVUMmlVVDlDOGhaZEtSVjNObzFzZGlpWDJVWmxxbzhKTGdidVRhaHZoQ1ZDdUdGYVlBUDhlQ013OWdsNQo3K0Z3TEhRQ2JwZ3N5UGNzckVBRk9SYkdBZjZJM2ZhTytSclVOM3d1N2VXL2FRUWxDc1AxTmQrNTFGL2JDYzYrCmo1MHR1N05GYklOUE5zMkp5bnJUSmc2WVBjTlFMa3FMSUlPY1htdkJNdlVvLzFWdElqQTh1a0QrS0VFWlpoUGYKZE5aSDU0ZGJaL2ViYmVpV0t4ZTZyTXR0SmhsZDVZWm5hd1ZRVXIyUk1rZC9OVDllc1V6QjcrQ3BYcFd6SThGbAp5c3pkQW9JQkFIWklRem9SWkplR1A4cWV2RzYwOXJvUFFpMkQwTU1MU0xJaDRLL3JNM282MTF2QUsyaVhra0ZmCkVSalpZMHhoSEhMekVoYmtaaXI1RTRUVTMwSFArT1BBb3pydlcwMFFLbjNVRnh0bHl1WjQ2aElVeEZ2ZkFxM28Kb2hha2VLR0piay9OSzNBZUxUS3FUUEU0QjJLZmRnVWwwZ1JsR0dnTHFqaUw3YktOZlJqank3Unlxa2hSRFhRVwpoejJjTEc1MGg3Tm1GekpoQjlTSk1xNWhiekRTSXYxSEtRdHlkdGxqUjVWaWRCdkhNSmkrckozQTlTVWQ5YmZUClZLeWdtaDM5UUVBZkVmT0tOR1ZwNUtNaHM1RUhxaStRK2prYnlxcHQvNEh6RzRWZTN0UkI2OVF2Zjg5cm00LzYKSE1vcXhTWFpFeHdkTEt5WDJKZ1Exdmw0T09NdjdSTT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=
\ No newline at end of file
diff --git a/developer-tools/samples/server.key b/developer-tools/samples/server.key
deleted file mode 100644
index 6cd1eba71265f1a899bc9329a73c501e10e6733a..0000000000000000000000000000000000000000
--- a/developer-tools/samples/server.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3YPxyascSByOp
-oLVs64yyFW3WY95bd6JgVWltDwGD/Q0ByzVCk4cxLZuNcxJoAuzUOB125X/LHh1F
-H44h9NRCR+2J7Lm4nRmeYfLsmKDz5pD+oT83YtwO38G+BVC2vA6Cehr1BVGMLtDc
-qctuoorKhkXFjL8ShblC/hHdn2yIGAtVrWazqSFsuxGBiXTcswq6H2j2BwYm3aLV
-p0kgAnRocg3GIqCKf6muTjqffG2dG8XHgcG1zI1bXKLMGXlqcE+bQ55rLNLYtZRV
-fdkJA9IsKPy3ZTh5xJvtWGVdrFMSpZDMvzFiM6Lzs+O3ui7V58zMppGCTZ9pltZZ
-67QI+KOtAgMBAAECggEASU9knPlDDFn+T9oHrbudS7R1bLgQNNDnAUwkEY1mNbX8
-dTMf37XK3kY1YZ8XRK2msFCetuGY7ULkwLWUxM5z7OuEcxdISB3GGCNgUmXSMq+C
-V8lu1F2ZS/j4I1dMpUEZK+BU1o+BwmEU7qKSyXABvGVhj1BtMqJzJe0ch1Ustlr4
-25353CAeVjRfNKyUY3yd34XBBWgi+bb1ULCJ1668iYfUq8PZDi9AW8Bb32wQ3B72
-vcYIVm2WmlCRJelCApEG2w1yDlsrG3dpYQzyoianiNv2lt1VhemD5ORKey5LitWV
-encgTrlA4C+6gQfQ5y1hXx8YEQUgIX74leHsDeisAQKBgQDmcH0woTrIQ4fGb//N
-5DMYRYRYlFNqTtSdzMN7kw3Rm4gaaoWusqZd3Kdl4ZshKhV7zDHG7uXdvmyDdVFZ
-vtTH2LRd6BkO6v+2dQ7voPQ3zVKPk6+H0yh4AkLpN8VHLunFDppvA5vn+59Juf1S
-m/qOVvpaHmNpzy9F9RummebXzQKBgQDLuCzL5j8wX6gt+tT+6LM2Q8shyD8iglgi
-le0Ag5HeXJ89WQdIvv0IfK0Wj670qjZ9mrp2eSTvyjSQTnjwu3IqYzsX59zgjSX9
-h7qe19QZyfi/WDNDVx9d2zbKZjomxLCdY4CAVq63M/OCnI1kt6M2rVLg23YKY8Yg
-fPEtP/dbYQKBgFLxaE4pqkPM8sD9LSDJo4537yQG92NLToIh4rbG/nFUvw9rCgUQ
-botYUbR9GN4+DI+Lttr4wCopUVubzZU099ea64jlcqeI9FOTHLYpw92V/MKLEOId
-ofJYNgdFuK9fdmskT3fn36UHT5U06bZjSDMVoXTwfS3nkgdnKvWzbYB9AoGAMQht
-T85lWyFK+3YqGgisSd1bYRAvkgDJcdmgJ8WDMIAem8d351yAzrAjgRCoTZ9Cakz5
-oFZcO5Lxv+IDXf3f5q/no0NdeHbAtBsdIepU1Lg2NOfnvseTdyWyNFkSmg4xbFBs
-t3clqlbIv6Eqrxk8IYbqMdDgwnNtVph7/CYvRUECgYEAtcL7Sontba0kg0p/v3Ce
-PajsbSSPcT0sUfMbxFo20OY/knq74uarUrlvWKkR4nbNG8jHzBCe3qg9eZXN51da
-GDRed44Um6PAy7itQh/Ak0qv1FsKhBvXQ6DMhoFeMQvbj9H/3w5JOCceAITHTw/O
-FeuOOnairNrVyJ0Dx2hGn+U=
------END PRIVATE KEY-----
diff --git a/developer-tools/samples/server.pem b/developer-tools/samples/server.pem
deleted file mode 100644
index 90ad7c962367e23aa85aac73fdd2bb5b960e7a50..0000000000000000000000000000000000000000
--- a/developer-tools/samples/server.pem
+++ /dev/null
@@ -1,22 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDlzCCAn+gAwIBAgIUS+MahayfvPw6t8UPeN8mmbo9rpswDQYJKoZIhvcNAQEL
-BQAwWzELMAkGA1UEBhMCQ0ExCjAIBgNVBAgMATExCjAIBgNVBAcMATExCjAIBgNV
-BAoMATExCjAIBgNVBAsMATExCjAIBgNVBAMMATExEDAOBgkqhkiG9w0BCQEWATEw
-HhcNMTkxMDI1MDAzNDA0WhcNMjAxMDI0MDAzNDA0WjBbMQswCQYDVQQGEwJDQTEK
-MAgGA1UECAwBMTEKMAgGA1UEBwwBMTEKMAgGA1UECgwBMTEKMAgGA1UECwwBMTEK
-MAgGA1UEAwwBMTEQMA4GCSqGSIb3DQEJARYBMTCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBALdg/HJqxxIHI6mgtWzrjLIVbdZj3lt3omBVaW0PAYP9DQHL
-NUKThzEtm41zEmgC7NQ4HXblf8seHUUfjiH01EJH7YnsubidGZ5h8uyYoPPmkP6h
-Pzdi3A7fwb4FULa8DoJ6GvUFUYwu0Nypy26iisqGRcWMvxKFuUL+Ed2fbIgYC1Wt
-ZrOpIWy7EYGJdNyzCrofaPYHBibdotWnSSACdGhyDcYioIp/qa5OOp98bZ0bxceB
-wbXMjVtcoswZeWpwT5tDnmss0ti1lFV92QkD0iwo/LdlOHnEm+1YZV2sUxKlkMy/
-MWIzovOz47e6LtXnzMymkYJNn2mW1lnrtAj4o60CAwEAAaNTMFEwHQYDVR0OBBYE
-FHYVoTymVeBDFSU+OkpojP8aiScLMB8GA1UdIwQYMBaAFHYVoTymVeBDFSU+Okpo
-jP8aiScLMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAEvuNCKx
-VqZlQbpwESZIP7Q4KtZ2v0B9yF4LvE/UOdcklcHymkdxhqFKnxEt0UkRH/E9VQdU
-1cVbxf+fvX+h7HaOKJIldwCIxb+FnEWU78Z3OvFAVZsfsZ8A0ouyixnP7UdZ/3Dn
-UJAdrbRHk/yWWb6GcNopusi1rZ6GYGJfjhUH+TLcm9Plfcs9E3zS1ETlmt5yT1PN
-QUPfHTEyjYkWEVhBeKBcfDVmsKIcrMlBoNhxApC/AwIZQYBY0PeGkZKHMYyXt6JL
-qB/z0VJye2Co02sdJjSVbkUkyEmHP4mnD1lb1Oe+qeYmNutsK5llmzCUi+YBhzP7
-yxyhJjHf157BmCs=
------END CERTIFICATE-----
diff --git a/integration-test/buildcert.sh b/integration-test/buildcert.sh
deleted file mode 100755
index 42d11fd0b8877dd9483fe91037d53f7abed96f8b..0000000000000000000000000000000000000000
--- a/integration-test/buildcert.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-openssl req -x509 -newkey rsa:4096 -days 3650 -nodes -keyout user.key -out user.crt -subj "/CN=fsidokhine"
-openssl pkcs12 -export -out user.pfx -inkey user.key -in user.crt
-curl -d -k -v -X POST "https://localhost:8080/api/auth/login" -E user.pfx --pass abc123
diff --git a/integration-test/contact-test.py b/integration-test/contact-test.py
deleted file mode 100644
index 6bf97644aa0e9e9960c34da5f0c8c523b8c79ba3..0000000000000000000000000000000000000000
--- a/integration-test/contact-test.py
+++ /dev/null
@@ -1,48 +0,0 @@
-import json
-import requests
-import urllib.parse
-
-header = {}
-header['Content-type'] = "application/json"
-
-response = requests.post('http://localhost:8080/api/auth/login',data={"username":"fsidokhine","password":"mes87hesm97daa"})
-if response.status_code == 200:
-    token = json.loads(response.text)['access_token']
-
-header = {}
-header['Bearer'] = token
-
-
-#Create two contacts
-data = {}
-data['uri'] = "jami://71828737748484"
-data['displayName'] = "Felix"
-response = requests.put("http://localhost:8080/api/auth/contacts",headers=header,data=json.dumps(data))
-print(response.status_code)
-print(response.text)
-
-data = {}
-data['uri'] = "jami://71828737748485"
-data['displayName'] = "Adrien"
-response = requests.put("http://localhost:8080/api/auth/contacts",headers=header,data=json.dumps(data))
-print(response.status_code)
-print(response.text)
-
-#Get both contacts
-
-response = requests.get("http://localhost:8080/api/auth/contacts",headers=header)
-print(response.status_code)
-print(response.text)
-
-#Delete a contact
-params = {'uri':'jami://71828737748485'}
-p = urllib.parse.urlencode(params,safe='')
-response = requests.delete("http://localhost:8080/api/auth/contacts?" + p,headers=header)
-print(response.status_code)
-print(response.text)
-#
-##Get contact
-#
-response = requests.get("http://localhost:8080/api/auth/contacts",headers=header)
-print(response.status_code)
-print(response.text)
\ No newline at end of file
diff --git a/integration-test/install-server.py b/integration-test/install-server.py
deleted file mode 100644
index 233ab92a85e1719badd543e638d644196d6d7409..0000000000000000000000000000000000000000
--- a/integration-test/install-server.py
+++ /dev/null
@@ -1,142 +0,0 @@
-import json
-import requests
-
-baseUri = "https://localhost:8080"
-
-data = {}
-data['username'] = "admin"
-data['password'] = "abc123"
-
-header = {}
-header['Content-type'] = "application/json"
-
-response = requests.put(baseUri + '/api/install/start',data=json.dumps(data),headers=header,verify=False)
-if response.status_code == 200:
-    print("Succesfully created the administrative user!")
-    token = json.loads(response.text)['access_token']
-else:
-    print("Could not create admin user, the test has failed!")
-
-
-header['Bearer'] = token
-
-data = {}
-data['fields'] = {}
-data['fields']['commonName'] = "TEST CA"
-data['fields']['country'] = "FR"
-data['fields']['lifetime'] = 10000000
-
-response = requests.post(baseUri + '/api/install/ca',data=json.dumps(data),headers=header,verify=False)
-if response.status_code == 200:
-    print("Added CA parameters!")
-else:
-    print("Could not add CA parameters, the test has failed")
-
-
-data = {}
-data['type'] = "LDAP"
-data['ldapSettings'] = {}
-data['ldapSettings']['useStartTLS'] = True
-data['ldapSettings']['realm'] = "savoirfairelinux"
-data['ldapSettings']['baseDN'] = "ou=users,dc=savoirfairelinux,dc=net"
-data['ldapSettings']['host'] = "ldap://annuaire.savoirfairelinux.com"
-data['ldapSettings']['username'] = "cn=sipallow,ou=dsa,dc=savoirfairelinux,dc=net"
-data['ldapSettings']['password'] = "Dewaaghei3Yo"
-data['ldapSettings']['usernameField'] = "uid"
-data['ldapSettings']['fieldMappings'] = {}
-data['ldapSettings']['fieldMappings']['givenName'] = "FirstName"
-data['ldapSettings']['fieldMappings']['sn'] = "LastName"
-data['ldapSettings']['fieldMappings']['jpegPhoto'] = "ProfilePicture"
-data['ldapSettings']['fieldMappings']['mail'] = "Email"
-data['ldapSettings']['fieldMappings']['telephoneNumber'] = "PhoneNumber"
-data['ldapSettings']['fieldMappings']['mobile'] = "MobileNumber"
-data['ldapSettings']['fieldMappings']['facsimileTelephoneNumber'] = "FaxNumber"
-data['ldapSettings']['fieldMappings']['extensionName'] = "PhoneNumberExtension"
-data['ldapSettings']['fieldMappings']['o'] = "Organization"
-
-response = requests.post(baseUri + '/api/install/auth',data=json.dumps(data),headers=header,verify=False)
-if response.status_code == 200:
-    print("Added LDAP parameters!")
-else:
-    print("Could not add LDAP parameters, the test has failed")
-
-
-data['serverDomain'] = "http://localhost"
-data['signingAlgorithm'] = "SHA512WITHRSA"
-data['crlLifetime'] = 100000
-data['userLifetime'] = 100000
-data['deviceLifetime'] = 100000
-
-response = requests.post(baseUri + '/api/install/settings',data=json.dumps(data),headers=header,verify=False)
-
-#This completes the install, now we'll try to enroll.
-
-data = {}
-response = requests.post(baseUri + '/api/auth/login',data={"username":"fsidokhine","password":"mes87hesm97daa"},verify=False)
-if response.status_code == 200:
-    token = json.loads(response.text)['access_token']
-
-header = {}
-header['Bearer'] = token
-
-
-#Now we try this...
-
-data = {}
-data['deviceName'] = "Felix Galaxy S8"
-data['csr'] =  '''-----BEGIN NEW CERTIFICATE REQUEST-----
-MIIElTCCAn0CAQAwUDEUMBIGA1UEAxMLSmFtaSBkZXZpY2UxODA2BgoJkiaJk/Is
-ZAEBEyg5MzE3MWRiNGI2NTMzOWNjNjM5MGRjYWI5MTQ4MWE0NTYxYzE2YWRmMIIC
-IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9z561c3zxvj/6VIPC94fg3Hg
-S+8Ap6BGGnuaLuJN0AzdzF15ST+SKV/9faIkvH7GUvb+dEitCbQsCmvhG7MDqdUY
-jMacLfc4YOM9xOTCi8Zi9+5pAhcxIQQqcT4l/WDo9bwsQmn41REI+KC4sHjqO4/9
-2TsWMoCjKM8qv8mhk+ndPGjzTuh2ZoGazXtZYn8KidTKv9X7UK7coDjEx/bjZf1x
-nF14atVmhk8sGADRbfKmIsjBo9O89Cn3bljfxRH6ix12tZv1GXtwr8jfMEEEMWct
-6kmT0R4tMoAl4ccPTRyFjS5H3VF4flk49LH64XygGA53X/OQPWqxDgIIYAIQV0+7
-vlW1XH1TIdblx2Vo8MH99n2CXq611yU8OkI82HHzc1fwtV0ounlzOdi0ESuyDGKs
-jPNHbZ1YLHq9oOehDSjspvafoKVO1GSUs6p1uYkdng8M2qskKS1WrSdPNxSBo3Hc
-gQqb/DXkQ8N6Z0AasqERmAk4uwqSohx8xoTw7/ZnI0awZh4+UTou+znKGbVCARI6
-BYd6tM1Ve43+YMB9rydzOhvrq9tOIKa9mFa807QjmxL4BFOMULVD3LePcrzebQ7h
-Pd7P4BbyeQ5KOD735bBu/PZp4prWCBRVY/bG/6JLfQeR1XOgUs0FDqjXQR8uq1J+
-MYCuLGr9sdJlwKBYaK0CAwEAAaAAMA0GCSqGSIb3DQEBDAUAA4ICAQCI5HYjgi8j
-d/4HoYYuidva1zwxVKbqzjCfghIpc56W2iTdM/XnFZyMrL+HuDQH0uqAKoydTU2S
-QYeGK1e5vJbZspt6QlMgNPsp9gxWWx+Wsu4TFDdvJXNvieLuqPZE93X/8DO6D5ck
-ptIJxWa4qFNdSKzx6V40lmr6V4YwX4r65rMtpIyzcLemqcbP4I0IOt8R1WHQJJSQ
-vU2gkZzuw1lfi+807pQw+X022OLiKykSeEO8bwACXuxQ0zQawV/kz97v+z7NoSvg
-iAz2YrQryTt9AhJZJZ4Omj/IrGGvKvQAzDzGMC0R4x8qD6FJsXjgFXeTdVoM7U9+
-N/sMc1v9oMuzqnCUB6aYPjiowhFWTydCNx2Axs1vfPnFV/yVmtEx2zOVV0xymgQA
-pl/NMaBq6QGYUFhw9sOq6HKzHNdOf00zf4jgJkNMTXQFuN0ORqHcTM0sgFh5uL3q
-mh4TqluVO6ubq0Y8ORaIc4Nxzy0VY7B/VOr9izWCHwMTzaqrZgBAPEH7mc72rFV8
-oTBLLnRmdyi/SFreL5WRhMm67DHne08LCqnkzEVwMIUECN5f2mkx9KP3BrsXuH2W
-+1hKj+xMws8oZdLouSmo84Ie31cjBbgss/lWzauDkFVcJ7wZXi4xAxL/sCDIu/+y
-sxMmX+s/PapsdSyUJ2g3hAf6Iv5m0pcUeQ==
------END NEW CERTIFICATE REQUEST-----'''
-
-response = requests.post(baseUri + '/api/auth/device',headers=header,data=json.dumps(data),verify=False)
-print(response.status_code)
-print(response.text)
-
-print(token)
-
-response = requests.get("http://localhost:8080/api/nameserver/name/aberaud",headers=header,verify=False)
-print(response.status_code)
-print(response.text)
-
-
-response = requests.get("http://localhost:8080//api/auth/directories",headers=header,verify=False)
-print(response.status_code)
-print(response.text)
-
-response = requests.get("http://localhost:8080/api/auth/user",headers=header,verify=False)
-print(response.status_code)
-print(response.text)
-
-print("Getting user profile as vcard")
-response = requests.get("http://localhost:8080/api/auth/directory/entry?username=aberaud&format=vcard",headers=header,verify=False)
-print(response.status_code)
-print(response.text)
-
-
-response = requests.post("http://localhost:8080/api/update",headers=header,verify=False)
-print(response.status_code)
-print(response.text)
diff --git a/integration-test/user.crt b/integration-test/user.crt
deleted file mode 100644
index 43c12a3dc36e7790b4064ed3961b3d2a54fa59c2..0000000000000000000000000000000000000000
--- a/integration-test/user.crt
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFCzCCAvOgAwIBAgIUFmkFCfLO2IiOp5zMv8saqdIGtbQwDQYJKoZIhvcNAQEL
-BQAwFTETMBEGA1UEAwwKZnNpZG9raGluZTAeFw0yMDA1MzExNTIzNDNaFw0zMDA1
-MjkxNTIzNDNaMBUxEzARBgNVBAMMCmZzaWRva2hpbmUwggIiMA0GCSqGSIb3DQEB
-AQUAA4ICDwAwggIKAoICAQDVTpTBD/cyq/1qP+RSTw6blyYWmkqsdeMOvCJHAFrf
-mFhgD7cKZSGxjtsdpCgB2yFxqT11yo0uLzCSz24HYmb7ZsAVgh4PvqPVeyxIHdig
-fS79xT8nKZY+tUuZPt7A402fMqMf+E9P+NxdvPErL9yTtuHSx3uWXjsGGRI8BUr/
-W6W5Mrr9xbYaa17GeBLExGCTm3pfPsIy4TugLItxDKYGRx1Es6NBNsdBrICJDRaG
-2jNARXD5r8WBsc9GSOEuBF+LAb85eDXjV38DWHGN3eMt3Bqa6kisK2TU+P2ub8L2
-hsstEpNyxW+MC90q3cKDpZF+EA3VzNOlRxXSfNSbDQ2Ljrp9cl/PKy2zUMCApriO
-GeGFkfWD8JqUdjY/cuBE6OwtMTOeHaQD3ORGYnyiu5JOrAqNOcCyQa/NcU3g+5hl
-I1dxZIbbkRErG0fPSzlWx3nF5KRkxPS1h7ZRObKfSYN/2UNk2lmKh9N8puaqWaDJ
-rNzft050PkcZjnLpkEj+H2LIxNhJeEe95pmlDulLa/3MRAOKhJhcp49XXQ8gW+N6
-DRhfg1E/LzbVQvIrq0O03wpzmTD7V8nTc0juo3n9hTggiWOIUwNZ+grA3sb/+8nU
-nrvq1z+0bUKYApM/DDGD7E1hIl/2p4y9OhcP/b1ZdTh9OvxCmJQebox53ZNkyj/s
-jQIDAQABo1MwUTAdBgNVHQ4EFgQUIJYrdvDdXK9BVaPEonPSuxMxPu4wHwYDVR0j
-BBgwFoAUIJYrdvDdXK9BVaPEonPSuxMxPu4wDwYDVR0TAQH/BAUwAwEB/zANBgkq
-hkiG9w0BAQsFAAOCAgEAoCN0Dh/MfwnV7wjaHN8SZjgQfAcsLantjhfaUHSfhswI
-eFiuXs6V8ZIICyG70hdHoY/aoia24bwaNN/I6t9GM9SxW+5OaWDzQjm1Ph6XyF46
-/wplgVC1hbuKV4V3TyAGTVdy6TQ/d/BuHSX1pGAnq4x17pdfI/zSFxbdUCUO2j64
-4OXKg+u0gDyai3rR+38ICaEDo47ZBLdNjzXJ+qxcXOTEWErb6K7O1ccAuT6hU6rR
-Pm6SSsWLer9L9zK08pdGPOUQ2ZJYg0EeaIt4bpknpk6ueV1M/r/WUkfKYNgSZYGY
-jD/xb7TPx8qyK9pyD5SZDkp/hBPb1LybtxVMkWzAzAIDBixQujs3ygy/87cSt8W6
-/ntU4v8qqgAi+QBWtYG8H1HXeru8U5V84cjVazxy5j4mxpJ5W/hETDZc6rR3zs5B
-SIkAeVCx8MlMEGQGSWUl9JZoa/hjYsmR/dvSd8+FdGtuW8NJlNqKy8P5Qjk9BFg6
-oV4iK9sm52kQ4bYybTL8nhj9QUSn1EU3a/DC72mwQSFVYYZ4bbfMIA8zWy9x3tYt
-wqiKvLQF+6TNaAgb3i7maPNaK3Au5uKSebgIvcUJlC2daClD2cR1cfQbKdO8qq6K
-JPKcfBaByepFAyHNxCX7NRQtcbRrI4HZjrehHGnlsaMqGZMLCzbyMBA7Aml0r9Y=
------END CERTIFICATE-----
diff --git a/integration-test/user.key b/integration-test/user.key
deleted file mode 100644
index 7343804708667825fe6a45e090dfd3f5d898c434..0000000000000000000000000000000000000000
--- a/integration-test/user.key
+++ /dev/null
@@ -1,52 +0,0 @@
------BEGIN PRIVATE KEY-----
-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
-6aIeoWpTJNW1E4sjnz7eu5ojhoYLLx2t
------END PRIVATE KEY-----
diff --git a/integration-test/user.pfx b/integration-test/user.pfx
deleted file mode 100644
index 226c15ea19be8889b4c5334a3842905894795c9a..0000000000000000000000000000000000000000
Binary files a/integration-test/user.pfx and /dev/null differ