pk8/pem秘钥转keystore格式
1、生成 myplatform.pem
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out myplatform.pem
2、生成platform.p12。
alias別名是mystore,密碼是123456
openssl pkcs12 -export -in platform.x509.pem -inkey myplatform.pem -out platform.p12 -password pass:123456 -name mystore
3、生成platform.keystore
keytool -importkeystore -deststorepass 123456 -destkeystore platform.keystore -srckeystore platform.p12 -srcstoretype ?PKCS12 -srcstorepass 123456
4、然后在androidstudio中配置
5、apk簽名及遇到的常見問題
7.0之前的版本直接運行就可以,7.1及以后就需要增加library path參數。否則會報以下錯誤 Exception in thread "main" java.lang.UnsatisfiedLinkError: android/out/host/linux-x86/lib/libconscrypt_openjdk_jni.so: android/out/host/linux-x86/lib/libconscrypt_openjdk_jni.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)at java.lang.ClassLoader$NativeLibrary.load(Native Method)at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1850)at java.lang.Runtime.loadLibrary0(Runtime.java:871)at java.lang.System.loadLibrary(System.java:1124)at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:25)at org.conscrypt.NativeCrypto.<clinit>(NativeCrypto.java:54)at org.conscrypt.OpenSSLBIOInputStream.<init>(OpenSSLBIOInputStream.java:34)at org.conscrypt.OpenSSLX509Certificate.fromX509PemInputStream(OpenSSLX509Certificate.java:119)at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:220)at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:216)at org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:94)at org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272)at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339)at com.android.signapk.SignApk.readPublicKey(SignApk.java:182)at com.android.signapk.SignApk.main(SignApk.java:1087)java -Djava.library.path=out/host/linux-x86/lib64 -jar signapk.jar platform.x509.pem platform.pk8 1.apk 2.apk如果是報以下錯誤,則說明apk使用的jdk和signapk.jar的jdk版本不一一致導致。更換jdk版本即可
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/signapk/SignApk has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
? ? ? ? at java.lang.ClassLoader.defineClass1(Native Method)
? ? ? ? at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
? ? ? ? at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
? ? ? ? at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
? ? ? ? at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
? ? ? ? at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
? ? ? ? at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
? ? ? ? at java.security.AccessController.doPrivileged(Native Method)
? ? ? ? at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
? ? ? ? at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
? ? ? ? at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
? ? ? ? at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
? ? ? ? at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
?
總結
以上是生活随笔為你收集整理的pk8/pem秘钥转keystore格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 调侃《Head First设计模式》之总
- 下一篇: 『华为ICT』数据通信网络基础