ExportKeys derives the master keys without extracting. Returns the tiers that succeeded plus a joined error for those that failed — partial results matter (a v20-only failure keeps the v10 key).
()
| 96 | // ExportKeys derives the master keys without extracting. Returns the tiers that succeeded plus a |
| 97 | // joined error for those that failed — partial results matter (a v20-only failure keeps the v10 key). |
| 98 | func (b *Browser) ExportKeys() (masterkey.MasterKeys, error) { |
| 99 | session, err := filemanager.NewSession() |
| 100 | if err != nil { |
| 101 | return masterkey.MasterKeys{}, err |
| 102 | } |
| 103 | defer session.Cleanup() |
| 104 | |
| 105 | return masterkey.NewMasterKeys(b.retrievers, b.buildHints(session)) |
| 106 | } |
| 107 | |
| 108 | // masterKeys derives and caches the installation's keys exactly once (sync.Once), so a failure is |
| 109 | // warned once — no cross-profile dedup state needed. |
no test coverage detected