Segurança

Gerencie chaves com segurança e criptografe arquivos e preferências compartilhadas.

Esta tabela lista todos os artefatos no grupo androidx.security.

Artefato Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
security-identity-credential - - - 1.0.0-alpha03
Esta biblioteca foi atualizada pela última vez em 6 de março de 2024

Declarar dependências

Para adicionar uma dependência à Segurança, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Security-App-Authenticator-Testing: versão 1.0

Versão 1.0.0-beta01

6 de março de 2024

Lançamento de androidx.security:security-app-authenticator:1.0.0-beta01 e androidx.security:security-app-authenticator-testing:1.0.0-beta01. A versão 1.0.0-beta01 contém this commits.

Versão 1.0.0-alpha02

13 de dezembro de 2023

Lançamento de androidx.security:security-app-authenticator-testing:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Correções de bugs

  • Atualização do teste para novo comportamento da API que não pressupõe mais Binder#getCalling[Uid|Pid] quando não é fornecido às APIs [check|enforce]CallingAppIdentity (I1851b).

Versão 1.0.0-alpha01

2 de junho de 2021

Lançamento de androidx.security:security-app-authenticator-testing:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

Esta biblioteca de testes fornece um builder que pode ser usado para configurar um AppAuthenticator injetável de modo a atender os requisitos do teste. Esta biblioteca oferece compatibilidade com vários métodos para configurar o AppAuthenticator:

  • Uma política de teste genérica pode ser especificada para informar uma correspondência de assinatura para todos os pacotes declarados na configuração.
  • É possível especificar pacotes individuais para retornar uma correspondência de assinatura com todos os outros pacotes em que nenhuma correspondência foi encontrada.
  • Identidades de assinatura explícitas podem ser definidas para cada pacote. O AppAuthenticator resultante só informará uma correspondência de assinatura se a identidade fornecida coincidir com a declaração no arquivo de configuração.
  • Os pacotes também podem ser tratados como não instalados ou com um UID explícito.

Security-App-Authenticator: versão 1.0.0

Versão 1.0.0-alpha03

13 de dezembro de 2023

Lançamento de androidx.security:security-app-authenticator:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Foi adicionado suporte a casos de uso em que o UID / PID do pacote a ser verificado não está disponível. As APIs agora oferecem suporte a casos como startActivityForResult e atividades / receptores em que a identidade do app de chamada é compartilhada via [Activity|Broadcast]Options#setShareIdentityEnabled
  • O comportamento de [check|enforce]CallingAppIdentity(String, String) foi atualizado para oferecer suporte a esses novos casos de uso. Esses métodos não vão mais usar Binder#getCalling[Uid|Pid] por padrão. Em vez disso, eles vão ignorar a verificação do UID do pacote de chamada se ele não for fornecido explicitamente. (I1851b).

Versão 1.0.0-alpha02

2 de junho de 2021

Lançamento de androidx.security:security-app-authenticator:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • Como preparo para oferecer compatibilidade com a nova sinalização de proteção de permissão knownSigner introduzida no Android 12, o atributo digestAlgorithm não pode mais ser especificado na configuração. Em vez disso, todas as sínteses de certificado serão calculadas usando SHA-256.

Correções de bugs

  • Agora, todas as sínteses de certificados fornecidas na configuração são normalizadas para garantir que uma correspondência de assinatura bem-sucedida possa ser informada quando a síntese for calculada no momento da execução e quando uma identidade de assinatura explícita for definida ao usar a biblioteca de testes.

Versão 1.0.0-alpha01

5 de maio de 2021

Lançamento de androidx.security:security-app-authenticator:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

A AppAuthenticator é uma nova biblioteca que simplifica a verificação da confiança no app com base na identidade da assinatura. O app só precisa especificar um arquivo de configuração XML que contenha os nomes dos pacotes e as identidades de assinatura de apps confiáveis. A biblioteca faz a verificação da identidade da assinatura de apps no momento da execução.

Versão 1.1.0

Versão 1.1.0-alpha06

19 de abril de 2023

Lançamento de androidx.security:security-crypto:1.1.0-alpha06 e androidx.security:security-crypto-ktx:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Novos recursos

  • A dependência do Tink foi atualizada para a versão 1.8.0.

Versão 1.1.0-alpha05

22 de fevereiro de 2023

