2016-12-15 8 views
0

この時点で、Okthppがこのcertsを受け入れる必要があるため、Keystoreにいくつかの証明書を追加しようとしています。FileInputStreamで* .cerファイルを開くにはどうすればいいのですか?--Android

だから、私はこの例を見て、開発者のアンドロイドでみる:例ではhttps://developer.android.com/training/articles/security-ssl.html?hl=es#HttpsExample

は、彼らがこれを行う:私がやった何

// Load CAs from an InputStream 
// (could be from a resource or ByteArrayInputStream or ...) 
CertificateFactory cf = CertificateFactory.getInstance("X.509"); 
// From https://www.washington.edu/itconnect/security/ca/load-der.crt 
InputStream caInput = new BufferedInputStream(new FileInputStream("load-der.crt")); 
Certificate ca; 

を、.../res/raw/xxxxx*cerファイルIから証明書をロードしようとしていますプロジェクト構造に追加されました。

だから私のコードは次のようになります。

CertificateFactory cf = CertificateFactory.getInstance("X.509"); 
caInput1 = new BufferedInputStream(new FileInputStream(String.valueOf(ctx.getResources().openRawResourceFd(R.raw.xxxx)))); 

しかし、私はそれをしようとすると、doesntの仕事:

enter image description here

どのように私はそれを解決することができますか? ORはできませんか?

答えて

0

openRawResourceFd(R.raw.xxxx)がこの種類のファイルで失敗し、それはそれについて言及されています

この機能は、非圧縮データとして*パッケージ に格納されたリソースのために働きます、通常はmp3ファイル *やpng画像などが含まれます。

あなたの代わりに

InputStream is = ctx.getResources().openRawResource(R.raw.xxxx); 

を使用することができますが、これは必要に応じて使用のFileInputStreamにしませんが、あなたは直接のInputStreamを取得します。

+0

同じことを言っています:/ – Shudy

+0

私は答えを更新しました。私はopenRawResourceFd – petrumo

関連する問題