2010-02-28 5 views
0

죄송합니다. 정확하게 프로그래밍 문제는 아니지만 흥미가 있습니다. 내 질문은 다음과 같습니다. 사용자 개인 키는 어디에서 제공됩니까? CA에서 생성 된 인증서의 공개 키와 함께 키 쌍을 가져 오거나 클라이언트 OS에서 생성되는 엄지 손가락, 공개 키 등 만 CA에서 온 경우?Microsoft CA : 어디에서 비공개 키가 제공되는지

감사합니다.

+0

"죄송합니다. 정확한 프로그래밍 질문이 아닙니다"라는 질문을 시작해야 할 필요가 있다고 생각되면 다음을 다시 생각해보십시오. – skaffman

+0

이것은 Microsoft와 어떤 관련이 있습니까? –

답변

1

개인 키와 공개 키는 수학적으로 연결되어 있습니다. 생성 과정을 통해 모두, 항상; 하나는 비공개 (안전한 상태로 유지), 하나는 공개 (누구 에게든 넘겨 줄 수 있음)라고합니다. 링크를 찾기가 어렵 기 때문에 링크 중 하나를 찾는 것이 다른 하나를 찾는 데 도움이되지 않습니다.

서명 할 때 개인 키가 필요합니다. 사람들이 서명을 확인하려면 공개 키가 필요합니다.

암호화 할 때받는 사람의 공개 키가 필요합니다. 개인 키가 필요하기 때문에 해독 할 수 있습니다.

처음에는 파일에 둘 모두가 있고 배포 용 공개 키를 추출 할 수 있습니다 (또는 다른 사람들이 신뢰할 수있게하려면 인증서에 넣을 수 있음).

각 보안 libray 올바른 공공/민간 쌍을 구축하는 데 필요한 수학을 구현하는 자신의 도구를 가지고 :

편집 : 그래서 여기있다, 내가 코멘트를 시작하지만 너무 오래했다. OpenSSL에는 명령 줄 도구가 있으며,이 도구를 사용하여 고유 한 CA를 만들고 인증서 요청 및 인증서를 만들 수 있습니다. Windows Server에는 유사한 기능을 가진 인증서 서비스가 있습니다. .NET에는 공용/개인 키 (DLL 서명에 사용)가있는 파일 (snk 확장자 포함)을 만드는 sn (sn = strong name) 도구가 있습니다. Visual Studio에는 snk 파일을 만들기위한 GUI 프론트 엔드가 있습니다. Java 세계에는 도구가 있습니다 (내가 잘못하지 않으면 keystore라고도 함). Mac OS X에서 인증서를 직접 만들면 '자체 서명 된'것으로 불리고 나머지는 신뢰할 수 없습니다. 세계.

+0

대단히 감사합니다. 그러나 나는 아직도 이해하지 못했습니다 : 어디에서이 키 쌍을 얻었습니까? CA 서버에서 온 것이 든, 사용자가 만들 때 사용자 OS 또는 DC에서 생성 한 것이 든 상관 없습니다. 즉, CA로부터 인증서를 제출하지 않고 내 OS에서이 쌍을 기본적으로 가져올 수 있습니까? – Andrey

+0

수정 된 답변을 살펴보십시오. – Timores

관련 문제