MRC Converter Suite - invalid 1pux file - please, I need help! [Solved]
Hello @MrC and all the others from the team,
I want to migrate from KeePassXC with the help of the MRC Converter Suite because I have a lot of entries with attachments.
I tried several entries with attachments but the suite produces 1pux files which can not be imported. The message I get:
Import failed: We couldn't finish importing your data due to a known issue that we're working on.
I also had entries with attachments (pdf-files) where the converter suite creates valid 1pux file but the pdf-files a 0kb in size.
Please, what's a good way to migrate my KeePass-DB (nearly 1.300 entries) with a lot of entries with attachements or passkeys or other additional informations?
KeePassXC version 2.7.7
Kind regards, Tom
1Password Version: 8.10.24
Extension Version: Not Provided
OS Version: Windows 11
Browser: Not Provided
Comments
-
There currently is no converter in the suite for KeePassXC.
I believe the last time I looked, was mid 2019 or so. Please see this thread.
Can you tell me what formats KeePassXC can export?
0 -
I think KeePassXC uses the same format like KeePass2 because I can open the kdbx-databse from KeePassXC without any issue in KeePass2. My databse is version 4 of the KDBX file format.
KeePassXC can export as CSV, HTML and XML. I have choosen to export as XML.
This is my output from the converter with a test-entry with attachments and I don't see any real errors:
C:\Users\username\Desktop\mrc-converter-suite>convert.pl -v keepass2 C:\Users\username\Desktop\KP#1.xml --with_attachments Use of uninitialized value in subroutine entry at C:/Users/username/Desktop/mrc-converter-suite/./Converters/Keepass2.pm line 188 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl will try to tell you the name of the variable (if any) that was undefined. In some cases it cannot do this, so it also tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. Attachment saved: C:\Users\username\Desktop\MCS_converted_attachments (2)\Remote Desktop Manager - Devolutions Cloud\Devolutions Hub Personal Notfallkit.pdf Attachment saved: C:\Users\username\Desktop\MCS_converted_attachments (2)\Remote Desktop Manager - Devolutions Cloud\Devolutions Wiederherstellungscodes.pdf Attachment saved: C:\Users\username\Desktop\MCS_converted_attachments (2)\Remote Desktop Manager - Devolutions Cloud\Private Key - Devolutions Account Import summary: 1 item discovered Export summary: 1 Login item 1 total item You may now import the file below into 1Password 8: C:\Users\username\Desktop\MCS_converted.1pux
0 -
Ok, I've finally had a look at the latest KeePass2 (version 2.56) and KeePassXC (2.7.7).
The keepass2 converter handles KeePass2's XML (2.x) export correctly.
KeePassXC does not, however, create a full XML export. It does not export attachments. The Binaries section in the XML (where attachments would be encoded) is missing. Furthermore, entries contain references to the missing data. This is why the keepass2 converter is creating 0 byte attachment files. KeePassXC's XML export is not identical to KeePass2's XML export, and the keepass2 converter cannot be used with this incompatible XML export format.
So, use KeePass2 to create the XML 2.x export, as per the keepass2 converter's instructions, not KeePassXC.
Regarding PassKeys... the converter does not support converting Passkeys, as 1Password itself does not provide a means to export or import PassKeys.
0 -
@MrC I was able to convert my complete export and it seems to work. Great!
Only one issue I found:
All my different folders in KeePassXC, like software licenes, secure notes and so on are not converted in the categories in 1PW, they are now only tags. And I'am unable to move them into these categories.Is there a way to convert the folders in categories?
0 -
That's good progress.
You can't move a record in 1Password to another category, so its worth doing this at conversion time, rather than having to create a new record in 1Password and copy/paste its fields.
KeePass2 loosely supports a Login "category". And of course records may include custom fields, and may be placed into Folders. But Folder does not mean "category" in the sense that 1Password defines it. Folder is where you've decided to place a record; Category to 1Password is a defined set of fields and behaviors. So Folder does not mean Category.
The keepass2 converter's default mapping table defines entries for what become 1Password Login and Secure Notes entries. Its two entries have a set of field labels, and the converter matches against these.
The converter can be customized to add additional categories. It performs category detection by matching a record's field names. And since KeePass2 essentially defines only Logins, its default field names URL, UserName, and Password are used to assume the entry is a Login. Otherwise, its destination is a Secure Note.
If your "categories" (e.g. records in your folders) have unique field labels, then it is trivial to add additional entries to the mapping table. But if they also have the same label names as those mentioned above for the Login category, the category detection code has to be modified to handle this ambiguity. Some converters prioritize logins last, so that other categories with same-named fields can be detected before attempts at matching logins (or other categories). And other converters use a field count, where a minimum number of fields must be matched.
So the question becomes, do the records in your software licenses, etc. folders have unique and consistent field names? We'd need to have a good understanding of your field labels. Your folder names certainly could be used as a possible basis for creating 1Password categories, but the fields will end up in the Notes section of the record if there is no mapping in the converter for those field labels (i.e. KeePass custom field label to 1Password destination field).
Let me know how you'd like to proceed. Feel free to work with me offline on this if you want. My email is at the top of the converter source code.
0 -
Just to close on this, @pauLee and I worked offline. I created a custom version of the keepass2 converter to handle pauLee's special fields used for what are essentially "Software License" entries.
From pauLee:
it’s fantastic, all my entries are converted now. It’s so great that I don’t need to migrate them manually.
0