2010-04-15 5 views
2

간단한 보안 수단으로 이전에 내 프로그램에서 다운로드 한 업데이트 패키지의 디지털 서명을 공개 키와 대조하여 해당 프로그램이 나로부터 발생했는지 확인했습니다. 그러나 싸구려 코드 서명 인증서 (Tucows)를 사용하고 있으므로 기존 인증서를 갱신 할 수 없으므로 갱신해야 할 때마다 키가 변경됩니다..NET에서 어셈블리에 디지털 서명하는 데 사용되는 회사 정보를 프로그래밍 방식으로 얻으려면 어떻게해야합니까?

따라서 신뢰할 수있는 방법은 서명 된 어셈블리에 포함 된 조직 정보 (UAC 대화 상자에 표시됨)를 잘 알려진 조직 문자열과 대조하여 확인하는 것입니다.

누구든지 디지털 서명 된 어셈블리에서이 정보를 얻는 방법을 알고 있습니까?

+0

젠장 나는 회사 문서를 전혀 포함시키지 않은 실제 어셈블리가 아니라 XML 문서에 서명하고 있음을 깨달았다. 결국 이것이 나에게 도움이되지 않을 것 같아! : – devios1

+0

XML 데이터에 올바르게 서명하고 인증서가 포함 (또는 참조) 된 경우에도 여전히 예상 할 수있는 인증서가 있습니다 (XMLBlackbox도 있음). –

답변

0

어셈블리에 Authenticode 기술과 X.509 인증서 (강력한 이름이 아닌)를 사용하여 서명했다고 가정하면 Authenticode 판독기 코드 (또는 구성 요소)를 사용하여 인증서를 추출하고 유효성을 검사해야합니다. 그러면 인증서의 SubjectName 또는 SubjectRDN 레코드 필드 중 하나에서 조직 이름을 찾을 수 있습니다.

우리는 PKIBlackbox 패키지에 Authenticode reader class and certificate manipulation class을 제공합니다.

1

키를 사용하여 어셈블리의 이름이 강력한 지 확인하는 것만으로 충분하지 않습니까? Authenticode는 대개 자신이 자신이 말하는 사람임을 증명할 수있는 최종 사용자에게 혜택을줍니다 (인증서 기관의 노력으로 인해). 내 마음에, 귀하의 상황에서, 거기에 간단한 보안 이름을 통해 인증 코드에 추가 보안이 없습니다.

강력한 이름을 확인하는 것이 훨씬 간단하고 키 변경에 대해 걱정할 필요가 없다고 가정합니다.

관련 문제