2012-10-31 1 views
12

내 Visual Studio 솔루션 내에서 웹 사이트와 참조되는 4-5 클래스 라이브러리 프로젝트가 있습니다. 일부는 외부 타사 어셈블리를 참조합니다.각 프로젝트는 별도의 강력한 이름 키 (.snk)로 서명해야합니까?

나는이 프로젝트를 위해 어셈블리에 서명하는 임무를 부여 받았다.

서명의 목적은 모든 사람이 공개 키 및 버전 정보를 제공하지 않고 어셈블리를 사용할 수 없다는 것입니다.

하나의 강력한 이름 키 (.snk)를 사용하여이 프로젝트의 모든 어셈블리에 서명해야합니까? 아니면 각 어셈블리를 강력한 강력한 이름의 키로 서명해야합니까?

강력한 이름 키에 대한 비밀번호 보호의 목적은 무엇입니까?

어떻게 하시겠습니까?

많은 감사, 서명의 목적은 모든 사람, 바로 공개 키 및 버전 정보를 제공하지 않고 우리의 어셈블리를 사용할 수 있다는 점이다 것을

+2

어셈블리에 서명하는 목적은 ** 원래의 수정되지 않은 버전 **임을 보장하는 것입니다. 누구나 자유롭게 사용할 수 있습니다 (서명과 함께 사용되는 다른 도구가 라이센스되어 있음).하지만 (예 : 악의적 인 소프트웨어에 의해) 수정되지 않았 음을 확신 할 수 있습니다. 서명은 ... 개인). –

+0

Adriano가 올바른지 확인하십시오 ... http://msdn.microsoft.com/en-us/library/h4fa028b.aspx 어떻게 볼 수 ... http://msdn.microsoft.com/en-us/library /xc31ft41.aspx – Kevin

답변

12

?

아니요 서명은 게시자를 확인합니다. 다른 사람들이 어셈블리의 '가짜'버전을 만들지 못하게합니다.

하나의 단일 강력한 이름 키 (.snk)를 사용하여이 프로젝트의 모든 어셈블리에 서명해야합니까? 아니면 각 어셈블리를 별도의 강력한 이름 키로 서명해야합니까?

키는 서명이므로 모든 프로젝트에 1을 사용하십시오.

강력한 이름 키에 대한 비밀번호 보호의 목적은 무엇입니까?

전체 서명 절차는 귀하가 키를 소지 한 유일한 사람에게 달려 있습니다. 관련된 인증서가 없습니다. 부분 서명 및 보호 된 키를 사용하면 키에 액세스 할 수있는 사용자 수를 제한 할 수 있습니다.

+0

감사합니다. .snk 파일은 어디에 저장해야합니까? 프로덕션 서버에 설치할 필요는 없습니다. –

+0

키는 Build 서버에서 필요합니다. –

+0

서명되지 않은 다른 제 3 자 어셈블리를 참조 할 수 있습니까? 오류가 발생했습니다. 오류 어셈블리 생성에 실패했습니다. - 참조 된 어셈블리 'NameOfThirdPartyAssembly'에 강력한 이름이 없습니다. –

관련 문제