내가 알고 싶은 것은 설정 파일에서 연결 문자열을 암호화하는 확실한 방법입니다..Net 암호화
기계 수준의 암호화를 사용하여, 사람이 내 서버가 연결 문자열의 내용을 읽을 수있는 작은 닷넷 프로그램을 작성 액세스 할 수 없습니다 : 여기 내 질문은?
엔터프라이즈 환경의 사용자 컴퓨터에 응용 프로그램을 배포하고 응용 프로그램에 구성 파일에 연결 문자열이있는 경우 응용 프로그램 만 해독 할 수 있도록하려면 어떻게해야합니까? 이 시나리오는 ClickOnce 배포 시나리오에서 특히 흥미 롭습니다. 필자는 게시자 서버에서 암호화되지 않은 구성을 저장하고 처음으로 응용 프로그램을 다운로드, 설치 및 실행할 때 컴퓨터 수준에서 암호화하는 방법에 대해 읽었습니다. 이것은 나에게 너무 잘못 들린다. 즉, 와이어를 통해 보호되지 않은 연결 문자열과 다운로드 및 응용 프로그램 실행 사이에 짧은 시간 동안 앉아 있지 않은 연결 문자열.
공개 키와 개인 키가 있고, 앱에 서명하고, 설정 파일을 키로 암호화 할 수 있습니까? 사용자가이를 실행하면 서명 된 응용 프로그램에서만 암호 해독이 가능합니까?
ClickOnce를 사용하고 있기 때문에 버전 #이 변경되지 않으면 ClickOnce가 변경 사항을 감지하지 않기 때문에 암호화 된 중요한 정보가 코드에 포함되거나 포함될 수 있습니다. 따라서 연결 문자열을 변경하면 다시 컴파일해야 app.config의 지점이 음소거됩니다. 설정 파일을 사용하여 서버, 클라이언트 및 그 사이의 연결 문자열을 보호하기 위해 다른 방법을 사용할 수 있습니까?
첫 번째 질문에 대해 자세히 설명해 주실 수 있습니까? "기계 수준"암호화 란 무엇입니까? – nightcoder
내가 아는 한, 내장 암호화를 사용하여 컴퓨터 수준 및 사용자 수준에서 암호화 할 수 있습니다. 예를 들어, configSection.SectionInformation.ProtectSection ("RSAProtectedConfigurationProvider"); 또는 aspnet_regiis.exe –
아마도 어제 물어 본 이전 질문 (http://stackoverflow.com/questions/890396/click-once-how-to-encrypt-connection-strings)보다 더 자세히 설명하는 것이 좋습니다. 다르게 질문하는 중복 된 질문을 만드십시오. – Pwninstein