nsd20463 / pwsafe

commandline tool compatible with Counterpane's Passwordsafe
GNU General Public License v2.0
68 stars 18 forks source link

Export to XML option for compatibility with KeePassX #3

Open graysky2 opened 9 years ago

graysky2 commented 9 years ago

I know users can currently dump out the database to a txt file but it would be very powerful if an export feature KeePassX XML format could be added. Below an example xml file with the minimum entries needed.

Mappings: pwsafe = keepassx

uuid= doesn't translate group= group>title name= entry>title login= entry>username passwd= entry>password notes= entry>comment

Example pwsafe export:

# passwordsafe version 2.0 database"
uuid    group   name    login   passwd  notes
"123d9-daf-df-3423423"  "retail"    "amazon"    "myamazonuser"  "sjfJ849"   "superfluous comment"
"4599d934-dsfs-324" "retail"    "netflix"   "netflixuser"   "dj3W$#"    ""
"4kdfkd-434-jj" "email" "gmail" "mygmail"   "dfkpass"   ""

Example xml in keepassx xml format for export:

<!DOCTYPE KEEPASSX_DATABASE>
<database>
 <group>
  <title>Internet</title>
  <entry>
   <title>github</title>
   <username>githubusername</username>
   <password>githubpassword</password>
   <comment>optional comment</comment>
  </entry>
 </group>
 <group>
  <title>retail</title>
  <entry>
   <title>amazon</title>
   <username>username</username>
   <password>myamazonpw</password>
  </entry>
 </group>
 <group>
  <title>retail</title>
  <entry>
   <title>netflix</title>
   <username>username</username>
   <password>mynfxpw</password>
  </entry>
 </group>
</database>
graysky2 commented 9 years ago

Here is a python script that will accomplish this: https://github.com/mauritiusdadd/pwsafe2keepassx