2011-03-26 3 views
3

한 돌로 두 마리를 죽이려고합니다. 저는 인증서에 정통하지 않습니다. 어떻게 작동합니까? 내 회사 웹 사이트 용 SSL 인증서를 사용하여 내 어셈블리에 서명하고 신뢰할 수있게 할 수 있습니까? 나는 생각하지 않는다. 그러나 그것이 가치가있는 것이었다라고 생각했다.내 어셈블리에 SSL 인증서를 서명 할 수 있습니까?

답변

6

코드 ()에 개인 키가있는 코드로 어셈블리 (및 모든 Windows dll 또는 exe)에 서명 할 수 있습니다.

웹 사이트 (인증) 인증서가 코드 서명에 사용될 수 있도록 올바른 "사용"속성을 가지고 있지 않은 경우가 아주 드물게 있지 않는 한.

자세한 내용은 서명을해야합니다. Everything you need to know about Authenticode Code Signing.

+0

조직 유효성이 검증 된 SSL 인증서 (회사 이름 포함)는 어떻게됩니까? –

+0

@ JoshM : 조직의 SSL 인증서에 코드 서명을 위해 플래그가 지정되어 있으면 사용할 수 있으며, 플래그가 지정되지 않으면 서명 할 수 없습니다. 인증서의 신뢰 범위는이 점과 별 차이가 없습니다. – Richard

+0

알겠습니다. 고마워요. –

1

리차드가 말한 것 외에도 강력한 이름 ("원시"개인 키가있는 어셈블리 서명)과 Authenticode 서명을 구별해야합니다. Strong-naming은 .NET 어셈블리에만 해당되며 Authenticode는 PE 파일 (및 일부 다른 파일 형식)에도 서명하는 데 사용됩니다.

또한 Authenticode를 사용하여 어셈블리에 서명하는 경우 어셈블리가로드 될 때 지연 될 준비를하십시오. 이는 .NET Framework가 서명의 유효성을 검사하고 선택적으로 CRL을 검색하고 어셈블리가로드 될 때마다 OCSP 검사를 수행하기 때문입니다. 따라서 어셈블리에 서명해야하는 경우가 아니면 성능상의 이유로이 단계를 건너 뛸 수 있습니다.

우리의 Secureblackbox 제품에는 모든 어셈블리가 서명되었지만 일부 고객은 어셈블리가 단순히로드되지 않을 것이라고보고했으며 이는 서명 유효성 검사와 관련이 있음을 나타 냈습니다. 그래서 우리는 authenticode 서명을 제거하고 오직 .NET의 강력한 이름을 유지했습니다.