2009-03-15 11 views
0

테스트 환경에서 자체 서명 인증서를 작성하고 있습니다. 내가하는 일에 대한 자세한 내용은 여기에있다.자체 서명 된 인증서 문제

http://www.hanselman.com/blog/SigningPowerShellScripts.aspx

내 간단한 단계는 컴퓨터 A에게 Makecert.exe를를 사용하여 루트 CA를 만들기

  1. , (목적은 컴퓨터 C와 인증서를 기반으로 컴퓨터 A 사이의 신뢰 연결을 설정하는 것입니다)이다;
  2. 자체 서명 루트 CA로 컴퓨터 A가 발급 한 인증서 B입니다.
  3. 통신을 수행하는 데 사용되는 인증서로 컴퓨터 A에 인증서 B를 설치하십시오.
  4. 루트 CA (compter A)를 컴퓨터 C에 설치/트러스트합니다.
  5. 그런 다음 컴퓨터 C 인증서 B.
  6. 를 사용하여 컴퓨터 A의 통신을 신뢰

내 혼란은, 컴퓨터의 C 트러스트 컴퓨터 인증서 B를 설치하지 않고? 루트 CA의 인증서와 상대방의 인증서를 모두 설치해야한다고 생각합니다. 모든 의견이나 아이디어? 사전에

덕분에, 조지

답변

1

컴퓨터 C가 (컴퓨터 A의) 루트 CA를 신뢰해야합니다. 그런 다음 동일한 루트 CA에서 발급 한 다른 컴퓨터 (예 : 컴퓨터 D)에서 제공되는 인증서는 자동으로 신뢰됩니다.

예를 들어, Windows에서는 기본적으로 Verisign에 대한 루트 CA 인증서가 있고 신뢰합니다. Verisign 인증서를 사용하는 HTTPS 사이트로 이동하면 Verisign을 신뢰하고 Verisign이 HTTPS 사이트에 인증서를 발급했기 때문에 자동으로 인증서를 신뢰합니다.

IOW - CA 만 신뢰하고 설치하면됩니다.

+0

감사합니다 마크 : 베드로 거트 먼이 linky에서 인증서 더 다채로운 설명이 ? – George2

+0

수정하십시오. 컴퓨터에 루트 CA의 인증서를 설치하면 해당 CA가 발급 한 모든 것을 신뢰하도록 컴퓨터에 지시합니다. –

2

2 단계가 정확하지 않거나 의미 상 올바르지 않습니다. CA가 서명 한 인증서를 생성하는 경우 자체 서명되지는 않으며 CA가 서명합니다.

따라서 컴퓨터 C에서 생성 된 CA 인증서는 신뢰할 수있는 CA 저장소에 저장하기 만하면됩니다. 이렇게하면 서명 한 내용을 귀하의 케이스 인증서 B에서 신뢰할 수 있다고 말합니다.

그러나 통신용으로 사용한다고 가정 할 수 있습니다. WCF와 같은 것을 사용하면 해지를 확인합니다. 생성 된 CA가이를 지원하지 않으므로이 기능을 해제해야합니다.

+0

감사의 인사말 "당신은 단계 2가 의미 상으로 부정확합니다. CA가 서명 한 인증서를 생성하는 경우 자체 서명이 전혀 없으며 CA가 서명했습니다." - 그건 나쁘다. 자기가 설립 한 CA가 서명 했어. :-) – George2

+0

당신의 솔루션에서 고마워요. 컴퓨터의 신뢰할 수있는 게시자에게 B 인증서를 설치해야 하는지를 확인하고 싶습니다. 그렇다면 인증서 B는 기본적으로 컴퓨터 B가 신뢰하지 않는 루트 CA 컴퓨터 A가 발행하므로 동의하지 않습니다. – George2

+0

(계속) 그래서 신뢰의 전체 체인을 설치해야한다고 생각합니다. 루트 CA의 인증서 (내 견본에서 컴퓨터 A의 루트 CA 인증서)를 컴퓨터 B의 신뢰할 수있는 루트 인증 기관에 설치하십시오. 다른하실 말씀 있나요? – George2

1

컴퓨터 A는 실제로 "루트 CA"가되지 않습니다. 루트 인증서를 만든 다음 대상 컴퓨터에 설치해야합니다.

서로 다른 응용 프로그램이 서로 다른 인증서 저장소를 사용할 수 있으므로 대상 컴퓨터에 루트 인증서를 설치하는 것만 큼 간단하지 않습니다. 예를 들어, Firefox와 Explorer 모두에 루트 인증서를 설치해야합니다.

그런 다음 루트 인증서로 서명 한 "하위"인증서를 만들 수 있으며 대상 시스템은 신뢰할 수있는 루트 인증서로 서명했기 때문에 하위 인증서를 유효한 것으로 수락합니다.

인증서는 누군가의 공개 키를 확인하는 방법 일뿐입니다.인증서에는 일반 텍스트의 공개 키와 서명자의 개인 키로 암호화 된 공개 키가 모두 들어 있습니다. 인증서에 게시 된 공개 키의 유효성을 검사하려면 서명자의 공개 키를 사용하여 공개 키의 암호화 된 버전을 해독하고 공개 키의 일반 텍스트 버전과 동일한 지 확인합니다.

자체 서명 된 인증서에서 개인 키로 공개 키를 암호화합니다. 따라서 자체 서명 인증서는 체인에 상위 서명 기관이 없으므로 루트 인증서이기도합니다.

중간 인증서를 사용하여 다른 인증서에 서명 할 수도 있습니다. 이런 방식으로 인증서를 사용하여 일부 이론적으로 신뢰할 수있는 루트 인증서로 "신뢰 체인"을 구축 할 수 있습니다.

브루스 슈나이어 (Bruce Schneier)는 자신의 저서 "Applied Cryptography"에서 이에 대한 적절한 설명을하고 있습니다. , 루트 CA의 인증서가 괜찮 루트 CA에서 발행 발행인 또는 사람의 인증서를 설치할 필요를 설치하지

http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf

+0

감사합니다. billmcc, 내가 언급 한 인증서 저장소 문제에 관심이 있습니다. 내가 아는 한 Windows는 상위 2 개 범주 (currentuser 또는 localmachine)로 인증서를 관리하며 2 개 범주 아래에는 하위 명명 된 저장소가 있습니다. 그 맞습니까? 그렇다면 모든 지역의 지정된 상점을 볼 수있는 도구는 무엇입니까? – George2

+0

"을 입력 한 다음 대상 컴퓨터에 설치하십시오." - 표본 컴퓨터, 컴퓨터 A 또는 컴퓨터 C를 의미하는 대상 컴퓨터입니까? – George2

+0

예에서 대상 컴퓨터는 컴퓨터 C입니다. – billmcc

관련 문제