dkunzler / masterpassword

https://play.google.com/store/apps/details?id=de.devland.masterpassword
GNU General Public License v3.0
54 stars 11 forks source link

Import fails from iOS app / Changed data structure of mpsites file #36

Open madsci opened 3 years ago

madsci commented 3 years ago

Hi David It looked like the iOS export file format changed some months in the original app from Maarten Billemont. Now, the password import from iOS app fails to your app.

A year old backup file that was working fine has the following structure:

# Master Password site export
#     Export of site names and stored passwords (unless device-private) encrypted with the master key.
# 
##
# Format: 1
# Date: 2020-02-01T22:56:15Z
# User Name: xxx
# Full Name: xxx
# Avatar: 0
# Key ID: yyy
# Version: 22222222222222.5.4
# Algorithm: 3
# Default Type: aaa
# Passwords: PROTECTED
##
#
#               Last     Times  Password                      Login                      Site   Site
#               used      used      type                       name                      name   password
2014-12-16T21:34:31Z         4    20:3:2          email@server.com                  webpage.com 

Now, the export file has a json structure:

{
   "export": {
     "date": "2021-03-12T22:35:21Z",
     "redacted": true,
     "format": 1
   },
   "user": {
     "avatar": 0,
     "full_name": "xxx",
     "algorithm": 3,
     "key_id": "yyy",
     "default_type": aaa,
     "last_used": "2021-03-12T22:34:54Z"
   },
   "sites": {
     "server.com": {

Could you please implement the new export file type from iOS?

Basically, the new format is not that different, however, login name is now encrypted. I could send you a 'real' export file if you need to reverse-engineer the encryption format. I also tried to address Maarten directly as his own desktop app is not compatible anymore (https://github.com/Lyndir/MasterPassword/issues/254), but I have not received a reply yet.

Thank you Regards David