2017-09-22 7 views
6

이후에 작업을 다시 만들 때 이전에 선택한 개인 키를 가져 오려고하면이 오류가 발생합니다. 화면을 회전시킵니다.android.security.KeyChainException : java.lang.IllegalStateException : uid <> 요청한 별칭에 액세스 할 수있는 권한이 없음

나는 choosePrivateKeyAlias()이 "응용 프로그램 설치 후 적어도 한 번"호출되어야한다고 제안하는 this question here,을 보았습니다. 이 경우 화면 회전이 발생하기 전에 앱이 시작될 때를 포함하여 여러 번 호출되었습니다. 따라서 새로운 앱으로 간주되는 이유는 무엇입니까? 어떻게 든 uid가 바뀌고 있습니까? 차이이다 -

PrivateKey privateKey = KeyChain.getPrivateKey(getBaseContext(), alias);

난 그냥 다른 질문은 getCertificateChain 오히려 getPrivateKey보다 사용하던 것으로 나타났습니다 : 여기

통화입니까?

+1

사용중인 '별칭'이 실제로 [별칭 콜백] (https://developer.android.com/reference/android/security/KeyChainAliasCallback.html#alias (java. lang.String))? 전화 한 번에 더 많은 코드를 게시 할 수 있습니까? –

+0

당신이 옳았는데, 나는 실제로 그것을 올바르게 저장하지 않았고 잘못된 별칭을 찾고있었습니다. 이 제안을 답으로 입력하면 정확한 것으로 표시 할 것입니다. –

답변

4

후회와 내 의견을 반복하기 위해 문제는 별칭이 제대로 저장되지 않아서이 호출이 완전히 관련이 없거나 존재하지 않는 개인 키에 액세스하려고 시도했기 때문입니다.