-
Notifications
You must be signed in to change notification settings - Fork 0
/
upm_android_userguide.html
263 lines (226 loc) · 15 KB
/
upm_android_userguide.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
---
layout: default
title: UPM Android User Guide
---
<h2>Contents</h2>
<ul>
<li><a href="#installation">Installation</a></li>
<li><a href="#create_new_database">Creating a New Database</a></li>
<li><a href="#retrieve_from_dropbox">Retrieving a Database From Dropbox</a></li>
<li><a href="#adding_an_account">Adding an Account</a></li>
<li><a href="#opening_an_account">Opening an Account</a></li>
<li><a href="#editing_an_account">Editing an Account</a></li>
<li><a href="#deleting_an_account">Deleting an Account</a></li>
<li>
<a href="#database_syncing">Database Syncing</a>
<ul style="margin-top: 0; margin-bottom: 0; padding-top: 6.5px">
<li><a href="#sync_using_dropbox">Using Dropbox</a></li>
<li style="padding-bottom: 0"><a href="#sync_using_http">Using HTTP</a></li>
</ul>
</li>
<li><a href="#backup">Backup</a></li>
<li><a href="#restore">Restore</a></li>
<li><a href="#preferences">Preferences</a></li>
<li><a href="#add_trusted_https_cert">How to Add a Trusted HTTPS Certificate</a></li>
<li><a href="#extract_db">Extract a copy of your password database from an Android device</a></li>
<li><a href="#factory_reset">I've performed a Factory Reset of my phone. Can I get my password database back?</a></li>
<li><a href="#copy_db_to_new_device">How can I transfer my password database to a new device</a></li>
</ul>
<h2 id="installation">Installation</h2>
<p>
UPM can installed from the <a href="https://market.android.com/details?id=com.u17od.upm">Android Market</a>.
</p>
<h2 id="create_new_database">Creating a New Database</h2>
<p>
The first time you start UPM (or after deleting your database) you'll be presented with the <b>New Database</b> screen.
</p>
<img class="centered-image" src="images/android/new_database.png" width="320" height="480">
<p>
Click on <b>Create New Database</b>. (See also <a href="#restore">Restore Database From Backup</a>, <a href="#sync_using_http">Retrieve from HTTP Location</a>, <a href="#retrieve_from_dropbox">Retrieve from Dropbox</a>).
</p>
<p>
The next screen will ask for the master password you'd like to use to encrypt your password database. Choose this password carefully. It should be memorable but obviously not so memorable that someone could guess it. If you forget this password there's absolutely no way of opening your database. UPM uses the most seucre encryption available, <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a>.
</p>
<img class="centered-image" src="images/android/new_database_password.png" width="320" height="480">
<p>
Having entered your master password click on the <b>Create</b>. You'll then be presented with the accounts screen which at this point will be empty.
</p>
<img class="centered-image" src="images/android/accounts_screen_no_accounts.png" width="320" height="480">
<h2 id="retrieve_from_dropbox">Retrieving a Database From Dropbox</h2>
<p>
On the "New Database" screen select "Retrieve From Dropbox". If you haven't already done so you'll be prompted to authorise UPM to access your Dropbox account. UPM will only have access to one folder in your account, /Apps/UPM/.
</p>
<p>
Having authorised UPM you'll be presented with a list of UPM database files saved in your Dropbox account. The files are read from the folder <tt><Dropbox Root>/Apps/UPM/</tt>.
</p>
<p>
The file you select will be downloaded and saved locally. You can keep the local file in sync with the version in Dropbox using Menu -> Sync.
</p>
<img class="centered-image" src="images/android/dropbox_files.png" width="320" height="480">
<h2 id="adding_an_account">Adding an Account</h2>
<p>
From the accounts screen click <i>Menu -> Add</i>.
</p>
<img class="centered-image" src="images/android/add_account.png" width="320" height="480">
<ul>
<li><b>Account Name</b>: The name of the account as it will appear in the accounts screen</li>
<li><b>User Id</b>: The user id associated with this new account</li>
<li><b>Password</b>: The password associated with this account</li>
<li><b>URL</b>: For accounts associted with websites</li>
<li><b>Notes</b>: A free text area</li>
</ul>
<p>
Click <b>Save</b> after entering all the account details.
</p>
<img class="centered-image" src="images/android/accounts_screen_one_account.png" width="320" height="480">
<h2 id="opening_an_account">Opening an Account</h2>
<p>
To open an account simply select the account name on the Accounts screen.
</p>
<img class="centered-image" src="images/android/open_account.png" width="320" height="480">
<h2 id="editing_an_account">Editing an Account</h2>
<p>
There are two ways of editing an account.
</p>
<h3>Option 1</h3>
<ol>
<li>Open the account by selecting it on the accounts screen.</li>
<li>On the Account Details screen select Menu -> Edit</li>
</ol>
<img class="centered-image" src="images/android/edit_account_from_menu.png" width="320" height="480">
<h3>Option 2</h3>
<ol>
<li>Long click the account on the accounts screen.</li>
<li>Select Edit Account.</li>
</ol>
<img class="centered-image" src="images/android/long_click_account_dialog.png" width="320" height="480">
<p>
Regardless of how you open it the Edit screen looks like this,
</p>
<img class="centered-image" src="images/android/edit_account.png" width="320" height="480">
<p>
When you're finished editing click <b>Save</b>.
</p>
<h2 id="deleting_an_account">Deleting an Account</h2>
<ol>
<li>Open the account from the Acccount list screen</li>
<li>Select Menu -> Delete</li>
<li>Select <b>Yes</b> to confirm deletion</li>
</ol>
<img class="centered-image" src="images/android/delete_account_confirm.png" width="320" height="480">
<h2 id="database_syncing">Database Syncing</h2>
<h2 id="sync_using_dropbox">Sync Using Dropbox</h2>
<p>
If you have a database on your Android device and you'd like to save it to Dropbox follow these steps,
<ol>
<li>Select Menu -> Preferences</li>
<li>Under <i>Sync Settings</i> select <i>Sync Method</i></li>
<li>Select <i>Dropbox</i>
<li>Hit <i>Back</i> to exit Settings and get back to the application</li>
<li>Select Menu -> Sync</i>
</ol>
If you've not already done so you'll be requested to authorise the UPM application. UPM will only have access to one folder in your Dropbox account, /Apps/UPM/. This folder is created and your database saved there.
</p>
<p>
If you already have a UPM database on Dropbox see <a href="#retrieve_from_dropbox">Retrieving a Database From Dropbox</a>.
</p>
<h2 id="sync_using_http">Sync Using a HTTP Server</h2>
<p>
See <a href="database_syncing.html">Database Syncing</a> for an overview of this feature and instructions on how to setup your server.
</p>
<p>
At the outset, there are generally two scenarios you can find yourself in terms of syncing. The first is where you have a password database on your android device that you'd like to upload to your server and make available for syncing to other devices. The second is where there's a password database already on your server and you'd like to sync it to your device.
</p>
<h3>1. Uploading a database</h3>
<ol>
<li>Select Menu -> Preferences</li>
<li>Select URL, enter the URL where you placed the UPM server files, e.g. https://www.mydomain.co/upm and select OK</li>
<li>If the server location is protected with Basic Authentication then you'll need to provide a username and password. If you haven't already done so add an account with the required username and password. Come back to Preferences, select HTTP Authentication Account and select the appropiate account.</li>
<li>If the URL you're storing your database at uses HTTPS you may recieve this error when you try and sync, "javax.net.ssl.SSLException: Not trusted server certificate". If so then see the section <a href="#add_trusted_https_cert">How to Add a Trusted HTTPS Certificate</a>.</li>
</ol>
<h3>2. Downloading a database</h3>
<ol>
<li>Select Menu -> Preferences</li>
<li>The option to download a remote database is available on the same screen from where you create a new database. If you've already got a database you'll need to delete it (Menu -> More -> Delete Database).</li>
<li>Select "Retrieve From HTTP Location" on the New Database screen.<br><img class="centered-image" src="images/android/new_database.png" width="320" height="480"></li>
<li>Enter the full URL to your database, e.g. https://www.mydomain.com/upm/upm.db</li>
<li>If the URL uses Basic Authentication enter the User Id and Password.</li>
<li>Click Download</li>
<li>If the database is successfully downloaded you'll be presented with the Enter Master Password screen.</li>
</ol>
<img class="centered-image" src="images/android/enter_master_password.png" width="320" height="480">
<h2 id="backup">Backup</h2>
UPM stores your password database in an area that's inaccessible to other applications. It's referred to as <a href="http://developer.android.com/intl/fr/guide/topics/data/data-storage.html#filesInternal">Internal Storage</a>. As a consequence, if UPM is uninstalled or your phone is reset your password database will be deleted. For this reason it's <b>extremely important</b> that you backup regularly.
<ol>
<li>Open your database</li>
<li>Select Menu -> More -> Backup</li>
</ol>
Your database will be copied to your SD card with the name <b>upm.db</b>.
<h2 id="restore">Restore</h2>
<p>
If you've just installed UPM and haven't created a database yet you can restore a version that you backed up previously. On the New Database screen select <b>Restore Database From Backup</b>. This will restore the database named upm.db from your SD card.
</p>
<p>
If you've already got a database open you can restore a previously backed up version. This will replace the currently open database with the database named upm.db on your SD card. Select Menu -> More -> Restore.
</p>
<h2 id="preferences">Preferences</h2>
<ul>
<li><b>URL</b>: The URL where you're sycing your database.</li>
<li><b>HTTP Authentication Account</b>: The account providing the username and password need to access the URL used for syncing. See <a href="#database_syncing">Database Syncing.</a></li>
<li><b>Trusted Hostname</b>: Name of the host where you sync your database. This is only required if your use HTTPS and the certificate doesn't have your hostname in the Common Name. See <a href="#add_trusted_https_cert">How to Add a Trusted HTTPS Certificate</a>.</li>
</ul>
<img class="centered-image" src="images/android/preferences.png" width="320" height="480">
<h2 id="add_trusted_https_cert">How to Add a Trusted HTTPS Certificate</h2>
<p>
If you use a HTTPS URL for your remote database and the server is using a self signed certificate you may get this error when you attempt to sync, <b>javax.net.ssl.SSLException: Not trusted server certificate</b>. What you need to do is import the server's certificate into UPM so that it knows it can be trusted. Here's how.
</p>
<ul>
<li>
The certificate can be easily retrieved using your browser. These steps will work for Firefox. It should be similarly easy using any other browser.
</li>
<ul>
<li>Vist the URL in your browser. Be sure to use HTTPS, e.g. https://www.17od.com</li>
<li>Select <i>Tools -> Page Info -> Security</i></li>
<li>Click <i>View Certificate</i></li>
<li>Go to the <i>Details</i> tab</li>
<li>Click <i>Export</i> - save the file with the name <i>upm.cer</i></li>
</ul>
<li>Connect your handset to your computer and mount the SD card</li>
<li>Copy the file <i>upm.cer</i> to the root directory of your SD card. UPM will look in the root of your SD card for a file with this name.</li>
<li>Start UPM</li>
<li>Select <i>Menu -> More -> Import Certificate</i>. You should see the message <i>Certificate Imported</i></li>
<li>If the certificate was automatically generated for you by your hosting provider then it's likely that it won't have your website URL as the Common Name (it'll probably be some generic name shared by all domains hosted on that server). Android will reject the certificate on that basis. To get around this select <i>Menu -> Preferences -> Trusted Hostname</i> and enter your webserver hostname, e.g. www.17od.com. This tells UPM to trust that hostname.</li>
</ul>
<h2 id="extract_db">Extract a copy of your password database from an Android device</h2>
<p>
The <a href="#backup">Backup</a> menu option will copy your password database to your device's SD card. You should do this on a regular basis in case your phone becomes inoperable.
</p>
<p>
If it happens that you can't access UPM for some reason and you don't have a backup of your database all is not lost. It's still possible to extract the database using <a href="http://developer.android.com/intl/fr/guide/developing/tools/adb.html">adb</a>, one of the Android developer tools. The only cavet to this is that your device must be rooted.
</p>
<p>
<b>NOTE: These instructions only work on rooted devices</b>
</p>
<ol>
<li>Install adb. Try <a href="http://www.addictivetips.com/mobile/what-is-adb-and-how-to-install-it-android/">this guide</a></li>
<li>If you haven't already done so connect your phone to your PC using your USB cable</li>
<li>Open a command line and execute 'adb pull /data/data/com.u17od.upm/files/upm.db'</li>
</ol>
<p>
You should now have the file upm.db on your PC. This is the encrypted UPM database containing all your usernames and passwords. You can open it using the <a href="http://sourceforge.net/projects/upm/files/">desktop version of UPM</a> and/or use the <a href="#restore">Restore</a> menu option using UPM for Android.
</p>
<h2 id="factory_reset">I've performed a Factory Reset of my phone. Can I get my password database back?</h2>
<p>
Not unless you have a backup (see <a href="#backup">Backup</a>). A factory reset wipes everything on your phone.
</p>
<h2 id="copy_db_to_new_device">How can I transfer my password database to a new device</h2>
If you have Android Backup & Restore enabled your password database will be automatically copied to your new device via Google's servers. For more information see <a href="https://support.google.com/android/answer/2819582?hl=en">Back up or restore data on your Android device</a>.
If you don't use Android Backup & Restore you can copy your password database manually.
<ol>
<li>Open your database on the device you want to copy from.</li>
<li>Select "Backup" from the menu. This will backup your password database to <i>/storage/emulated/0/Android/data/com.u17od.upm/files/upm.db</i>.</li>
<li>Copy this file to your new device using something like Google Drive. If you can't see the upm.db file using the Android Files application try connecting your device to a PC and browsing the filesystem using Windows File Explorer or equivalent.</li>
<li>Install UPM on your new device (if you haven't done so already).</li>
<li>Copy the upm.db file from your source device into the directory <i>/storage/emulated/0/Android/data/com.u17od.upm/files/</i> on your new device.</li>
<li>Start UPM and select "Restore Database from Backup".</li>
</ol>