/** * Specifies the entry keys to use for storage of data needed by iCure. */ export interface StorageEntryKeysFactory { /** * Get the entry key for the storage of a key pair of a data owner which was created on this device. All keys created on this device will be * considered as verified and safe. * This entry key will be used in a {@link KeyStorageFacade}. * @param dataOwnerId Id of a data owner. * @param publicKeyFingerprint Fingerprint of the public key in a keypair of the data owner. * @return entry key for the keypair. */ deviceKeypairOfDataOwner(dataOwnerId: string, publicKeyFingerprint: string): string; /** * Get the entry key for the storage of a key pair of a data owner which was recovered from transfer keys or shamir. * These keys are going to be considered as UNSAFE for encryption unless their public key has been verified by the human user and has been stored in * {@link selfPublicKeysVerificationCacheForDataOwner}. * This entry key will be used in a {@link KeyStorageFacade}. * @param dataOwnerId Id of a data owner. * @param publicKeyFingerprint Fingerprint of the public key in a keypair of the data owner. * @return entry key for the keypair. */ cachedRecoveredKeypairOfDataOwner(dataOwnerId: string, publicKeyFingerprint: string): string; /** * Get the entry key for the storage of answers to own public key verification. * This entry key will be used in a {@link StorageFacade}. * @param dataOwnerId Id of a data owner. * @return entry key for verified public keys of the data owner. */ selfPublicKeysVerificationCacheForDataOwner(dataOwnerId: string): string; /** * Get the entry key for the storage of the private key of a data owner to use for signature. * @param dataOwnerId Id of a data owner. * @return entry key for signature private key of the data owner. */ signatureKeyForDataOwner(dataOwnerId: string): string; /** * Get the entry key for the storage of a public key of a data owner to use for signature verification. * @param dataOwnerId Id of a data owner. * @param publicKeyFingerprint fingerprint of the public key. * @return entry key for a signature verification public key of the data owner. */ signatureVerificationKeyForDataOwner(dataOwnerId: string, publicKeyFingerprint: string): string; }