jacolo
Goto Top

Bitwarden Collection 2 KeePass import

Hallo erstmal,
ich bin jetzt nicht so der Programmierer und bräuchte Hilfe wenn möglich.
Eckdaten:
Es gibt einen Passwortmanager namens Bitwarden.
Bei Bitwarden gibt es einen Firmentresor und wenn man diesen exportiert bekommt man an ein json File.
Außerdem gibt es Keepass2 und in Keepass2 kann man Bitwarden json Files importieren aber eben nicht die die aus dem Firmentresor stammen sondern nur die die aus dem Personaltresor stammen.
Ich habe mir diese Zwei Files angesehen und die Struktur des JSON Files Firmenstruktur liesse sich so anpassen sodas auch der Import funktionieren würde.
Ziel wäre ein Script zu kreieren das das Firmentresor JSON File in die Struktur des Personal JSON File ändert.
Ich habe dazu bei Sourceforge eine Beschreibung und Testfiles erstellt:

https://sourceforge.net/p/keepass/feature-requests/2657/

Kann mir hierbei jemand helfen ?

Danke für eure Hilfe!
Grüße J

Content-Key: 1113873645

Url: https://administrator.de/contentid/1113873645

Printed on: July 21, 2024 at 22:07 o'clock

Member: tomolpi
tomolpi Aug 02, 2021 updated at 10:12:01 (UTC)
Goto Top
Hallo @Jacolo,

leider kann ich keine Frage erkennen. Um Sätze als Frage zu kennzeichnen, benutzt man das „?“­čśë.
Ich bitte dich, das hier zu lesen: How to correctly ask a question

Es scheint mir eher so, als ob du jemanden suchst, der dir das Skript programmiert?
Dann bist du in unserer Rubrik „Suche Projektpartner“ besser aufgehoben. Dort findet sich sicher jemand, der dir diese Auftragsarbeit erledigt.
Ändere dann bitte die Kategorie deiner Frage entsprechend, und formuliere dein Gesuch klar.

Wenn du nur wenig Unterstützung brauchst, zeig uns einfach deinen Ansatz, bzw. alles, was du bis jetzt hast. Bei kleinen Programmierfragen(!) helfen wir gerne.

Viele Grüße
tomolpi
Moderator
Member: colinardo
Solution colinardo Aug 04, 2021 updated at 07:44:19 (UTC)
Goto Top
Servus J.V.
schau mal ob das Powershell Script für dich passt:
param(
    [Parameter(mandatory=$true)][string]$config
)
write-host "Converting config '$config' ... " -NoNewline  
$output = join-path (split-path $config -Parent) "$([io.Path]::GetFileNameWithoutExtension($config))_converted$([io.Path]::GetExtension($config))"  
$data = gc $config | ConvertFrom-JSON
$data = $data | select *,@{n='folders';e={$_.collections}} -ExcludeProperty collections  
$data.folders = $data.folders | select * -Exclude organizationId,externalId
$data.items = $data.items | %{
    $_.organizationId = $null
    $_.folderId = $_.collectionIds
    $_.collectionIds = $null
    $_
}
$data | ConvertTo-Json -Depth 100 | sc $output
write-host "Done.`n`t => New config saved as '$output'."  
dem Script gibst du dein Config File als Parameter folgendermaßen mit
.\script.ps1 -config "E:\bitwarden.json"
Das File wird dann nach deinen Anweisungen abgeändert und im gleichen Verzeichnis als "*_converted.json" abgelegt.

Grüße Uwe
Member: Jacolo
Solution Jacolo Aug 05, 2021 at 08:15:25 (UTC)
Goto Top
Hallo Uwe,
sensationell, funktioniert fehlerfrei!
Damit ist es nun möglich aus Bitwarden einen Firmen Tresor in Keepass zu importieren um als Backup abzulegen oder auch ausdrucken zu können. Hervorragend!!!!
Nachdem man in Keepass nur unverschlüsselt importieren kann, sehe ich hier auch keinen weiteren Handlungsbedarf.

Tausendfachen Dank!

Ideen hätte ich viele aber ich denke das steht nicht für den Aufwand:
aber...
Mit dem CLI von Bitwarden könnte man den Export automatisieren, dann die Konvertierung anschließen, automatisch in Keepass importieren, unverschlüsselte Temporäre Files löschen lassen, Keepassdatenbankname automatisch mit Datum versehen. Als Task laufen lassen.

Herzlichen Dank nochmal
J.V
Member: colinardo
colinardo Aug 05, 2021 at 08:28:40 (UTC)
Goto Top
­čĹŹ
Mit dem CLI von Bitwarden könnte man den Export automatisieren, dann die Konvertierung anschließen, automatisch in Keepass importieren, unverschlüsselte Temporäre Files löschen lassen, Keepassdatenbankname automatisch mit Datum versehen. Als Task laufen lassen.
Oder gleich ein Plugin für den nativen Import schreiben
https://keepass.info/help/v2/plugins.html

Grüße Uwe