2011-12-05 2 views
8

여러 C# 클래스 라이브러리가 포함 된 C# 솔루션이 있습니다. 나는 최근에 약간의 연구를하고 있으며, 내 라이브러리에서 출력 된 어셈블리에 서명을하여 강력한 이름으로 서명해야한다고 제안합니다. 첫째로 내가 그와 함께 발전하는 것이 최선인지 궁금해합니다. 이 클래스 라이브러리에서 출력 된 라이브러리는 여러 다른 프로젝트에서 사용됩니다.dll에 강력한 이름으로 서명 할 때 이점

내 이전 질문에서 그렇습니다. 내 DLL에 서명해야한다고 권고하는 경우, 사용하는 .snk를 솔루션의 각 클래스 라이브러리에 사용할 수 있습니까? 또는 클래스 라이브러리 당 하나의 키 여야합니까?

+1

첫 번째 질문은 http://stackoverflow.com/questions/1197133/anything-wrong-with-not-signing-a-net-assembly와 http://stackoverflow.com/questions/721340/strong을 참조하십시오. 서명 된 어셈블리 – Otiel

답변

3

때때로 서명하려면 어셈블리가 필요합니다. GAC 어셈블리를 원하거나 서명 된 어셈블리가 다른 어셈블리를 참조하려는 경우에 해당됩니다.

동일한 .snk 파일을 다시 사용할 수 있습니다. 그렇게하면 모든 어셈블리에 대해 동일한 공개 키 토큰이됩니다.

1

많은 수의 어셈블리에서 사용하기 위해 어셈블리를 GAC에 넣으려는 경우 필수적입니다.

사용자가 직접 설치하지 않고 사용하려면 사용자에게 제공하는 것이 좋으며, 이는 실제로 변조 된 파일이 아니라 실제로 제공 한 파일이라는 확신을줍니다.

엔티티 (개인, 집단, 오픈 소스 그룹 또는 회사) 당 SNK 파일을 거의 사용하지 않는 것이 좋습니다. 누군가가 귀하를 신뢰한다면 ("귀하"는 개인, 회사 등) 따라서 그들은 자신이 확신하는 공개 키를 신뢰합니다. 그러면 다음 번에도 신뢰합니다. 매번 수작업으로 작성된 서명으로 수표에 서명하고 싶지는 않습니까?

관련 문제