Currently, acra-keysexport/import command supports keys from V2 keystore only, the idea was to add support for V1 keystore as well under one tool. But we have different utility that has similar functionality for backup keys of V1 keystore - acra-backup. As the result acra-backup functionality was merged under acra-keysexport/import
Technically, there were introduced new interfaces keystore.Exporter for export subcommand and keystore.Importer for import subcommand. Corresponded _Backupers were implemented for keystores V1 and V2.
The important thing, is that acra-keysexport interface was the following - it could be possible to export all keys from keystore via --all flags or export some special key by specifying exportID in the format like (client/client_test/storage) - which represent a relative path to the key in the keystore. Since all our subcommands inside acra-keys tool operate with a generic key definition (e.g poison-record, client/{some_client}/symmetric, etc) the same functionality was added for acra-keysexport too, but specifying key as path was saved for backward compatibility reasons.
What has been done in this PR?
Currently,
acra-keys
export/import
command supports keys fromV2
keystore only, the idea was to add support forV1
keystore as well under one tool. But we have different utility that has similar functionality for backup keys ofV1
keystore -acra-backup
. As the resultacra-backup
functionality was merged underacra-keys
export/import
Technically, there were introduced new interfaces
keystore.Exporter
forexport
subcommand andkeystore.Importer
forimport
subcommand. Corresponded_Backupers
were implemented for keystoresV1
andV2
.The important thing, is that
acra-keys
export
interface was the following - it could be possible to export all keys from keystore via--all
flags or export some special key by specifyingexportID
in the format like (client/client_test/storage) - which represent a relative path to the key in the keystore. Since all our subcommands insideacra-keys
tool operate with a generic key definition (e.gpoison-record
,client/{some_client}/symmetric
, etc) the same functionality was added foracra-keys
export
too, but specifying key as path was saved for backward compatibility reasons.Checklist