2012-03-02 3 views

답변

-5

아니요. 그렇기 때문에, SO는 "아니오"로 대답하도록하지 않으므로 설명해야합니다.

기본적으로 코드 서명 인증서는 알려진 기관의 인증을받은 공개 키에 대해 검증 할 수있는 개인 키를 제공합니다. 해당 키를 사용하여 디지털 서명을 만들고 다른 쪽에서는 서명 할 때 신뢰할 수있는 출처의 인증서가 있음을 확인할 수 있습니다.

SSL 인증서는 신뢰할 수있는 출처에서 온 것으로 확인 될 수있는 서명 된 "문서"입니다. 혼자만의 핵심 자료가 없기 때문에 암호화하거나 서명 할 수 없습니다. 그것은 단지 서명 된 문서 "나는이 사람이 자신이 말하는 사람을 믿는다는 것을 증명합니다."라고 말하고 있습니다.

+4

죄송합니다. 여기서 완전히 잘못되었습니다. SSL 인증서에는 항상 개인 키가 있습니다. 웹 서버에서 사용할 때 개인 키는 서버에 있으며 웹 서버 소프트웨어 (Apache, IIS 등)가 연결을 암호화하는 데 사용합니다. – jcoffland

14

코드 서명 인증서는 기본적으로 SSL 인증서와 같습니다. 둘 다 데이터 (소프트웨어 패키지 또는 웹 페이지 컨텐츠)가 인증서의 "주체"에서 왔음을 입증하기 위해 일부 데이터에 서명하는 데 사용됩니다. 두 가지 주요 차이점은 내가 생각할 수 있습니다 :

  1. 인증서의 "향상된 키 사용"OID가 다릅니다. 코드 서명 인증서는 코드에 서명하는 데에만 사용할 수 있습니다. 잘못된 인증서로 서명하는 것을 막을 수는 없지만 클라이언트 (예 : 웹 브라우저)는 인증서에 나열된 모든 "향상된 키 사용"을 검사하고 인증서에 적절한 OID가없는 경우 서명을 거부합니다 (예 : "코드 서명"). . 즉, 하나의 인증서가 "코드 서명"및 "서버 인증"OID를 모두 가질 수 있으므로 두 시나리오 모두에서 사용할 수 있습니다. 그러나 보안상의 이유로 아무도 그렇게해야하지 않습니다.

  2. SSL 인증서가 만료되면 무효가됩니다. 그러나 코드 서명 인증서는 특별한 대우를받습니다. 예를 들어, 10 년 전에 소프트웨어를 구입 한 경우 서명에 사용 된 코드 서명 인증서가 오늘 만료되었을 수 있습니다. 그러나 타임 스탬프 서비스와 결합하여 소프트웨어 패키지가 10 년 전에 제대로 서명되었음을 증명할 수 있습니다.