1
Fintech 제품 용 안드로이드 라이브러리를 개발 중입니다. 인증 된 사용자에게만 AAR 파일의 사용을 제한하려고합니다. 각 클라이언트에 대한 액세스 키가있는 서버 유효성 검사가 있습니다. 다른 클라이언트 측 유효성 검사가 있습니까? 내 라이브러리를 보호하는 가장 좋은 방법은 무엇입니까?안드로이드 라이브러리 보호
Fintech 제품 용 안드로이드 라이브러리를 개발 중입니다. 인증 된 사용자에게만 AAR 파일의 사용을 제한하려고합니다. 각 클라이언트에 대한 액세스 키가있는 서버 유효성 검사가 있습니다. 다른 클라이언트 측 유효성 검사가 있습니까? 내 라이브러리를 보호하는 가장 좋은 방법은 무엇입니까?안드로이드 라이브러리 보호
가장 좋은 해결책은 호스팅 응용 프로그램의 패키지 이름과 서버 측 서명의 해시 키를 확인하는 것입니다.
해시 키를 SDK의 매개 변수로 사용하지 마십시오. SDK가 런타임에 읽은 다음 서버에 전달하게하십시오.
public String getCertificateHash(Context context) {
String hashKey = "";
try {
PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
hashKey = Base64.encodeToString(md.digest(), Base64.DEFAULT);
}
} catch (PackageManager.NameNotFoundException e) {
LogUtil.printObject(e);
} catch (NoSuchAlgorithmException e) {
LogUtil.printObject(e);
}
return hashKey.trim();
}
솔루션을 찾았습니까? – user4757345
예, 답변으로 게시 해 드리겠습니다. – MohanRaj