Lançamento de androidx.security:security-crypto:1.1.0-alpha05 e androidx.security:security-crypto-ktx:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Correções de bugs

Versão 1.1.0-alpha04

9 de novembro de 2022

Lançamento de androidx.security:security-crypto:1.1.0-alpha04 e androidx.security:security-crypto-ktx:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Novos recursos

  • Foi removida a mensagem de registro “conjunto de chaves não encontrado, um novo será gerado” na primeira inicialização do app (b/185219606).
  • A dependência do Tink foi atualizada para a versão 1.7.0.

Mudanças na API

  • EncryptedFile#openFileInput() foi mudado para gerar uma FileNotFoundException em vez de uma IOException genérica quando o arquivo solicitado não existe (I80e41, b/148804719).
  • A classe "MasterKeys" foi atualizada para exigir o Android M em vez de cada um dos métodos (I8b4b8).
  • Todos os getters de preferência em EncryptedSharedPreferences (por exemplo, #getString, #getInt) foram mudados para gerar uma SecurityException nas raras circunstâncias em que o tipo de um valor não pode ser correspondido com uma das variantes definidas de tipos enumerados (b/241699427).

Correções de bugs

  • A versão mínima do SDK da biblioteca security-crypto-ktx foi sincronizada com o security-crypto reduzindo-a para a v21 (b/193550375).
  • Foi corrigido um bug de simultaneidade ao criar vários EncryptedFiles (b/136590547).

Contribuição externa

Security-Crypto-Ktx: versão 1.1.0-alpha03

18 de maio de 2021

Lançamento de androidx.security:security-crypto-ktx:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Atualizado para corresponder a androidx.security:security-crypto:1.1.0-alpha03.

Versão 1.1.0-alpha03

2 de dezembro de 2020

Lançamento de androidx.security:security-crypto:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Novos recursos

  • Atualização do Tink para a versão estável 1.5.0

Versão 1.1.0-alpha02

5 de agosto de 2020

Lançamento de androidx.security:security-crypto:1.1.0-alpha02 e androidx.security:security-crypto-ktx:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Novos recursos

  • Atualização do Tink para a versão estável 1.4.0

Correções de bugs

  • A atualização do Tink deve corrigir problemas de R8 e Proguard com dependência de Protobuf sombreada.
  • A atualização do Tink precisa lidar com falhas de simultaneidade do AndroidKeyStore.

Contribuição externa

  • Limpar mKeysChanged na aplicação, correção para EncryptedSharedPreferences. (aosp/1283026)

Versão 1.1.0-alpha01

10 de junho de 2020

Lançamento de androidx.security:security-crypto:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Novos recursos

  • O Lollipop (API de nível 21 ou mais recente) agora é compatível. O AndroidKeyStore não é usado para as APIs 21 e 22 (I7c12d, b/132325342, links em inglês).
  • A nova classe MasterKey fornece mais opções de chaves, além de suspender o uso de MasterKeys para oferecer compatibilidade com novos recursos e versões do Android que não têm KeyGenParamSpec.

Security-Identity-Credential versão 1.0.0

Versão 1.0.0-alpha03

1.º de setembro de 2021

Lançamento de androidx.security:security-identity-credential:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Novos recursos

  • Foi adicionado suporte aos recursos de credencial de identidade compatíveis com hardware no Android 12.

Versão 1.0.0-alpha02

24 de fevereiro de 2021

Lançamento de androidx.security:security-identity-credential:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Correções de bugs

  • Atualização da API Identity Credential para corresponder aos planos do Android 12 (Iff83e).

Versão 1.0.0-alpha01

19 de agosto de 2020

Lançamento de androidx.security:security-identity-credential:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

Esta versão apresenta uma versão do Jetpack das APIs Identity Credential adicionadas ao Android 11 e à API de nível 30. Se for executado no Android 11 e o dispositivo tiver compatibilidade com Identity Credential protegida por hardware, o Jetpack simplesmente encaminhará chamadas para a API da plataforma. Caso contrário, uma implementação compatível com o Android Keystore será usada. Embora a implementação compatível com o Android Keystore não forneça o mesmo nível de segurança e privacidade, ela é perfeitamente adequada para os titulares e emissores nos casos em que todos os dados são assinados pelo emissor. Essa biblioteca requer o nível da API 24 ou mais recente.

As APIs Identity Credential oferecem uma interface para armazenamento seguro de documentos de identidade do usuário. Essas APIs são bem gerais e abstratas intencionalmente. Na medida do possível, a especificação dos formatos de mensagem e da semântica de comunicação com dispositivos de verificação de credencial e autoridades emissoras (IAs, na sigla em inglês) está fora do escopo dessas APIs. As estruturas de dados de que as APIs dependem são compatíveis com as estruturas de dados que em breve serão lançadas: ISO/IEC IS 18013-5 Identificação pessoal — carteira de motorista de acordo com a ISO — Parte 5: padrão de aplicativo para carteira de motorista digital (mDL).

Mudanças na API

  • Adição de credencial de identidade do Jetpack (Icf90b).

Versão 1.0.0

Versão 1.0.0

21 de abril de 2021

Lançamento de androidx.security:security-crypto:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

Principais recursos

  • EncryptedFile oferece fluxos de entrada e saída criptografados para ler/gravar dados em um arquivo.
  • EncryptedSharedPreferences, oferece uma implementação de SharedPreferences que criptografa/descriptografa automaticamente todas as chaves e valores.
  • Oferece geração simples de chaves via MasterKeys.
  • Depende do Tink 1.5.0 para aumentar a estabilidade.

Versão 1.0.0-rc04

13 de janeiro de 2021

Lançamento de androidx.security:security-crypto:1.0.0-rc04. A versão 1.0.0-rc04 contém estas confirmações.

Correções de bugs

  • Atualização do Tink para 1.5.0 para aumentar a estabilidade.

Versão 1.0.0-rc03

5 de agosto de 2020

Lançamento de androidx.security:security-crypto:1.0.0-rc03. A versão 1.0.0-rc03 contém essas confirmações.

Novos recursos

  • Atualização do Tink para a versão estável 1.4.0

Correções de bugs

  • A atualização do Tink deve corrigir problemas de R8 e Proguard com dependência de Protobuf sombreada.
  • A atualização do Tink precisa lidar com falhas de simultaneidade do AndroidKeyStore.

Contribuição externa

  • Limpar mKeysChanged na aplicação, correção para EncryptedSharedPreferences. (aosp/1283026)

Versão 1.0.0-rc02

20 de maio de 2020

Lançamento de androidx.security:security-crypto:1.0.0-rc02. A versão 1.0.0-rc02 contém estas confirmações.

Correções de bugs

  • Atualização para a versão 1.4.0-rc2 do Tink, que oculta a dependência proto buf lite. Isso resolve o problema amplamente relatado de conflito com outros SDKs do Android (I8a831).
  • Correção de apply() em EncryptedSharedPreferences (I29069, b/154366606, links em inglês).

Versão 1.0.0-rc01

15 de abril de 2020

Lançamento de androidx.security:security-crypto:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Correções de bugs

  • Verificações foram adicionadas para garantir que, se um KeyGenParamSpec for transmitido para MasterKeys.getOrCreate e getUserAuthenticationRequired retornar true, getUserAuthenticationValidityDurationSeconds retornará um valor maior que 0 (I911f5) (b/152644939, links em inglês)

Versão 1.0.0-beta01

18 de março de 2020

androidx.security:security-crypto:1.0.0-beta01 é lançado sem mudanças desde 1.0.0-alpha02. A versão 1.0.0-beta01 contém essas confirmações.

Versão 1.0.0-alpha02

23 de maio de 2019

androidx.security:security-crypto:1.0.0-alpha02 é lançado. As confirmações inclusas nessa versão podem ser encontradas neste registro de confirmações.

Correções de bugs

  • Correção de um problema para recuperar chaves/valores associados a preferências compartilhadas de getAll().
  • Bloqueio do uso de chaves de preferência restritas.
  • Pequenas atualizações no Javadoc.

Versão 1.0.0-alpha01

7 de maio de 2019

Lançamento de androidx.security:security-crypto:1.0.0-alpha01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos em destaque

  • EncryptedFile oferece fluxos de entrada e saída criptografados para ler/gravar dados em um arquivo.
  • EncryptedSharedPreferences oferece uma implementação de SharedPreferences que criptografa/descriptografa automaticamente todas as chaves e valores.
  • Oferece geração simples de chaves via MasterKeys.