2012-12-26 5 views
1

내 질문에 대한 답변은 순전히 이론적 인 것입니다. 여러 사이트를 지원하는 CMS를 만들고 싶습니다.코드를 사용하여 SSL을 동적으로로드하십시오.

내가 지금까지 알아낼 수 없었던 질문은 다음과 같습니다. https 프로토콜 용 SSL 인증서를 호스팅 인터페이스 또는 iis에 연결하는 대신 코드 숨김에서 어떻게 첨부합니까? 자체 (주요 문제는 모든 사이트에 대해 다른 SSL 인증서를 필요로하며 최대 5 개의 도메인을 허용하는 하나의 인증서로 그룹화하고 여전히 동일한 엔터티라고 말합니다)

+0

다른 포트에서 각 사이트를 실행 하시겠습니까? – jglouie

+0

@jglouie 또는 IP 주소. – mgnoonan

+0

CMS 응용 프로그램을 SSL로 구분할 것입니다 (배포 관련 문제). SSL 인증서가 만료됨을 기억하십시오. 그걸 관리 할거야? –

답변

2

이것은 해결할 수 없습니다 ASP.NET 수준.

이유는 HTTPS 요청에서 클라이언트가 HTTP 요청을 보내기 전에 SSL 핸드 셰이크 (인증서가 제공됨)가 수행되기 때문에 도메인을 알 수 있기 때문입니다.

유일한 예외는 클라이언트가 SSL 요청에서 원하는 도메인을 지정할 수 있도록하는 TLS의 서버 이름 표시 확장입니다. 그러나이 확장은 많은 클라이언트에서 지원되지 않으며 아직 사용되는 SSL3 프로토콜 버전에서는 제공되지 않습니다. 그리고이 확장 기능을 사용하더라도 현재 인증서를 결정하는 것은 SSL 서버입니다.

1

유진 (Eugene)이 언급했듯이 SSL 인증서를 관리하는 것은 ASP.Net의 수준을 넘어선 다. 그러나 IIS7 (및 그 이상)에 대한 명령 줄 도구를 실행하여 인증서를 관리 할 수 ​​있습니다.

예 : (쉘 명령 - 보안 권한이 중요 함) : appcmd. "프로토콜 = 'https', bindingInformation = '* : 443 :']"/ 커밋 : apphost

위젯은 다음과 같이 구성 할 수 있습니다.

System.Security.Cryptography.X509Certificates.X509Certificate 네임 스페이스도 유용 할 수 있습니다.

관련 문제