Android 보안 암호 화:디지털 서명 과 디지털 인증서 상세 설명
7318 단어 Android보안 암호 화디지털 인증서 서명
또한 대칭 암호 화 와 메시지 요약 이라는 두 가지 지식 포 인 트 는 단독으로 사용 할 수 있다.
지식 점 직렬 연결:
디지털 인증 서 는 위 에서 배 운 모든 지식 을 사 용 했 습 니 다.
1.개술
디지털 서명 은 비대 칭 암호 화 와 디지털 요약 의 조합 응용 이다.
2.응용 장면
사용자 신분 검증(비밀 키 서명,공개 키 검증 을 사용 합 니 다.공개 키 로 검증 이 통과 되면 이 정 보 는 반드시 비밀 키 소지 자가 발표 한 것 입 니 다)
데이터 의 완전 성 검사(복호화 후의 메시지 요약 으로 원문의 메시지 요약 과 비교)
3.서명 과정
"메 시 지 를 보 낼 때 발송 자 는 하나의 해시 함수 로 메시지 텍스트 에서 메시지 요약 을 생 성 한 다음 에 자신의 개인 키 로 이 요약 을 암호 화 합 니 다.이 암호 화 된 요약 은 메시지 의 디지털 서명 과 메시지 로 수신 자 에 게 보 냅 니 다.수신 자 는 먼저 발송 자 와 같은 해시 함수 로 받 은 원본 메시지 에서 메시지 요약 을 계산 합 니 다."이 어 발송 자의 공용 키 로 메시지 에 추 가 된 디지털 서명 을 복호화 합 니 다.이 두 요약 이 같 으 면 수신 자 는 이 디지털 서명 이 발송 자의 것 임 을 확인 할 수 있 습 니 다.
디지털 서명 은 두 가지 효과 가 있다.하 나 는 소식 이 확실히 발송 자의 서명 에 의 해 병발 되 었 다 는 것 을 확인 할 수 있다.왜냐하면 다른 사람 이 발송 자의 서명 을 위조 할 수 없 기 때문이다.둘째,디지털 서명 은 메시지 의 완전 성 을 확인 할 수 있다.디지털 서명 의 특징 은 파일 의 특징 을 대표 하기 때문에 파일 이 바 뀌 면 디지털 요약 의 값 도 달라 집 니 다.서로 다른 파일 은 서로 다른 숫자 요약 을 얻 을 수 있 습 니 다."한 번 의 디지털 서명 은 해시 함수,발송 자의 공개 키,발송 자의 비밀 키 와 관련된다."
4.사용 절차
// signature , :MD2withRSA, MD5withRSA, or SHA1withRSA
Signature signature = Signature.getInstance("MD5withRSA");
// ( )
PrivateKey privateKey = (PrivateKey)SerializableUtil.readObject(
"heima.privateKey");
//
signature.initSign(privateKey);
//
signature.update(content.getBytes());
//
byte[] sign = signature.sign();
// ( )
PublicKey publicKey = (PublicKey) SerializableUtil.readObject(
"heima.publicKey");
//
signature.initVerify(publicKey);
// ( )
signature.update(content.getBytes());
//
boolean verify = signature.verify(sign);
5.총화디지털 서명 은 일반적으로 단독으로 사용 하지 않 고 기본적으로 디지털 인증서 에서 SSL 통신 프로 토 콜 을 실현 하 는 데 쓰 인 다.다음 에 배 울 디지털 인증 서 는 디지털 서명 기술 을 바탕 으로 이 루어 집 니 다.
디지털 인증서
1.개술
디지털 인증 서 는 인터넷 통신 에서 통신 각 측의 신분 정 보 를 표시 하 는 일련의 숫자 로 인터넷 에서 통신 실체 신분 을 검증 하 는 방식 을 제공 했다.디지털 인증 서 는 디지털 신분증 이 아니 라 신분 인증 기구 가 디지털 신분증 에 찍 은 도장 이나 인쇄(또는 디지털 신분증 에 추 가 된 서명)이다.이 는 권위 있 는 기구 인 CA 기구 로 인증서 권한 수여(Certificate Authority)센터 라 고도 부 르 며 인터넷 에서 상대방 의 신분 을 식별 할 수 있다.
2.응용 장면
거래자 신분 의 확정 성,부인 할 수 없 음,수정 할 수 없 음
응용 프로그램 에 서명 인증(예:Android apk)
3.디지털 인증서 형식
디지털 인증서 의 형식 은 보편적으로 X.509V 3 국제 표준 을 사용 하 는데 하나의 표준 X.509 디지털 인증 서 는 다음 과 같은 내용 을 포함한다.
디지털 인증 서 는 보안 분야 의 궁극 적 인 무기 로 SSL 통신 프로 토 콜 의 가장 핵심 적 인 것 은 디지털 인증서 다.그 는 앞에서 언급 한 모든 지식 과 관련 되 었 다.대칭 암호 화,비대 칭 암호 화,메시지 요약,디지털 서명 등 이다.
디지털 인증 서 는 자바 가 자체 적 으로 가지 고 있 는 KeyTool 도 구 를 통 해 생 성 될 수 있 으 며,생 성 된 디지털 인증 서 는 일반적으로 KeyStore 에 보관 된다.키 스토어 는 비밀 키 창고 라 고 할 수 있 습 니 다.
비밀 키 창 고 는 3 가지 유형의 데 이 터 를 보관 할 수 있 습 니 다:KeyStore.PrivateKeyEntry(비대 칭 비밀 키),KeyStore.SecretKeyEntry(대칭 암호 화 된 비밀 키),KeyStore.TrustedCertificateEntry(신뢰 받 는 인증서)
5.KeyTool 도구
경로:jre\bin\keytool.exe
상용 명령:
키 쌍 생 성
keytool -genkeypair
keytool-genkeypair-alias lisi(뒷부분 은 인증서 에 별명 을 지정 하지 않 으 면 기본 이름 으로 my key)
keystore 에 어떤 항목 이 있 는 지 보 세 요.
keytool-list 또는 keytool-list-v
keytool -exportcert -alias lisi -file lisi.cer
인쇄 가능 한 인증서 생 성:
keytool -exportcert -alias lisi -file lisi.cer Crfc
디지털 인증서 파일 의 인증서 정보 보이 기:
keytool -printcert -file lisi.cer
lisi.cer 를 직접 두 번 누 르 고 window 시스템 내 장 된 프로그램 으로 lisi.cer 를 엽 니 다.
6.안 드 로 이 드 키 스토어 지식
debug 서명 경로:user.android\\debug.keystore
debug.keystore 의 별명(alias)및 비밀번호:
별명:androiddebugkey,비밀번호:android
서명 명령(jdk 1.6):
jarsigner -verbose -keystore debug.keystore -signedjar 1signed.apk 1.apk androiddebugkey
서명 명령(jdk 1.7):
jarsigner -verbose -keystore debug.keystore -signedjar 1signed.apk 1.apk androiddebugkey -digestalg
SHA1 -sigalg MD5withRSA
최적화 명령:
zipalign -v 4 1signed.apk 1signedaligned.apk
서명 이 성 공 했 는 지 확인 하기:
jarsigner -verify 1signed.apk
7.보충
서명 인증서:
권위 있 는 발급 기구 가 서버 나 개인 에 게 자신의 신분 을 증명 하 는 데 사용 하 는 것 은 기본 클 라 이언 트 가 모두 신뢰 합 니 다.주요 목적 은 데이터 의 완전 성과 발뺌 할 수 없 는 성 을 암호 화하 고 확보 하 는 것 이다.
예 를 들 어 루트 인증서 기관 인 Symantec 가 바 이 두 에 게 발급 한 것 은 서명 인증서 로 신뢰 를 받는다.
셀 프 서명 인증서:
서버 자체 가 자신 에 게 수여 하고 자신의 신분 을 증명 하 는 데 사용 되 는 것 입 니 다.비 권위 적 인 발급 기구 에서 발표 합 니 다.기본 클 라 이언 트 는 모두 신뢰 하지 않 습 니 다.주요 목적 은 데이터 의 완전 성과 발뺌 할 수 없 는 성 을 암호 화하 고 확보 하 는 것 입 니 다.서명 인증서 와 같 습 니 다.
예 를 들 어 중 철 그룹(SRCA)이 12306 에 게 준 증 서 는 바로 자체 서명 증서 로 자신 에 게 발급 한 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.