Я пробовал в соответствии с https://source.android.com/devices/tech/ota/sign_builds
./build/make/tools/releasetools/sign_target_files_apks \
-o \ # explained in the next section
--default_key_mappings ~/.android-certs out/dist/*-target_files-*.zip \
signed-target_files.zip
В ubuntu 20 LTS с openssl 1.1.1f (по умолчанию)
Я получил эту ошибку
==start error==
ERROR: Failed to run signapk.jar: return code 1:
java.security.cert.CertificateException: org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:09000064:PEM routines:OPENSSL_internal:BAD_BASE64_DECODE
at org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:280)
at java.base/java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:355)
at com.android.signapk.SignApk.readPublicKey(SignApk.java:187)
at com.android.signapk.SignApk.main(SignApk.java:1073)
Caused by: org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:09000064:PEM routines:OPENSSL_internal:BAD_BASE64_DECODE
at org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:119)
at org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:278)
... 3 more
Caused by: org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:09000064:PEM routines:OPENSSL_internal:BAD_BASE64_DECODE
at org.conscrypt.OpenSSLX509Certificate.fromX509PemInputStream(OpenSSLX509Certificate.java:157)
at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:224)
at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:220)
at org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:98)
... 4 more
Caused by: java.lang.RuntimeException: error:09000064:PEM routines:OPENSSL_internal:BAD_BASE64_DECODE
at org.conscrypt.NativeCrypto.PEM_read_bio_X509(Native Method)
at org.conscrypt.OpenSSLX509Certificate.fromX509PemInputStream(OpenSSLX509Certificate.java:151)
... 7 more
==end error==
Что еще я пробовал:
1) Когда я создаю .pem и .pk8 в. android -certs с помощью openssl 1.0.2g (та же версия, что и в ubuntu 16) - все работает нормально
2) Я также пробовал установить openssl.cnf из Ubuntu 16 - не работает.
3) Когда я пытался сменить jdk с 8 на 9 - не работает.
4) Я знаю, что Dockerfile с Ubuntu 14.04 в исходном коде AOSP (также старый openssl) "в основном работал", но проблема с чтением файлов PEM base-64