erminal following one of the two possible ways: Installing the JAVA mobile application by using the desktop computer via wired (corresponding cable) or wireless (e.g., Bluetooth, Infrared, WiFi) transmission path to the mobile terminal-offline approach. Installing the JAVA mobile application through some Over-The-Air (OTA) services-online approach. User authentication for using the JAVA mobile application should be a two-step process: The first step should be a combination of username/password for accessing the application (the password should be changeable by the user). This should be done immediately after starting the application. These credentials will be generated during the user registration process. During the initial phase of the application installation, the user will obtain the username and some default password. The application has to force the user to change the password on the first application start. The second step should be a corresponding PIN code for accessing the asym- metric private key just before signing the m-residence certificate request. Generation of the user asymmetric public/private key pair and the correspond- ing digital certificate should be done through the user registration function of the XKMS protocol which is described in Section 11.3.2. The User Authentication module is called from the GUI object. On Secure JAVA Mobile Application 11.4.3.2 XKMS Module The XKMS protocol comprises two parts: The X-KISS-a protocol to support the delegation by an application to a service of the processing of key information associated with an XML signa- ture, XML encryption, or other usage of the XML Signature <ds:KeyInfo> element. The X-KRSS-a protocol to support the registration of a key pair by a key pair holder, with the intent that the key pair subsequently be usable in conjunction with the X-KISS or a PKI. XKMS enables one to simplify the use of PKI by client systems. It provides them the actual information about keys issued by CAs of the PKI. We used partly modified OpenXKMS-an open-source 