2011-01-02 3 views
12

어셈블리 서명을위한 개인/공개 키 쌍을 생성하는 SN과 같은 도구가 있습니다. 및 AL 도구를 사용하여 어셈블리에 강력한 이름을 지정할 수 있습니다.어셈블리 서명을위한 signtool과 sn 또는 al의 차이점

그리고 우리는 어셈블리에 서명하는 데 사용되는 Sign 도구도 가지고 있습니다 (아마도 인증서를 독점적으로 사용하기 위해?).

둘의 정확한 차이점은 무엇입니까? 서명 도구는 인증서로 작업 할 때 사용해야하며, SN을 달성 할 수 있습니까? 또는 그들은 완전히 다릅니다.?

도와주세요.

+0

인터넷 검색을 사용해 보셨습니까? 뭘 찾았 니? –

+2

지금까지 두 기사의 차이점을 설명하는 문서를 찾지 못했습니다 – sveerap

답변

7

Signtool은 코드 무결성 검사 및 게시자 인증을 제공하는 코드 서명을 수행합니다.

Sn은 강력한 이름을 사용합니다. 그것은 .NET 어셈블리를위한 것입니다. 고유 한 ID 문제를 해결합니다.

두 도구 모두 파일을 조정하지 않지만 코드 서명 (signtool)만이 파일의 게시자를 확인할 수 있습니다.

SignTool.exe를 사용하여 파일 이름이 strong dll 인 경우에도 지정된 pfx로 파일에 서명하고 타임 스탬프를 지정할 수 있습니다.

+1

응답 해 주셔서 감사합니다. 즉, 어셈블리의 강력한 이름을 지정하기 위해 별도의 개인/공개 키를 가질 수 있으며 서명 기관을 통해 인증서 또는 키 (이전 것과 다른)를 제공함으로써 서명 도구로 서명을 수행 할 수 있습니까? 우리가 강력한 이름을 말할 때 그것은 강력한 이름 구성 요소 (이름, 버전, 문화, 공개 키, 디지털 서명)의 일부인 디지털 서명을 의미합니다. 여기에서 디지털 서명 부분은 강력한 명명 (sn 또는 al tool) 또는 기호 도구로 만든 서명이 될 것입니다. – sveerap

+1

또한 강력한 이름 dll을 ildasm으로 확인하면 매니페스트에 버전, 공개 키는 있지만 디지털 서명은 볼 수 없습니다. 정확히 어디에 저장되어 있습니까? – sveerap

+1

@sveerap : 그렇습니다. 강력한 이름의 경우 prvate/public 키를 사용하고 signtool을 사용하여 서명 할 수 있습니다. 강력한 이름은 sn 도구로 만든 공개 키/개인 키를 사용하고 있습니다. 나는 그 서명을 알아 내려고하지 않았고, 그것이 명백한 것인지 아닌지를 모른다. 강력한 이름을 지정하려면 실제로 디지털 서명을 알 필요가 없습니다. 왜 그걸 알아 내고 싶니? –

관련 문제