Я новичок в keytool
и следую инструкциям на этой странице Целевая публикация/архивирование .NET MAUI Android . Я успешно создал хранилище ключей, но при попытке использовать его для публикации приложения через dotnet publish -f:<target_framework> -c:Release
в самом конце я получил ту же ошибку в этой статье: jarsigner.exe завершился с ошибкой кода 1 в приложении .NET MAUI.
Пытаясь решить эту проблему, я нашел эту статью: Каково значение «пароля ключа» в хранилище ключей с помощью keytool. Итак, предположив, что я что-то не так, я начал сначала - удалил хранилище ключей и создал новое.
Но во второй раз он не запрашивал «пароль ключа» в конце; т. е. он не отображал это приглашение:
Enter key password for <my-app> //Why this password is required???
(RETURN if same as keystore password):
Он сделал все остальное (см. выходные данные команды внизу), но это второе приглашение никогда не появляется; только в первый раз я запустил keytool
и создал самое первое хранилище ключей. Итак, я не уверен, что будет дальше. Могу ли я просто игнорировать то, что он не запрашивает это, и не включать это в мою ключевую информацию? Итак, ниже я бы исключил запись <AndroidSigningKeyPass/>
?
<PropertyGroup Condition = "$(TargetFramework.Contains('-android')) and '$(Configuration)' == 'Release'">
<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>key.keystore</AndroidSigningKeyStore>
<AndroidSigningStorePass>keystore password</AndroidSigningStorePass>
<AndroidSigningKeyAlias>alias</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>key password</AndroidSigningKeyPass>
</PropertyGroup>
Я понял. Вместе с VS 2022 установлено два keytool.exe
: один в C:\Program Files\Eclipse Foundation\jdk-8.0.302.8-hotspot\bin
, другой в C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin
.
Мне удалось использовать один из папки Eclipse
в первый раз, который запрашивает как keystore password
И key password
, так и создает хранилище ключей проприетарного (не PKCS12) формата. Во второй и последующие разы мне удалось использовать тот, что находится в папке Microsoft
, который запрашивает только keystore password
и создает хранилище ключей, совместимое с PKCS12.
Я только что нашел эту статью stackoverflow.com/questions/2889238/keystore-change-passwords о том, как списать любой пароль. Но странно ли, что он больше не запрашивает второй раз?