如何在Android中读取.crt文件

如何在Android中读取.crt文件,android,Android,我编写以下代码来实现读取.crt文件,但它不起作用 AssetManager assetManager = getAssets(); InputStream in = null; in = assetManager.open("client.crt"); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate ca = (X509Certificate) cf.generateCer

我编写以下代码来实现读取.crt文件,但它不起作用

AssetManager assetManager = getAssets();

InputStream in = null;

in = assetManager.open("client.crt");

CertificateFactory cf = CertificateFactory.getInstance("X.509");

X509Certificate ca = (X509Certificate) cf.generateCertificate(in);
最后一行不执行。谁来帮帮我。谢谢

试试这个代码片段

CertificateFactory cf = CertificateFactory.getInstance("X.509");
    // From https://www.washington.edu/itconnect/security/ca/load-der.crt
    InputStream is = context.getResources().getAssets().openAsset("somefolder/somecertificate.crt"); // path should be your files path
    InputStream caInput = new BufferedInputStream(is);
    Certificate ca;
    try {
        ca = cf.generateCertificate(caInput);
        // System.out.println("ca=" + ((X509Certificate) ca).getSubjectDN());
    } finally {
        caInput.close();
    }

没有。我发现android在读取.crt文件时丢失了一些内容,出现了一些问题。