 mRCertificate and sends the SMS message to the user mobile device. This part of communication between the user and the SWEB platform is asynchronous. Arrived message is a signal for the user to per- form downloading of mRCertificate via the option of Download certificate. On the "Doc ID" form, the Task ID should be chosen from the list. The Task ID uniquely identifies the mRCertificate that should be downloaded. After that, on the next form, the PIN, for obtaining the user's private key, should be entered. The result of download will also be displayed on the "Final" form. The first step for sending m-Invoice is populating the necessary form fields on the "Invoice" form. The Municipality should also be chosen from the list. The next form is the form for entering a PIN used for reading the user private key. The result of m-Invoice sending (error or success) will also be displayed on the "Final form." In order to realize the above-mentioned functionalities, the mobile JAVA appli- cation communicates with the following external entities: STS server XKMS (XML Key Management Specification) server TSA server SWEB platform-Interaction Tier Manager of the municipality Communication between the JAVA mobile application and the STS server is realized by using WS-secured SOAP communication. According to the scenarios, On Secure JAVA Mobile Application the JAVA mobile application sends the RST to the STS server and, if everything is ok, it receives back the RSTR which consists of URL of the municipality and the SAML token with the user's role on the SWEB platform. Communication between the JAVA mobile application and the SWEB plat- form of the municipality is realized as WS-Encrypted SOAP communication with the Interaction Tier Manager of the municipality. According to the scenarios, the JAVA mobile application sends the signed mRCertificate request or m-invoice (sign- ing is done by using XML signature mechanisms) to the Interaction Tier Manager of the municipality. Before sending it to the municipality, the signed mRCertifi