KeyRepositoryImpl

@Singleton
class KeyRepositoryImpl @Inject constructor(database: AppDatabase, blobStore: KeyBlobStore, keyserverClient: KeyserverClient) : KeyRepository

Default KeyRepository implementation coordinating Room, KeyBlobStore, and the PGP engine.

Validates imported keys against PgpAlgorithmPolicy, persists metadata and encrypted blobs, and performs keyserver refresh, certification, and uid management operations.

Constructors

Link copied to clipboard
@Inject
constructor(database: AppDatabase, blobStore: KeyBlobStore, keyserverClient: KeyserverClient)

Functions

Link copied to clipboard
open suspend override fun addUserId(keyId: Long, passphrase: CharArray, userId: String)
Link copied to clipboard
open suspend override fun certifyKey(certifierKeyId: Long, targetKeyId: Long, certifierPassphrase: CharArray, userId: String): ByteArray
Link copied to clipboard
open suspend override fun changePassphrase(keyId: Long, newSecretArmored: ByteArray)
Link copied to clipboard
open suspend override fun deleteKey(keyId: Long)
Link copied to clipboard
open suspend override fun exportKeyRing(keyId: Long): ByteArray
Link copied to clipboard
open suspend override fun generateRevocationCert(keyId: Long, passphrase: CharArray, reasonText: String = ""): ByteArray
Link copied to clipboard
open suspend override fun getArmoredPublic(keyId: Long): ByteArray?
Link copied to clipboard
open suspend override fun getArmoredSecret(keyId: Long): ByteArray?
Link copied to clipboard
open suspend override fun getKeyDetail(keyId: Long): KeyDetail?
Link copied to clipboard
open suspend override fun importGeneratedKeyRing(publicArmored: ByteArray, secretArmored: ByteArray, primaryAlgorithm: String): KeyRingInfo
Link copied to clipboard
open suspend override fun importKeyRing(armored: ByteArray, secret: Boolean): KeyRingInfo
Link copied to clipboard
open override fun observeKeys(): Flow<List<KeySummary>>
Link copied to clipboard
open suspend override fun purgeMissingBlobKeys(): Int
Link copied to clipboard
open suspend override fun refreshKeyFromKeyserver(keyId: Long, baseUrl: String): KeyRingInfo
Link copied to clipboard
open suspend override fun replaceSecretKeyRing(keyId: Long, secretArmored: ByteArray, publicArmored: ByteArray)
Link copied to clipboard
open suspend override fun revokeKey(keyId: Long)
Link copied to clipboard
open suspend override fun search(query: String): List<KeySummary>
Link copied to clipboard
open suspend override fun setTrustLevel(keyId: Long, trustLevel: Int)
Link copied to clipboard
open suspend override fun uploadPublicKey(keyId: Long, baseUrl: String)