Security

Guia do usuário  Exemplo de código (link em inglês)
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 atual Próximo candidato a lançamento Versão Beta Versão Alfa
security-crypto 1.0.0 - - 1.1.0-alpha03
security-app-authenticator - - - 1.0.0-alpha02
security-identity-credential - - - 1.0.0-alpha03
Última atualização desta biblioteca: 1.º de setembro de 2021

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 no arquivo build.gradle para seu app ou módulo:

Groovy

dependencies {
    implementation "androidx.security:security-crypto:1.0.0"

    // For Identity Credential APIs
    implementation "androidx.security:security-identity-credential:1.0.0-alpha03"

     // For App Authentication APIs
    implementation "androidx.security:security-app-authenticator:1.0.0-alpha02"

    // For App Authentication API testing
    androidTestImplementation "androidx.security:security-app-authenticator:1.0.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.security:security-crypto:1.0.0")

    // For Identity Credential APIs
    implementation("androidx.security:security-identity-credential:1.0.0-alpha03")

    // For App Authentication APIs
    implementation("androidx.security:security-app-authenticator:1.0.0-alpha02")

    // For App Authentication API testing
    androidTestImplementation("androidx.security:security-app-authenticator:1.0.0-alpha01")

}

Para ver 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 existentes nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.

Criar novo problema

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

Security-App-Authenticator: versão 1.0.0

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.

Security-App-Authenticator-Testing: 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.
  • Pacotes individuais podem ser especificados para retornar uma correspondência de assinatura com todos os outros pacotes em que nenhuma correspondência for 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.

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 fará a verificação da identidade da assinatura de apps no momento da execução.

Versão 1.1.0

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 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.1.0-alpha01

10 de junho de 2020

androidx.security:security-crypto:1.1.0-alpha01 é lançado. 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. A AndroidKeyStore não é usada 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

  • Adição de compatibilidade com os 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 Credentials para corresponder aos planos do Android 12 (Iff83e).

Versão 1.0.0-alpha01

19 de agosto de 2020

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

Novos recursos

Esta versão do Jetpack apresenta uma versão do Jetpack das APIs Identity Credentials 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 Credentials 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 de 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 da Tink 1.5.0 para aumentar a estabilidade.

Versão 1.0.0-rc04

13 de janeiro de 2021

Lançamento do androidx.security:security-crypto:1.0.0-rc04. A versão 1.-.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

androidx.security:security-crypto:1.0.0-rc03 é lançado. 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

androidx.security:security-crypto:1.0.0-rc02 é lançado. A versão 1.0.0-rc02 contém essas confirmações (link em inglês).

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

androidx.security:security-crypto:1.0.0-rc01 é lançado. A versão 1.1.0-rc01 contém estas confirmações.

Correções de bugs

  • Adicionadas verificações para garantir que, se um KeyGenParamSpec for transmitido para MasterKeys.getOrCreate e que se 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 (link em inglês).

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

androidx.security:security-crypto:1.0.0-alpha01 é lançado. 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.