convert mSecure v4.5.4 to 1Password v7.7: Renamed card type ... to Secure Notes [Solved]
Hello,
I am trying to convert mSecure v4.5.4 to 1Password v7.7 (70700015) using the convert.pl
on my mac OS High Sierra v10.13.6.
When I run this command:
perl convert.pl -v msecure pm_export.csv
I get these messages (I removed duplicates):
Renamed card type 'Bank Account' is not a default type, and is being mapped to Secure Notes Renamed card type 'Combination' is not a default type, and is being mapped to Secure Notes Renamed card type 'Credit Card' is not a default type, and is being mapped to Secure Notes Renamed card type 'Insurance Info' is not a default type, and is being mapped to Secure Notes Renamed card type 'Login' is not a default type, and is being mapped to Secure Notes Renamed card type 'Membership' is not a default type, and is being mapped to Secure Notes Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes Imported 398 items Exported 1 socialsecurity item Exported 2 note items Exported 3 total items You may now import the file /Users/my_user_name/Desktop/1P_import.1pif into 1Password
When I run this command:
perl convert.pl msecure --debug pm_export.csv
I get these messages (I removed my username + passwords):
main : Runninng script from '/Users/my_user_name/Desktop/mrc-converter-suite' main : Command Line: msecure --debug pm_export.csv main : Output file: /Users/my_user_name/Desktop/1P_import.1pif print_fileinfo : Input file info: "pm_export.csv" print_fileinfo : size: 41342 print_fileinfo : kind: UTF-8 Unicode text print_fileinfo : mime: text/plain; charset=utf-8 do_import : ROW: 1 AAAS Science do_import : field: Field_0 => pub.aaas.org do_import : field: Field_1 => my_user_name@mymail.com | my_user_name do_import : field: Field_2 => **password** do_import : field: Field_3 => do_import : field: Field_4 => [snip] do_import : ROW: 397 Zillow.com do_import : field: Field_0 => zillow.com do_import : field: Field_1 => my_user_name@mymail.com do_import : field: Field_2 => **password** do_import : field: Field_3 => do_import : field: Field_4 => do_import : ROW: 398 Zoom do_import : field: Field_0 => zoom.us do_import : field: Field_1 => my_user_name@mymail.com do_import : field: Field_2 => **password** do_import : field: Field_3 => do_import : field: Field_4 => create_pif_record : Title: Disk Encryption create_pif_record : key test(name): Recovery Key create_pif_record : key test(number): wwww-xxxx-yyyy-zzzz create_pif_record : tags: Unassigned; mSecure::Social Security create_pif_record : Title: Voice Mail: Phone create_pif_record : key test(password): **password** create_pif_record : tags: Unassigned; mSecure::Voice Mail create_pif_record : Title: Unassigned: Social Security Numbers (SSN) create_pif_record : key test(field1), Not found create_pif_record : tags: Unassigned; mSecure::Unassigned create_pif_record : *unmapped card field pushed to notes: Field1
the first and last few records of my exported .csv
look like this:
mSecure CSV export file Unassigned,Login,AAAS Science,AAAS Number 1234567890,pub.aaas.org,my_user_name@mymail.com | my_user_name,**password**,,, Unassigned,Login,Zillow.com,,zillow.com,my_user_name@mymail.com,**password**,,, Unassigned,Login,Zoom,,zoom.us,my_user_name@mymail.com,**password**,,,
Any idea what I'm doing wrong?
I am comfortable editing my .csv
file if that would fix this.
Thank you.
1Password Version: 7.7
Extension Version: 70700015
OS Version: OSX 10.13.6
Sync Type: Not Provided
Comments
-
Sorry for the delay, but after 7pm yesterday I was likely in a food coma! :-)
Thanks for the great report, and using the debug facility to your advantage.
I am confused by your macOS mSecure version of v4.5.4. The last version in the version 3 line was 3.5.7 on Sept 26, 2017. Version 5.0 was released on May 8th, 2017. I know of no version 4.x. Can you verify your version for me? Your Login entry having the category label of Login indicates this is not a version 3 export (which uses the category label of Web Logins. Version 5 changed the label to the simpler Login, and Login rows now contain 10 cells.
[ Edit: I see there is an iOS version 4.5.4 - is that where you exported ? ]
So, when I try the msecure5 converter on your data, I get:
$ perl convert.pl msecure5 -v -d x main : Runninng script from '/Users/cappella/Documents/Coding/mrc-converter-suite' main : Command Line: msecure5 -v -d x main : Output file: /Users/cappella/Desktop/1P_import.1pif print_fileinfo : Input file info: "x" print_fileinfo : size: 296 print_fileinfo : kind: ASCII text print_fileinfo : mime: text/plain; charset=us-ascii do_import : ROW: 1 do_import : field: URL => pub.aaas.org do_import : field: Username => my_user_name@mymail.com | my_user_name do_import : field: Password => **password** do_import : field: empty1 => do_import : field: empty2 => normalize_card_data : field: URL normalize_card_data : field: Username normalize_card_data : field: Password print_record : title: AAAS Science tags: Unassigned; mSecure::Login key(password): Password = **password** key(username): Username = my_user_name@mymail.com | my_user_name key(url): URL = pub.aaas.org notes: AAAS Number 1234567890 do_import : ROW: 2 do_import : field: URL => zillow.com do_import : field: Username => my_user_name@mymail.com do_import : field: Password => **password** do_import : field: empty1 => do_import : field: empty2 => normalize_card_data : field: URL normalize_card_data : field: Username normalize_card_data : field: Password print_record : title: Zillow.com tags: Unassigned; mSecure::Login key(password): Password = **password** key(username): Username = my_user_name@mymail.com key(url): URL = zillow.com notes: do_import : ROW: 3 do_import : field: URL => zoom.us do_import : field: Username => my_user_name@mymail.com do_import : field: Password => **password** do_import : field: empty1 => do_import : field: empty2 => normalize_card_data : field: URL normalize_card_data : field: Username normalize_card_data : field: Password print_record : title: Zoom tags: Unassigned; mSecure::Login key(password): Password = **password** key(username): Username = my_user_name@mymail.com key(url): URL = zoom.us notes: Imported 3 items create_pif_record : Title: AAAS Science create_pif_record : key test(url): pub.aaas.org create_pif_record : key test(username): my_user_name@mymail.com | my_user_name create_pif_record : key test(password): **password** create_pif_record : notes: AAAS Number 1234567890 create_pif_record : tags: Unassigned; mSecure::Login create_pif_record : Title: Zillow.com create_pif_record : key test(url): zillow.com create_pif_record : key test(username): my_user_name@mymail.com create_pif_record : key test(password): **password** create_pif_record : tags: Unassigned; mSecure::Login create_pif_record : Title: Zoom create_pif_record : key test(url): zoom.us create_pif_record : key test(username): my_user_name@mymail.com create_pif_record : key test(password): **password** create_pif_record : tags: Unassigned; mSecure::Login Exported 3 login items Exported 3 total items You may now import the file /Users/cappella/Desktop/1P_import.1pif into 1Password
0 -
Ah, @MrC! Yes, you're right -- i need to use
msecure5
.For sure I have mSecure v4.5.4 on my iPhone. I've attached a snapshot of the "About mSecure" screen below.
I did try using
msecure5
before asking for help but I got an error. Unfortunately, I did not look at the error closely enough. I assumed (wrongly!) that the error indicated that I should not usemsecure5
. In fact, the error was telling me that I had a date with a leading!
. After removing those odd!
,msecure5
does the conversion!The reason I used converter
msecure
is because it includes more import types that I have in my exported.csv
file, eg,registrationcodes
. When converting my.csv
file using convertermsecure5
, I get these messages:Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes Renamed card type 'Social Security' is not a default type, and is being mapped to Secure Notes Renamed card type 'Unassigned' is not a default type, and is being mapped to Secure Notes Renamed card type 'Voice Mail' is not a default type, and is being mapped to Secure Notes
This renaming occurs only on 22 of my 398 (5%) records. I'll try to change the card type to something else and see if that helps.
Finally, I'll try to figure out this discrepancy:
- The number of imported items = 398.
- The number of exported items = 372.
- The number of renamed cards = 22.
- I need to find 4 records: 372 + 22 = 394 <> 398.
egrep 'Imported|Exported|Renamed' out.out | cat -n
1 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 2 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 3 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 4 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 5 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 6 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 7 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 8 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 9 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 10 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 11 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 12 Renamed card type 'Social Security' is not a default type, and is being mapped to Secure Notes 13 Renamed card type 'Voice Mail' is not a default type, and is being mapped to Secure Notes 14 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 15 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 16 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 17 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 18 Renamed card type 'Unassigned' is not a default type, and is being mapped to Secure Notes 19 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 20 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 21 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 22 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 23 Imported 398 items 24 Exported 4 membership items 25 Exported 2 creditcard items 26 Exported 1 bankacct item 27 Exported 364 login items 28 Exported 1 note item 29 Exported 372 total items
Thank you so much for your help. Also, thank you for writing this perl script in the first place and providing support! I very much appreciate your generosity and kind spirit!
0 -
Ah, @MrC! Yes, you're right -- i need to use
msecure5
.For sure I have mSecure v4.5.4 on my iPhone. I've attached a snapshot of the "About mSecure" screen below.
I did try using
msecure5
before asking for help but I got an error. Unfortunately, I did not look at the error closely enough. I assumed (wrongly!) that the error indicated that I should not usemsecure5
. In fact, the error was telling me that I had a date with a leading!
. After removing those odd!
,msecure5
does the conversion!The reason I used converter
msecure
is because it includes more import types that I have in my exported.csv
file, eg,registrationcodes
. When converting my.csv
file using convertermsecure5
, I get these messages:Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes Renamed card type 'Social Security' is not a default type, and is being mapped to Secure Notes Renamed card type 'Unassigned' is not a default type, and is being mapped to Secure Notes Renamed card type 'Voice Mail' is not a default type, and is being mapped to Secure Notes
This renaming occurs only on 22 of my 398 (5%) records. I'll try to change the card type to something else and see if that helps.
Finally, I'll try to figure out this discrepancy:
- The number of imported items = 398.
- The number of exported items = 372.
- The number of renamed cards = 22.
- I need to find 4 records: 372 + 22 = 394 <> 398.
egrep 'Imported|Exported|Renamed' out.out | cat -n
1 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 2 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 3 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 4 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 5 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 6 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 7 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 8 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 9 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 10 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 11 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 12 Renamed card type 'Social Security' is not a default type, and is being mapped to Secure Notes 13 Renamed card type 'Voice Mail' is not a default type, and is being mapped to Secure Notes 14 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 15 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 16 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 17 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 18 Renamed card type 'Unassigned' is not a default type, and is being mapped to Secure Notes 19 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 20 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 21 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 22 Renamed card type 'Registration Code' is not a default type, and is being mapped to Secure Notes 23 Imported 398 items 24 Exported 4 membership items 25 Exported 2 creditcard items 26 Exported 1 bankacct item 27 Exported 364 login items 28 Exported 1 note item 29 Exported 372 total items
Thank you so much for your help. Also, thank you for writing this perl script in the first place and providing ongoing support!
I very much appreciate your generosity and kind spirit!0 -
I wonder if the 4 missing items get lost during this error:
:Use of uninitialized value $val in substitution (s///) at /Users/bettyannchodkowski/Desktop/mrc-converter-suite/./Converters/Msecure5.pm line 310, <$io> line 81 (#1) Use of uninitialized value $val in concatenation (.) or string at /Users/bettyannchodkowski/Desktop/mrc-converter-suite/./Converters/Msecure5.pm line 312, <$io> line 81 (#1) Use of uninitialized value $val in substitution (s///) at /Users/bettyannchodkowski/Desktop/mrc-converter-suite/./Converters/Msecure5.pm line 310, <$io> line 97 (#1) Use of uninitialized value $val in concatenation (.) or string at /Users/bettyannchodkowski/Desktop/mrc-converter-suite/./Converters/Msecure5.pm line 312, <$io> line 97 (#1) Use of uninitialized value $val in substitution (s///) at /Users/bettyannchodkowski/Desktop/mrc-converter-suite/./Converters/Msecure5.pm line 310, <$io> line 105 (#1) Use of uninitialized value $val in concatenation (.) or string at /Users/bettyannchodkowski/Desktop/mrc-converter-suite/./Converters/Msecure5.pm line 312, <$io> line 105 (#1)
Lines 310 and 312 deal with converting curly quotes:
304 # process field columns beyond column 4 (notes) 305 for my $cfs (@{$card_field_specs{$itype}{'fields'}}) { 306 my $val = shift @$row; 307 308 # msecure 5 replaces simple ASCII double quotes in some fields with unicode right and left quotes 309 # during entry or upon export to CSV. 310 $val =~ s/\x{201C}|\x{201D}/"/g; 311 312 debug "\tfield: $cfs->[CFS_MATCHSTR] => $val"; 313 push @fieldlist, [ $cfs->[CFS_MATCHSTR] => $val ]; 314 }
hmm, i wonder if line 306 is actually the problem -- there are no other
row
s?I do not see quotes in these items (nor in nearby items; neither above nor below). I'll keep looking....
0 -
Again, great info @bettyann88 ,
I've never tested against the iOS mSecure output, and don't have any sample exports for it. In fact, I wasn't aware it could be exported. So, it's good news for users that it does. Generally many of the converters are platform-specific, as vendors don't keep their features and export formats consistent across versions, let alone platforms. mSecure has been really lax, even sloppy, with their export "format"
mSecure 5 had limited stock categories, and the converter handles those. But the converters were designed to be extended, so we can modify it to handle both the date differences and the additional categories. If you have only a few entries in your iOS mSecure 4.x export that were remapped to 1Password Secure Notes, it might not be worth the effort. But if many were, and you want to get them mapped correctly, I can explain how to customize the converter and help you do that (or with some sample data, give you the table entries you need to add). Your call.
When I create converters, I try to carefully create sample data that will stress the edge cases of the export so that the converter works for as many people as possible without error. So until I can create and test an iOS mSecure 4 export, I can't yet know how well the msecure5 converter will work for this cross-platform/version case.
The errors you show below are because the value
$val
is undefined (e.g. never assigned a value). This isn't a case that I expected, or didn't occur in my mSecure 5 export testing (I don't recall, but I'll check on this). The error messages indicate that lines 81, 97, and 105 in the input cause the issue. If you can get me a sample single sample row that triggers this, I'll check into it.Also, if you can get me a sample row that includes the date issue, I can show how to modify the converter to handle that.
Ideally I'd like to have a solid, representative mSecure 4 for iOS output file, so that I can update the msecure5 to support that export.
0 -
Dear @MrC,
now that i think about it, i backed up mSecure v4.5.4 from my iPhone to my mac via mBackup v3.0.1. then, on my mac, imported that mBackup into the mSecure 5 app that i newly download. i then exported from mSecure 5 to
.csv
.hmm, i realized i used mSecure 4 (iphone) --> mBackup 3 (mac) --> mBackup 5 (mac). that's asking for trouble.
i thought of a more consistent pipeline:
- backup mSecure 4 (iphone) --> mBackup 3 (mac).
- export mBackup 3 (mac) to
.csv
using mBackup 3 (not mBackup 5).
with this new
.csv
(that never goes into the mBackup 5 ecosystem), i can use themsecure
converter more naturally.when i ran this:
perl convert.pl -v msecure pm_export.csv
i saw that all the 'Registration Codes' records generated these messages:
**** Hit mSecure CSV quoting bug: row 5, card description 'Registration Codes: employee id' - compensating...
and again i saw that the total number of exported records did not match the number of imported records.
i then tried two things:
1. created a small.csv
of fake 'Registration Codes' records
2. poked around inConverters/Msecure.pm
based on pure observation / pattern matching, i modified hash
%card_field_specs
:191 [ 'rxphone', 0, 'Phone No.', ], 192 ]}, 193 194 # modified registrationcodes based on observation / pattern matching 195 registrationcodes => { textname => 'Registration Codes', type_out => 'note', fields => [ 196 [ 'regnumber', 0, 'Company', ], 197 [ 'regname', 0, 'Name', ], 198 [ 'regregistration', 0, 'Registration', ], 199 [ 'regweb', 0, 'Web', ], 200 [ 'regversion', 0, 'Version', ], 201 [ 'regordernumber', 0, 'Order #', ], 202 [ 'regorderdate', 0, 'Order Date' ], 203 ]}, 204 205 # original registrationcodes 206 registrationcodesorig => { textname => 'Registration Codes', type_out => 'note', fields => [ 207 [ 'regnumber', 0, 'Number', ], 208 [ 'regdate', 0, 'Date', ], 209 ]}, 210 211 socialsecurity => { textname => 'Social Security', fields => [
i couldn't figure out if 'Registration Codes' could have a
type_out
other thannote
.i ran this modified code on my small
.csv
file of 10 records (which i'll include below).this attempt ... did something? both good and not so good?
when i run
convert.pl
repeatedly, the total number of items exported changes! sometimes it exports 7 (out of 10) records. other times it exports all 10 (out of 10) records! i literally do nothing between each run.i am including the output of multiple runs below. note that i included a
date
stamp before each run.#----------------------------------------------------- $ date; perl convert.pl -v msecure msecure_fake.csv Sat Nov 28 22:15:53 CST 2020 **** Hit mSecure CSV quoting bug: row 2, card description 'Registration Codes: Fake' - compensating... **** Hit mSecure CSV quoting bug: row 3, card description 'Registration Codes: Fake2' - compensating... **** Hit mSecure CSV quoting bug: row 4, card description 'Registration Codes: Fake3' - compensating... **** Hit mSecure CSV quoting bug: row 5, card description 'Registration Codes: employee id' - compensating... **** Hit mSecure CSV quoting bug: row 6, card description 'Registration Codes: parking no' - compensating... **** Hit mSecure CSV quoting bug: row 7, card description 'Registration Codes: student id' - compensating... Imported 10 items Exported 1 membership item Exported 3 login items Exported 3 note items Exported 7 total items You may now import the file /Users/bettyannchodkowski/Desktop/1P_import.1pif into 1Password #----------------------------------------------------- $ date; perl convert.pl -v msecure msecure_fake.csv Sat Nov 28 22:15:56 CST 2020 Imported 10 items Exported 6 note items Exported 3 login items Exported 1 membership item Exported 10 total items You may now import the file /Users/bettyannchodkowski/Desktop/1P_import.1pif into 1Password #----------------------------------------------------- $ date; perl convert.pl -v msecure msecure_fake.csv Sat Nov 28 22:15:58 CST 2020 Imported 10 items Exported 1 membership item Exported 6 note items Exported 3 login items Exported 10 total items You may now import the file /Users/bettyannchodkowski/Desktop/1P_import.1pif into 1Password #----------------------------------------------------- $ date; perl convert.pl -v msecure msecure_fake.csv Sat Nov 28 22:16:14 CST 2020 **** Hit mSecure CSV quoting bug: row 2, card description 'Registration Codes: Fake' - compensating... **** Hit mSecure CSV quoting bug: row 3, card description 'Registration Codes: Fake2' - compensating... **** Hit mSecure CSV quoting bug: row 4, card description 'Registration Codes: Fake3' - compensating... **** Hit mSecure CSV quoting bug: row 5, card description 'Registration Codes: employee id' - compensating... **** Hit mSecure CSV quoting bug: row 6, card description 'Registration Codes: parking no' - compensating... **** Hit mSecure CSV quoting bug: row 7, card description 'Registration Codes: student id' - compensating... Imported 10 items Exported 1 membership item Exported 3 note items Exported 3 login items Exported 7 total items You may now import the file /Users/bettyannchodkowski/Desktop/1P_import.1pif into 1Password
i wonder if there is something special i have to do after modifying the
Msecure.pm
file? clearly i'm doing something weird. maybe there is some path weirdness? it's been years since i've coded in python...the fake exported
.csv
file:mSecure CSV export file Unassigned,Web Logins,Web Login 01,1.234.567.8901,web_login_01.com,my_user_name,"pass,word01", Unassigned,Registration Codes,Fake,Notes are fake,Company is fake,Name is fake,Registration is fake,Web.is.fake.com,Version is fake,Order # is fake,Order date is fake, Unassigned,Registration Codes,Fake2,Notes are fake,Company is fake,Name is fake,Registration is fake,Web.is.fake.com,Version is fake,Order # is fake,Order date is fake, Unassigned,Registration Codes,Fake3,Notes are fake,Company is fake,Name is fake,Registration is fake,Web.is.fake.com,Version is fake,Order # is fake,Order date is fake, Unassigned,Registration Codes,employee id,,,,1234567,,,,, Unassigned,Registration Codes,parking no,,,,X098765,,,,, Unassigned,Registration Codes,student id,,,,111 222 333,,Y0 123 456 7,,, Unassigned,Web Logins,Web Login 02,1AB23,www.web_login_02.com,my_user_name@mymail.com,password02, Unassigned,Web Logins,Web Login 03,ABC hint abcd_1234,http://www.web_login_03.com,X12345678,password03, Unassigned,Insurance,My Insurance Auto,my_user_name / 12345678 F: 1.123.456.7890 Emergency Road Service: 1.123.456.7890 http://www.insurance.com ,abcd.ef.ghij,,,, 1.123.456.7890,
(those [newlines] appear as
^K
in my editor,vim
.)note that records 2,3,4 are truly fake data that i created in mSecure on my iPhone specifically to see the actual names to add to
%card_field_specs
. all the other records were actual data but i removed identifying information.one more odd thing. when i run the modified
.pm
code on my complete exported.csv
file (400 records), when no errors are reported (again, sometimes there are errors; sometimes there are not), only 395 records are exported. five (5) records go missing. i would like to read in the.1pif
file to try to track down those missing 5 records. the easiest way would be for me to read in the.csv
file and the.1pif
programmatically.@MrC, would it be easy for you to point me to the code that writes the
.1pif
file?the
.1pif
file format looks like it may bejson
? or maybe just a conventional hash / dictionary? before i start guessing, i thought i'd ask if it might be easy for you to point me toward the part of code that would show me the format of.1pif
.Thank you!
Kind regards.0 -
I’ll fully reply in the morning. The mSecure CSV is terribly broken.
Can you email me the fake CSV file, so that I’m certain to test with the same file data you are using? Feel free to obfuscate, but leave any commas or double quotes alone. This is a source of their issue.
My email is at the top of the convert.pl file.
0 -
@MrC, I sent you a separate email with a fake
.csv
file attached.
Thank you!0 -
I'm going to take this offline, since the details will be interesting to very few, and the discussion is getting complex enough that forum posts are a bit difficult. We can summarize here when done.
0 -
@bettyann88 and I resolved this offline. A customized msecure converter to work with her iOS msecure 4.x vault exported via mBackup was all that was needed.
Yes! I was able to convert my mSecure records into 1password!
Thanks so much for creating and maintaining
convert.pl
!!I've wanted to switch my password manager from mSecure for a while. But I had over 400 records and I didn't want to lose them.
Enjoy 1Password!
0