代码之家  ›  专栏  ›  技术社区  ›  cong

如何解决java.library中没有conscrypt\u openjdk\u jni的问题。路径错误?

  •  12
  • cong  · 技术社区  · 7 年前

    我想签署我的apk,所以我执行了以下命令:

    java-jar signapk。jar平台.x509.pem平台。pk8 app-debug.apk

    但我得到了以下错误:

    java.lang.Runtime.loadLibrary0(Runtime.java:870) loadLibrary(System.java:1122)位于 org.concrypt.NativeCrypto.(NativeCrypto.java:54)网址: OpenSSLBIOInputStream。(OpenSSLBIOInputStream.java:34) OpenSSLX509Certificate.fromX509PEInputStream(OpenSSLX509Certificate.java:119) OpenSSLX509CertificateFactory$1.fromX509PEInputStream(OpenSSLX509CertificateFactory.java:220) 在 在 OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:94) OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272) 在 位于com.android.signapk.signapk.readPublicKey(signapk.java:182) main(signapk.java:1087)

    如何解决这个错误?

    (openjdk版本“1.8.0_141” OpenJDK 64位服务器虚拟机(构建25.141-b15,混合模式)

    2 回复  |  直到 7 年前
        1
  •  15
  •   DeeHY    7 年前
    java -Xmx2048m -Djava.library.path="out/host/linux-x86/lib64" \
        -jar out/host/linux-x86/framework/signapk.jar \
        -w build/target/product/security/platform.x509.pem \
        build/target/product/security/platform.pk8 \
        FileNeedSign.apk FileNeedSign_Signed.apk
    
        2
  •  2
  •   Art GlenPeterson    4 年前

    <dependency>
        <groupId>org.conscrypt</groupId>
        <artifactId>conscrypt-openjdk</artifactId>
        <version>2.2.1</version>
        <classifier>linux-x86_64</classifier>
    </dependency>
    

    <classifier> 这需要适合您的操作系统。从这里的列表中选择一个: https://github.com/google/conscrypt/

    我喜欢把我的配置放在代码中。如果你愿意,就炒了我。我遵循了这里的说明: https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html#conscrypt

        Security.addProvider(new OpenSSLProvider())
    

    之后:

        // SSLv2Hello and SSLv3 are outdated and insecure.
        // TLSv1.3 works with Conscrypt, but not Java 8!
        sslContextFactory.setExcludeProtocols("SSLv2Hello", "SSLv3", "TLSv1.3")
        sslContextFactory.setProvider("Conscrypt");
    

    我想这就是原因。我今天做了很多改变。

    我有一个单独的问题,那就是我的本地主机SSL证书无效。我从这个开始: Can you use a service worker with a self-signed certificate?