Tag Archives: keytool

Google – Apresenta (Console Developer)

Saga : M&M (Mundo Mobile)

Chega de teoria! #1 – Restringindo a API Key

Continuando a saga para nos familiarizar com o Google Developers. A missão de hoje é aprender um pouco sobre como restringir nossa API Key gerando um Fingerprint. Vamos lá:

A API key disponível

A API key pode ser utilizada por qualquer um que tenha acesso. Caso esteja utilizando-a no side-server, os problemas de segurança podem não ser graves. No entanto, para distribuir esta key com o app, então é recomendado restringir o acesso a ela de forma que somente nosso app consiga usá-la.

Para restringir a API Key, devemos gerar um fingerprint (método de identificação única de um objeto).

Step by Step

Para gerar um fingerprint, use a janela de comandos e este formato de comando:

Keytool -list -v -keystore [STORE FILENAME] -alias [ALIAS NAME] -storepass [STORE PASSWORD] -keypass [KEY PASSWORD]

Para debug os valores:

[ALIAS NAME] = androiddebugkey
[STORE PASSWORD] = android
[KEY PASSWORD] = android

Onde:

  • STORE FILENAME: pasta que armazena o resultado gerado

Para rodar o cmd keytool, localize a pasta do JDK do Java. Veja um exemplo para um usuário genérico:

C:\Program Files (x86)\Java\jdk1.8.0_112\bin>keytool -list -v -keystore "C:\Users\user\AppData\Local\Xamarin\Mono for 
Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

O resultado da execução do comando:

console_gmaps_apikey_sha1

Assinatura SHA-1

Agora pegue do resultado gerado, a assinatura SHA-1:

SHA1: CF:EXXXXX5:B1:XXXXXXXXXX5:EE:9D:C5:EE:8XXXXXXXXX7:F1:76

1 – Acesse console.developers.google.com

De posse do SHA1 em mãos, retorne para console developer onde geramos a API KEY e dê um editar.

2 – Escolha a opção Apps para Android

3 – Adicione o SHA-1

Adicione o SHA-1 e o nome do pacote do app Xamarin Android e salve.

console_gmaps_apikey_sha1_final

Atenção ao nome do package. Ele deve ser igual ao definido no app.

Por questão de segurança

Aqui foi gerado uma key e uma restrição para a versão Debug do app. Mas, por questão de segurança quando fizer o deploy em produção gere outra chave e crie outra assinatura de restrição.

Pronto! Já temos a Chave de API protegido com o Firegrint.

Keep Programming!