Test ran at 2025-02-21 00:48:43.429289+00:00 SOLUTION: keystoreada=1.4.1: Ada Keystore Origin: commit 36696f687038094c2e4e5a2488d4f8a2ae7ef77d from https://gitlab.com/stcarrez/ada-keystore.git Properties: Author: Stephane.Carrez@gmail.com Configuration: no modifiers Description: Ada Keystore GPR Scenario: KEYSTORE_BUILD := distrib | debug | optimize | profile | coverage GPR Scenario: KEYSTORE_LIBRARY_TYPE := relocatable | static | static-pic License: Apache-2.0 Long_Description: [![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/summary) [![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/xunits) [![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/summary) # Overview Ada Keystore is a tool and library to store information in secure wallets and protect the stored information by encrypting the content. It is necessary to know one of the wallet password to access its content. Ada Keystore can be used to safely store passwords, credentials, bank accounts and even documents. Wallets are protected by a master key using AES-256 and the wallet master key is protected by a user password. The wallet defines up to 7 slots that identify a password key that is able to unlock the master key. To open a wallet, it is necessary to unlock one of these 7 slots by providing the correct password. Wallet key slots are protected by the user's password and the PBKDF2-HMAC-256 algorithm, a random salt, a random counter and they are encrypted using AES-256. Values stored in the wallet are protected by their own encryption keys using AES-256. A wallet can contain another wallet which is then protected by its own encryption keys and passwords (with 7 independent slots). Because the child wallet has its own master key, it is necessary to known the primary password and the child password to unlock the parent wallet first and then the child wallet. ## Documents * [Ada Keystore Guide](https://ada-keystore.readthedocs.io/en/latest/) [PDF](https://github.com/stcarrez/ada-keystore/blob/master/docs/keystore-book.pdf) Maintainer: Stephane.Carrez@gmail.com Maintainers_Logins: stcarrez Name: keystoreada Project_File: keystoreada.gpr Tag: security Tag: storage Tag: nosql Version: 1.4.1 Website: https://gitlab.com/stcarrez/ada-keystore Dependencies (direct): utilada^2.6.0 Dependencies (solution): utilada=2.8.0 Dependencies (graph): keystoreada=1.4.1 --> utilada=2.8.0 (^2.6.0) LOG: Spawning: alr -d -n get --build keystoreada=1.4.1 Note: Deploying keystoreada=1.4.1... Note: Building keystoreada=1.4.1/keystoreada.gpr... Setup [mkdir] object directory for project KeystoreAda [mkdir] library directory for project KeystoreAda Compile [Ada] keystore-repository-data.adb [Ada] keystore-io-refs.adb [Ada] keystore-io.adb [Ada] keystore-properties.adb [Ada] keystore-passwords-input.adb [Ada] keystore-tools.adb [Ada] keystore-io-files.adb [Ada] keystore-passwords-keys.adb [Ada] keystore-files.adb [Ada] keystore-passwords-cmds.adb [Ada] keystore-buffers.adb [Ada] keystore-io-headers.adb [Ada] keystore-passwords.adb [Ada] keystore-keys.adb [Ada] keystore-repository.adb [Ada] keystore-repository-workers.adb [Ada] keystore-repository-keys.adb [Ada] keystore-marshallers.adb [Ada] keystore-gpg.adb [Ada] keystore-random.adb [Ada] keystore.adb [Ada] keystore-passwords-files.adb [Ada] keystore-passwords-gpg.adb [Ada] keystore-passwords-unsafe.adb [Ada] keystore-repository-entries.adb [Ada] keystore-logs.adb [Ada] keystore-containers.adb Build Libraries [gprlib] keystoreada.lexch [archive] libkeystoreada.a [index] libkeystoreada.a keystoreada=1.4.1 successfully retrieved and built. Dependencies were solved as follows: + utilada 2.8.0 (new) Found declared GPR file: keystoreada.gpr