문제

저는 각각 별도의 어셈블리로 컴파일되는 5개의 프로젝트로 구성된 솔루션을 가지고 있습니다.지금은 코드 서명을 하고 있지만, 내가 잘못하고 있는 것이 확실합니다.여기서 가장 좋은 방법은 무엇입니까?

  • 각각 다른 키로 서명하세요.비밀번호가 다른지 확인하세요
  • 각각 다른 키로 서명하세요.원한다면 같은 비밀번호를 사용하세요
  • 동일한 키로 각각 서명
  • 완전히 다른 것

기본적으로 "서명"이 그들에게 어떤 영향을 미치는지 또는 여기에 모범 사례가 무엇인지 잘 모르겠습니다. 따라서 보다 일반적인 논의가 좋을 것입니다.내가 정말 아는 건 그것뿐이야 FxCop 나에게 소리쳤고 "이 어셈블리에 서명" 확인란을 클릭하고 Visual Studio(2008)를 사용하여 .pfx 파일을 생성하면 문제를 쉽게 해결할 수 있었습니다.

도움이 되었습니까?

해결책

귀하의 유일한 목표가 FxCop이 귀하에게 소리를 지르는 것을 막는 것이라면 모범 사례를 찾은 것입니다.

어셈블리 서명에 대한 모범 사례는 목표와 요구 사항에 전적으로 의존하는 것입니다.의도한 배포와 같은 추가 정보가 필요합니다.

  • 개인용
  • 기업 네트워크 PC에서 클라이언트 애플리케이션으로 사용
  • 웹 서버에서 실행
  • SQL Server에서 실행
  • 인터넷을 통해 다운로드됨
  • 수축 포장된 CD로 판매됨
  • 사이버네틱 뇌에 바로 업로드됨
  • 등.

일반적으로 코드 서명을 사용하여 어셈블리가 신뢰할 수 있는 특정 소스에서 왔으며 수정되지 않았는지 확인합니다. 따라서 동일한 키를 가진 각각은 괜찮습니다. 이제 그 신뢰와 정체성이 어떻게 결정되는지는 또 다른 이야기입니다.

업데이트: 웹을 통해 배포할 때 최종 사용자에게 어떤 이점이 있는지는 다음과 같습니다. 인증 기관의 소프트웨어 서명 인증서.그런 다음 어셈블리를 다운로드하면 해당 어셈블리가 어디에서 왔는지 확인할 수 있습니다. Domenic의 소프트웨어 백화점, 그 과정에서 수정되거나 손상되지 않았습니다.또한 다운로드할 때 설치 프로그램에 서명해야 합니다.이렇게 하면 일부 브라우저에서 알 수 없는 소스에서 얻은 정보를 표시한다는 경고가 방지됩니다.

소프트웨어 서명 인증서 비용을 지불하게 됩니다.당신이 얻는 것은 인증 기관이 당신이 누구인지 확인하는 신뢰할 수 있는 제3자가 된다는 것입니다.이는 운영 체제에 설치된 루트 인증서까지 추적하는 신뢰 웹 덕분에 작동합니다.선택할 수 있는 인증 기관이 몇 가지 있지만 대상 운영 체제의 루트 인증서에서 지원되는지 확인하는 것이 좋습니다.

다른 팁

서명된 어셈블리와 서명되지 않은 어셈블리의 가장 확실한 차이점은 ClickOnce 애플리케이션에 있습니다.서명하지 않으면 사용자가 애플리케이션을 처음 실행할 때 무서운 "알 수 없는 게시자" 경고 대화 상자가 표시됩니다.로 서명했다면 신뢰할 수 있는 기관의 인증서, 그러면 덜 무서운 대화상자가 표시됩니다.내가 아는 한, 직접 생성한 인증서로 서명해도 "알 수 없는 게시자" 경고에 영향을 미치지 않습니다. Comodo의 인스턴트 SSL 대화 상자의 예가 있습니다.

좀 더 미묘한 차이가 있습니다.여러 애플리케이션에서 공유할 수 있는 GAC(전역 어셈블리 캐시)에 어셈블리를 설치하려면 먼저 어셈블리에 서명해야 합니다.서명은 CAS(코드 액세스 보안)에 필수적이지만 CAS를 작동시킬 수 있는 사람을 찾지 못했습니다.나는 GAC와 CAS가 모두 귀하가 직접 생성한 인증서와 잘 작동한다고 확신합니다.

실행 파일이 강력한 이름의 어셈블리를 기대하기 때문에 도움이 됩니다.이는 누군가 귀하의 어셈블리를 악의적으로 다른 어셈블리로 대체하는 것을 방지합니다.또한 사용자는 강력한 이름을 기반으로 어셈블리 CAS 권한을 부여할 수도 있습니다.

.pfx 파일을 배포해서는 안 된다고 생각합니다. 어셈블리를 사임할 때 안전하게 보관하세요.

PFX 파일에는 개인 키가 포함되어 있으므로 비밀로 유지하는 것이 중요합니다.

해당 키가 다른 사람에게 공개되면 누구나 귀하를 가장하는 어셈블리나 프로그램에 서명할 수 있습니다.

Windows의 관점에서 귀하의 이름을 어셈블리와 연결하려면 신뢰할 수 있는 기관에서 서명한 디지털 인증서(귀하의 이름이 포함된 PFX 파일 부분)를 얻어야 합니다.

실제로는 동일한 정보를 포함하는 새 인증서를 받게 됩니다.

이 인증서에 대한 비용을 지불해야 합니다(아마 매년). 인증 기관 (여권이나 운전 면허증, 국내 청구서 사본을 팩스로 보낸 후) 귀하의 존재를 효과적으로 보증합니다.

서명은 어셈블리를 고유하게 식별하는 데 사용됩니다.자세한 내용은 어떻게:어셈블리 서명(Visual Studio).

모범 사례 측면에서 어셈블리 이름이 다른 한 동일한 키를 사용하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top