Я обнаружил, что все эти команды и сам процесс немного запутаны (у меня также есть проекты с 4 средами с 4 различными пакетами), так что я сделал, чтобы включить хэш в полезную нагрузку от клиента, когда клиент запрашивает OTP, затем сервер сохраняет его (доверие при первом использовании) для ручного просмотра в системе управления контентом. Не нашел ни одного аспекта безопасности, используя этот метод

нерировал хэш 11 символов, используяAppSignatureHelper класс. Но после загрузки apk в play store они больше не работают. И я обнаружил, что Play заменяет ключ на другой, поэтому хэш также меняется. Теперь у меня проблемы с получением ключа хеша 11 символов.

Я не знаю, как использовать команды, данные Google. Я нашел эту команду изВот

keytool -exportcert -alias MyAndroidKey -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11

Поскольку для моего приложения включена подпись Play App, мне придется использовать эту команду,

keytool -exportcert -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11

Я заменилkeytool с его путем из папки bin JDK, но потом он говорилxxd не был распознан, поэтому я скачал его с веб-сайта теперь он говоритtr не признается, я думаю, это скажет, что дляcut также.

Прошу прощения, если мне кажется, что это слишком глупо, но как я могу решить эту проблему?

ОБНОВИТЬ: Я попробовал вторую команду сверху на машине с Linux, команда сработала и дала мне 11-значный хэш, но SMS-ретривер все еще не работает.

РЕШЕНИЕ: С помощью ответа Ника Фортескью я скачал файл в формате DER. Затем преобразовал его в файл .jks с помощью следующей команды:

keytool -importcert -alias myalias -file deployment_cert.der -keystore certificate.jks -storepass mypassword

Затем выполнил первую команду сверху на certificate.jks и все заработало!

Ответы на вопрос(4)

Ваш ответ на вопрос