2016-12-15 2 views
0

Okthpp가이 certs를 받아 들일 필요가 있기 때문에이 시점에서 Keystore에 일부 인증서를 추가하려고합니다.FileInputStream에서 * .cer 파일을 열 수있는 방법 --Android

그래서, 개발자 안드로이드에서 보면 내가이 예를 보았다

:

내가 무슨 짓을했는지
// 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에서 인증서를로드하려고한다 : 그들은이 않는 예에서 https://developer.android.com/training/articles/security-ssl.html?hl=es#HttpsExample

을 프로젝트 구조에 추가됨.

그래서 내 코드는 다음과 같습니다

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

하지만 그것을, 나던 일을하려고하면

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

관련 문제