getKeysFromKeyChainManager method

  1. @visibleForTesting
Future<Map<String, String>> getKeysFromKeyChainManager(
  1. String atSign
)

Returns the PKAM key-pair, encryption key-pair and self encryption key from the KeyChain Manager

Implementation

@visibleForTesting
Future<Map<String, String>> getKeysFromKeyChainManager(String atSign) async {
  Map<String, String> atKeysMap = {};
  // Validate PKAM Private Key
  (await keyChainManager.getPkamPrivateKey(atSign)).isNull
      ? throw (OnboardingStatus.PKAM_PRIVATE_KEY_NOT_FOUND)
      : atKeysMap[BackupKeyConstants.PKAM_PRIVATE_KEY_FROM_KEY_FILE] =
          (await keyChainManager.getPkamPrivateKey(atSign))!;
  // Validate PKAM Public Key
  (await keyChainManager.getPkamPublicKey(atSign)).isNull
      ? throw (OnboardingStatus.PKAM_PUBLIC_KEY_NOT_FOUND)
      : atKeysMap[BackupKeyConstants.PKAM_PUBLIC_KEY_FROM_KEY_FILE] =
          (await keyChainManager.getPkamPublicKey(atSign))!;
  // Validate Encryption Private Key
  (await keyChainManager.getEncryptionPrivateKey(atSign)).isNull
      ? throw (OnboardingStatus.ENCRYPTION_PRIVATE_KEY_NOT_FOUND)
      : atKeysMap[BackupKeyConstants.ENCRYPTION_PRIVATE_KEY_FROM_FILE] =
          (await keyChainManager.getEncryptionPrivateKey(atSign))!;
  // Validate Encryption Public Key
  (await keyChainManager.getEncryptionPublicKey(atSign)).isNull
      ? throw (OnboardingStatus.ENCRYPTION_PUBLIC_KEY_NOT_FOUND)
      : atKeysMap[BackupKeyConstants.ENCRYPTION_PUBLIC_KEY_FROM_FILE] =
          (await keyChainManager.getEncryptionPublicKey(atSign))!;
  // Validate Self Encryption Key
  (await keyChainManager.getSelfEncryptionAESKey(atSign)).isNull
      ? throw (OnboardingStatus.SELF_ENCRYPTION_KEY_NOT_FOUND)
      : atKeysMap[BackupKeyConstants.SELF_ENCRYPTION_KEY_FROM_FILE] =
          (await keyChainManager.getSelfEncryptionAESKey(atSign))!;

  return atKeysMap;
}